140 likes | 322 Views
DHCP. -Ameeta and Haripriya -cmsc 691x. DHCP. Dynamic Host Configuration Protocol It controls vital networking parameters of hosts with the help of the server Its an extension of BOOTP Its backward compatible with BOOTP
E N D
DHCP -Ameeta and Haripriya -cmsc 691x
DHCP • Dynamic Host Configuration Protocol • It controls vital networking parameters of hosts with the help of the server • Its an extension of BOOTP • Its backward compatible with BOOTP • existing BOOTP devices can communicate with DHCP servers and allow the DHCP requests to cross routers running BOOTP forwarders • Upgrading is easy
DHCP CLIENT SETUP • Download dhcpcd from one of the following sites • ftp://metalab.unc.edu/pub/Linux/system/network/daemons • ftp://ftp.phystech.com/pub/ • Unpack it • Tar –zvxf dhcpd-1.3.18pl1.tar.gz • Cd into the directory and make dhcpcd • Cd dhcpcd-1.3.18pl1 • Make • Install it • Make install
DHCP CLIENT SETUP • /etc/dhcpc will be created . • DHCPcd will store the DHCP information. • dhcpcd will be copied into /usr/sbin • To make system initialize during DHCP during boot type cd /etc/rc.d • Then do “mv rc.inet1 rc.inet1.OLD” • This moves old network initialization script into “rc.inet1.OLD” • Create the new rc.inet1 script. • Save it and reboot the computer.
Sample code in rc.net • #!/bin/sh • # • # rc.inet1 This shell script boots up the base INET system. • HOSTNAME=`cat /etc/HOSTNAME` • #This is probably not necessary but I will leave it in anyways • # Attach the loopback device. • /sbin/ifconfig lo 127.0.0.1 /sbin/route add -net 127.0.0.0 netmask 255.0.0.0 lo # IF YOU HAVE AN ETHERNET CONNECTION, use these lines below to configure the # eth0 interface. If you're only using loopback or SLIP, don't include the # rest of the lines in this file • . /usr/sbin/dhcpcd
DHCP CLIENT SETUP • After machine reboots the network interface should be configured. • Type ifconfig • If we have some normal no under inet addr that means we are set. • One final thing is we need to specify our nameservers. • Two ways to do it: • Ask the provider for the address of the nameserver and then put those in “/etc/resolv. conf” • Or DHCPcd will obtain the list from DHCP server and will build resolv.conf in “/etc/dhcpc”.
DHCP CLIENT SETUP • Make a link from “/etc/dhcpc/resolv.conf” to “/etc/resolv.conf by using: ln –s /etc/dhcpc/resolv.conf /etc/resolv.con • This was all about setting up the client for DHCP.
DHCP Server Setup • Download the DHCP server from ftp://ftp.isc.org/isc/dhcp/. • Unpack it . • cd into the distribution directory and type “./configure”. • Type “make” • Type “make install”. • After installing type “ifconfig –a”. • If the resulting output does not say MULTICAST then we must reconfigure the kernel and add multicast support.
DHCP Server Setup • Add route for 255.255.255.255 • Type “route add –host 255.255.255.255 dev eth0” • If we get a message “255.255.255.255 : Unknown host” • In /etc/hosts files add “255.255.255.255 all-ones”. • Then do,” route add –host all-ones dev eth0” • Eth0 is the name of the network device you use. • If it differs change appropriately.
DHCP Server Setup • To configure DHCPd create or edit “/etc/dhcpd.conf”. • There is a graphical interface for dhcpd configuration under KDE called “kcmdhcpd” . • It is very similar to DHCP configurator on Windows NT. • To configure by hand instructions are discussed below. • To assign IP addresses randomly the settings in /etc/dhcpd.conf will be as shown. • A sample /etc/dhcpd.conf will contain:
DHCP Server Setup. • #sample /etc/dhcpd.conf • default-lease-time 600; • max-lease-time 7200; • option subnet-mask 255.255.255.0; • option broadcast-address 192.168.1.255; • option routers 192.168.1.254; • option domain-name-servers 192.168.1.1, 192.168.1.2; • option domain name “mydomain.org”; • subnet 192.168.1.0 netmask 255.255.255.0 { • range 192.168.1.10 192.168.1.100; • range 192.168.1.150 192.168.1.200; • }
DHCP Server Setup • We can also assign specific IP addresses based on the client’s ethernet address. • Eg. host haagen { • hardware ethernet 08:00:2b:4c:59:23; • fixed-address 192.168.1.222; • } • This will assign IP address 192.168.1.222 to a client with the ethernet address mentioned above. • Create the dhcpd.leases file which has information about current leases.
DHCP Server Setup • Do “touch /var/state/dhcp/dhcpd.leases” to create empty dhcpd.leases file. • Invoke the DHCP server by typing “/usr/sbin/dhcpd” • This will invoke dhcpd on etho device. • To verify everything is working fine : • Turn on the debugging mode • Put the server in foreground. • “/usr/sbin/dhcpd –d –f “ • Then boot one of the clients and check out console of server.
DHCP Server Setup • We would see no of debugging messages coming up. • If everything is fine then the setup is done. • You can quit dhcpd. • If we want dhcpd to start at boot-up include dhcpd in “/etc/rc.d/rc.local”. • Now we are done with DHCP Server Setup.