This article will describe installing isc-dhcp-server and running DHCP server.
Table of Contents
1 Install isc-dhcp-server
Install isc-dhcp-server with apt.
$ sudo apt install -y isc-dhcp-server
2 /etc/default/isc-dhcp-server
Add configuration for DHCPD. INTERFACES is a network interface name which is connected to a network which you try to provided 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
Define domain name, DHCP server IP address and gateway IP address. Mapping MAC address 52:54:00:c0:07:60 to IP address 192.168.11.128.
$ cat /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, 192.168.11.1; option routers 192.168.11.1; } host dhcp-client { hardware ethernet 52:54:00:c0:07:60; fixed-address 192.168.11.128; }
4 Run isc-dhcp-server
Run isc-dhpc-server with systemd.
$ sudo systemctl enable isc-dhcp-server $ sudo systemctl restart isc-dhcp-server
5 Execution result
Run the following command on client machine.
IP address is provided.
$ ip a s 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1 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 pfifo_fast state UP group default qlen 1000 link/ether 52:54:00:c0:07:60 brd ff:ff:ff:ff:ff:ff inet 192.168.11.128/24 brd 192.168.11.255 scope global dynamic ens3 valid_lft 43148sec preferred_lft 43148sec inet6 fe80::5054:ff:fec0:760/64 scope link valid_lft forever preferred_lft forever
DNS servers are provided.
$ cat /etc/resolv.conf # Generated by NetworkManager search hiroom2.com nameserver 192.168.11.2 nameserver 192.168.11.1