Ubuntu 18.10: DHCPサーバのisc-dhcp-serverをインストールする

isc-dhcp-serverをインストールして、DHCPサーバを立ち上げます。

1 isc-dhcp-serverをインストール

aptでisc-dhcp-serverをインストールします。

$ sudo apt install -y isc-dhcp-server

2 /etc/default/isc-dhcp-server

DHCPD向けの設定を追加します。 INTERFACESv4はDHCPを配るネットワークに接続されたネットワークインターフェース名です。お使いのネットワークインターフェース名に変更してください。

$ INTERFACESv4=eth0
$ sudo sed -e 's/^#DHCPD_CONF=/DHCPD_CONF=/g' \
     -e 's/^#DHCPD_PID=/DHCPD_PID=/g' \
     -e "s/INTERFACESv4=\"\"/INTERFACESv4=\"${INTERFACESv4}\"/g" \
     -i /etc/default/isc-dhcp-server

3 /etc/dhcp/dhcpd.conf

ドメイン名、DNSサーバのアドレス、ゲートウェイを定義します。 MACアドレス52:54:00:5e:7a:a4のマシンをIPアドレス192.168.11.250で定義します。DNSサーバをこのサーバのIPアドレスに設定します。

$ SERVER_IPADDR=$(hostname -I | awk '{ print $1 }')
$ cat <<EOF | sudo tee /etc/dhcp/dhcpd.conf
subnet 192.168.11.0 netmask 255.255.255.0 {
  option domain-name "hiroom2.com";
  option domain-name-servers ${BIND_SERVER_IPADDR};
  option routers 192.168.11.1;
}

host client {
  hardware ethernet 52:54:00:5e:7a:a4;
  fixed-address 192.168.11.250;
  option host-name "client.hiroom2.com";
}
EOF

4 isc-dhcp-serverの起動

systemctlで起動します。

$ sudo systemctl enable isc-dhcp-server
$ sudo systemctl restart isc-dhcp-server

5 動作確認

クライアント側で確認します。

IPアドレスが反映されました。

$ ip a s
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel
state UP group default qlen 1000
    link/ether 52:54:00:5e:7a:a4 brd ff:ff:ff:ff:ff:ff
    inet 192.168.11.250/24 brd 192.168.11.255 scope global dynamic
noprefixroute eth0
       valid_lft 42938sec preferred_lft 42938sec
    inet6 fe80::3af3:7f8b:9205:2e03/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

ホスト名が配布されています。

$ hostname -f
client.hiroom2.com

DNSサーバが配布されています。

$ cat /etc/resolv.conf
# Generated by NetworkManager
search hiroom2.com
nameserver 192.168.11.82