共同进步
分类: 系统运维
2015-12-21 12:43:37
(2)当DHCP 服务器监听到客户端发出的DHCP DISCOVER 广播后,它会从那些还没有租出的地址范围内选择可用的IP 及其他TCP/IP 设定以DHCP OFFER 数据包的形式发送给客户机。
(3)如果客户端收到网络上多台DHCP 服务器的响应,客户端会挑选最快的一个DHCP OFFER 并向网络发送一个DHCP REQUEST 广播封包,告诉所有DHCP 服务器它将使用哪一台服务器提供的IP 地址。
同时,客户端还会向网络发送ARP 广播数据包,查询网络上面有没有其他机器使用该IP 地址,如果发现该IP 地址已经被占用,客户端则会发送一个DHCP DECLINE 数据包给DHCP 服务器,拒绝接受其DHCP OFFER,并重新发送DHCP REQUEST信息。
注:实际上并不是所有DHCP 客户端都会无条件接受DHCP 服务器的响应,客户端可以保留自己的一些TCP/IP 设定,比如网关、DNS 地址
(4)将地址分配给客户端后,DHCP 服务器会发送一个DHCP ACK 消息,以确认IP 租约的正式生效,结束完整的DHCP 工作过程。
(5)DHCP 客户端成功地从服务器取得IP 地址之后,一般不需要再发送DHCP DISCOVER信息了,除非其租约已经到期或者IP 地址重新设定回0.0.0.0。此时客户端会直接使用已经租用到的IP 地址向为其发此IP 地址的DHCP 服务器发出DHCP REQUEST 信息,DHCP 服务器会尽量让客户端使用原来的IP 地址,如果没有特殊的情况,会直接响应DHCP ACK,允许客户端继续使用该IP 地址。如果该地址已经失效或者已经被其他主机使用了,服务器则会响应一个DHCP NACK 数据包给客户端,要求其重新执行DHCP DISCOVER。
注意:客户端执行DHCP DISCOVER 后,如果没有DHCP 服务器响应客户端的请求,客户端会随机使用169.254.0.0/16 网段中的一个IP 地址配置本机地址。
另外,除DHCP 客户端选中的服务器外,其他的DHCP 服务器都将收回曾提供的IP地址。
这个IP地址可以使用一半租期的时间,超过一半时间应续租,如果过了一半时间后找不到DHCP 服务器的话,可以再使用四分之一时间,然后就过期了。用户就不能通过此IP地址进行通信了
1、安装dhcp软件
[root@linux-test ~]# rpm -qa|grep dhcp
dhcp-devel-3.0.5-23.el5_5.2
dhcp-3.0.5-23.el5_5.2
2、dhcp配置
复制dhcdp配置模板到/etc目录下
cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
[root@linux-test ~]# cat /etc/dhcpd.conf
ddns-update-style interim; /*dhcp支持的dns动态更新方式, interim 和none都是代表不启用*/
ignore client-updates; /*忽略客户端DNS动态更新*/
filename "pxelinux.0"; ##开始启动文件的名称,应用于无盘工作站
next-server 172.16.1.100; ##引导文件所在服务器,应用于无盘工作站
subnet 172.16.1.0 netmask 255.255.255.0 { ##定义子网段
# --- default gateway
option routers 172.16.1.100; /*网关地址*/
option subnet-mask 255.255.255.0; /*子网掩码*/
# option nis-domain "localhost"; /*NIS服务器*/
# option domain-name "localhost"; /*域名*/
# option domain-name-servers 172.16.1.1; /*域名服务器*/
option time-offset -18000; # Eastern Standard Time##时区
# option ntp-servers 192.168.1.1; ##时钟同步服务器
# option netbios-name-servers 192.168.1.1;
range dynamic-bootp 172.16.1.200 172.16.1.208; ##IP地址范围
default-lease-time 21600; ##默认租约时间,单位为秒
max-lease-time 43200; ##最大租约时间,单位为秒
###如下为单个服务器分配指定ip
# we want the nameserver to appear at a fixed address
host ns {
next-server marvin.redhat.com; ##dhcp服务器
hardware ethernet 12:34:56:78:AB:CD; ##硬件类型为ethernet,绑定的mac地址
fixed-address 207.175.42.254; ##分配的ip地址
}
}
[root@linux-node3 ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)
DEVICE=eth0
BOOTPROTO=dhcp
ONBOOT=yes
重启网卡,让其自动获取ip地址
service network restart
查看配置:
[root@linux-node3 ~]# ifconfig -a
eth0 Link encap:Ethernet HWaddr 00:0C:29:00:0C:12
inet addr:172.16.1.208 Bcast:172.16.1.255 Mask:255.255.255.0
[root@linux-node2 dhcpd]# cat /var/lib/dhcpd/dhcpd.leases
lease {
interface "eth1";
fixed-address 172.16.1.129;
option subnet-mask 255.255.255.0;
option time-offset -18000;
option routers 172.16.1.1;
option dhcp-lease-time 21600;
option dhcp-message-type 5;
option domain-name-servers 192.168.1.1;
option dhcp-server-identifier 172.16.1.130;
option nis-domain "domain.org";
option domain-name "domain.org";
renew 1 2015/12/14 06:23:38; #租约开始时间
rebind 1 2015/12/14 09:11:38; #租约时间一半后开始续约
expire 1 2015/12/14 09:56:38; #续约不成功,再过四分之一时间过期
}