isc-dhcp-serverをインストールして、DHCPサーバを立ち上げます。
Table of Contents
1 isc-dhcp-serverをインストール
aptでisc-dhcp-serverをインストールします。
$ sudo apt install -y isc-dhcp-server
2 /etc/default/isc-dhcp-server
DHCPD向けの設定を追加します。INTERFACESはDHCPを配るネットワークに接続されたネットワークインターフェース名です。お使いのネットワークインターフェース名に変更してください。
$ INTERFACES=ens3
$ sudo sed -e 's/^#DHCPD_CONF=/DHCPD_CONF=/g' \
-e 's/^#DHCPD_PID=/DHCPD_PID=/g' \
-e "s/INTERFACES=\"\"/INTERFACES=\"${INTERFACES}\"/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で定義します。
$ 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 192.168.11.2;
option routers 192.168.11.1;
}
host dhcp-client {
hardware ethernet 52:54:00:5e:7a:a4;
fixed-address 192.168.11.250;
option host-name "dhcp-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: ens3: <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 ens3
valid_lft 42938sec preferred_lft 42938sec
inet6 fe80::3af3:7f8b:9205:2e03/64 scope link noprefixroute
valid_lft forever preferred_lft forever
ホスト名が配布されています。
$ hostnamectl
Static hostname: localhost.localdomain
Transient hostname: dhcp-client.hiroom2.com
Icon name: computer-vm
Chassis: vm
Machine ID: 0a96af67dc5347faae90e4c4d1081c20
Boot ID: a3ca7c01af46473ca57a8a326076ceb2
Virtualization: kvm
Operating System: Ubuntu 18.04 LTS
Kernel: Linux 4.15.0-20-generic
Architecture: x86-64
DNSサーバが配布されています。
$ systemd-resolve --status ens3
Link 2 (ens3)
Current Scopes: DNS
LLMNR setting: yes
MulticastDNS setting: no
DNSSEC setting: no
DNSSEC supported: no
DNS Servers: 192.168.11.2
DNS Domain: hiroom2.com