How do I install and configure a DHCP server?
The first thing You need to do is install the packages we need.
Open up a terminal and type:
sudo apt-get install isc-dhcp-server
There are two main files /etc/default/isc-dhcp-server
and /etc/dhcp/dhcpd.conf
which we will need to configure so lets take the first.
Open up a terminal and using your favorite text editor type:
sudo vim /etc/default/isc-dhcp-server
You should get the following:
#Defaults for dhcp initscript
#sourced by /etc/init.d/dhcp
#installed at /etc/default/isc-dhcp-server by the maintainer scripts
#
#This is a POSIX shell fragment
#
#On what interfaces should the DHCP server (dhcpd) serve DHCP requests"
#Separate multiple interfaces with spaces, e.g. “eth0 eth1".
INTERFACES="eth0"
Replace eth0 above with the name of your network interface that you want the server to lease addresses on. Onto the next file.
Open up a terminal and type:
sudo vim /etc/dhcp/dhcpd.conf
which should give you the output below.
#
#Sample configuration file for ISC dhcpd for Debian
#
#Attention: If /etc/ltsp/dhcpd.conf exists, that will be used as
#configuration file instead of this file.
#
#
....
option domain-name “example.org”;
option domain-name-servers ns1.example.org, ns2.example.org;
option domain-name “comtech.com”;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.150 10.0.0.253;
option routers 10.0.0.2;
option subnet-mask 255.255.255.0;
option broadcast-address 10.0.0.254;
option domain-name-servers 10.0.0.1, 10.0.0.2;
option ntp-servers 10.0.0.1;
option netbios-name-servers 10.0.0.1;
option netbios-node-type 8;
......
}
This needs a little bit of explaining.
- Adjust your settings according to your network requirements.
- The option domain name is your dns zone name. For example mine is set to comtech.com.
- Range should be the range of ip addresses that you want the server to give out to clients.
Now restart the dhcp service by typing:
sudo service isc-dhcp-server restart
Thats it!! Your dhcp server should be running, however it is best to check. Open up a terminal and type:
sudo netstat -uap
which will show you something like the following (look for dhcpd
, nmbd
, and named
):
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
udp 0 0 10.0.0.255:netbios-dgm *:* 1016/nmbd
udp 0 0 10.0.0.255:netbios-ns *:* 1016/nmbd
udp 0 0 *:bootps *:* 4525/dhcpd
udp 0 0 *:netbios-dgm *:* 1016/nmbd
udp 0 0 *:netbios-ns *:* 1016/nmbd
udp 0 0 chris-desktop:domain *:* 1273/named
udp 0 0 chris-desktop.lo:domain *:* 1273/named
udp 0 0 chris-deskt:netbios-dgm *:* 1016/nmbd
udp 0 0 chris-deskto:netbios-ns *:* 1016/nmbd
udp6 0 0 [::]:domain [::]:* 1273/named
Additional things can be included in the accepted answer
Assign static IP before starting isc-dhcp-server service .
You can reserve IP for devices like printers and linux machines by adding MAC id in the below format inside the particular subnet.
------ host bla1 { hardware ethernet DD:GH:DF:E5:F7:D7; fixed-address 10.0.0.10; } ----
Dhcp3-server Community Wiki
Ubuntu DHCP server