Set up a dhcp server in centos
1. Install dhcp Software
[root@dns-server ~]# yum install dhcp -y
Ii. Configure dhcp Parameters
[Root @ dns-server ~] # Cat/etc/dhcp/dhcpd. conf ## DHCP Server Configuration file. # see/usr/share/doc/dhcp */dhcpd. conf. sample # see 'man 5 dhcpd. conf '# subnet 192.168.3.0 netmask 255.255.255.0 {# this is to set the ip network segment and subnet mask range 192.168.3.10 192.168.3.40; # automatically assigned ip address segment option domain-name-servers 192.168.3.1; # dns server address option domain-name "dns.test.com"; # dns server name option routers 192.168.3.254; # gateway option broadcast-address 192.168.3.255 ; # Broadcast address default-lease-time 600; max-lease-time 7200;} [root @ dns-server ~] #/Etc/init. d/dhcpd start
3. Test on the client
C: \ Documents ents and Settings \ Administrator> ipconfigWindows IP ConfigurationEthernet adapter local Connection: Connection-specific DNS Suffix.: dns.test.com IP Address ............: 192.168.3.10 Subnet Mask ...........: 255.255.255.0 Default Gateway .........: 192.168.3.254C: \ Documents ents and Settings \ Administrator>
Iv. dhcp parameter Template
[root@dns-server ~]# cat /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample # dhcpd.conf## Sample configuration file for ISC dhcpd## option definitions common to all supported networks...option domain-name "example.org";option domain-name-servers ns1.example.org, ns2.example.org;default-lease-time 600;max-lease-time 7200;# Use this to enble / disable dynamic dns updates globally.#ddns-update-style none;# If this DHCP server is the official DHCP server for the local# network, the authoritative directive should be uncommented.#authoritative;# Use this to send dhcp log messages to a different log file (you also# have to hack syslog.conf to complete the redirection).log-facility local7;# No service will be given on this subnet, but declaring it helps the # DHCP server to understand the network topology.subnet 10.152.187.0 netmask 255.255.255.0 {}# This is a very basic subnet declaration.subnet 10.254.239.0 netmask 255.255.255.224 { range 10.254.239.10 10.254.239.20; option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;}# This declaration allows BOOTP clients to get dynamic addresses,# which we don't really recommend.subnet 10.254.239.32 netmask 255.255.255.224 { range dynamic-bootp 10.254.239.40 10.254.239.60; option broadcast-address 10.254.239.31; option routers rtr-239-32-1.example.org;}# A slightly different configuration for an internal subnet.subnet 10.5.5.0 netmask 255.255.255.224 { range 10.5.5.26 10.5.5.30; option domain-name-servers ns1.internal.example.org; option domain-name "internal.example.org"; option routers 10.5.5.1; option broadcast-address 10.5.5.31; default-lease-time 600; max-lease-time 7200;}# Hosts which require special configuration options can be listed in# host statements. If no address is specified, the address will be# allocated dynamically (if possible), but the host-specific information# will still come from the host declaration.host passacaglia { hardware ethernet 0:0:c0:5d:bd:95; filename "vmunix.passacaglia"; server-name "toccata.fugue.com";}# Fixed IP addresses can also be specified for hosts. These addresses# should not also be listed as being available for dynamic assignment.# Hosts for which fixed IP addresses have been specified can boot using# BOOTP or DHCP. Hosts for which no fixed address is specified can only# be booted with DHCP, unless there is an address range on the subnet# to which a BOOTP client is connected which has the dynamic-bootp flag# set.host fantasia { hardware ethernet 08:00:07:26:c0:a5; fixed-address fantasia.fugue.com;}# You can declare a class of clients and then do address allocation# based on that. The example below shows a case where all clients# in a certain class get addresses on the 10.17.224/24 subnet, and all# other clients get addresses on the 10.0.29/24 subnet.class "foo" { match if substring (option vendor-class-identifier, 0, 4) = "SUNW";}shared-network 224-29 { subnet 10.17.224.0 netmask 255.255.255.0 { option routers rtr-224.example.org; } subnet 10.0.29.0 netmask 255.255.255.0 { option routers rtr-29.example.org; } pool { allow members of "foo"; range 10.17.224.10 10.17.224.250; } pool { deny members of "foo"; range 10.0.29.10 10.0.29.230; }}[root@dns-server ~]#