bootp:boot protocol(DHCP的前身)
应用于早期的无盘工作站,由于早期硬盘很贵,所以网吧中都以此种形式提供操作系统。
无盘客户端的网卡较复杂,在启动时会基于bootp协议向外请求IP地址。
其特性是:当一个IP地址被分配给一个客户端时,就永久性的属于这个客户端,所以是半自动
DHCP:Dynamic Host Configuration Protocol
由于bootp的特性也决定了其缺点,所以DHCP引入了租约的概念。
使用udp报文:
server:67/udp
client:68/udp
IP申请步骤:
由于4个步骤客户端一直没有IP,所以发出的都是广播信息。
1、client发出"dhcp discover"到192.168.1.255
2、server(所有能接到请求的服务器)给予客户端"dhcp offer"响应,也就是给予IP。
3、client回送"dhcp request"给server信息,说我请求使用你的IP。
(client会优先使用最快给予响应的server的IP,认为它离自己最近,
而此时其他服务器也知道client没有使用它们提供的IP了)
4、server发送"dhcp ack"给client,说我同意你使用这个IP地址了。
DHCP的续租:
50%时:按照RFC规定就要求server续租。
75%时:也就是剩余时间的50%时,继续要求续租。
87.5%时:再次要求续租,如果仍然不成功,就会重新向192.168.1.255网络发出"dhcp discover"
DHCP地址保留:
类似于bootp协议,在客户端每次申请时,都会得到同一个IP地址。
但是这个IP地址不在DHCP的地址池中。
DHCP配置文件:
RHEL5:/etc/dhcpd.conf
RHEL6:/etc/dhcp/dhcpd.conf
配置文件详解:
/etc/dhcp/dhcpd.conf
options 全局选项,是每个subnet可以继承的属性,如不想继承,则可以再subnet自定义。
options和subnet之外的内容,属于DHCP服务器自己的属性。
subnet 192.1681.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200; 定义范围
option routers 192.168.1.1; 定义网关
option domain-name-servers 8.8.8.8; 定义DNS
} 这里不同于DNS,不能使用分号
host www {
hadware ethernet 0:0:c0:5d:bd:95; 指定主机的MAC
fixed-address 192.168.1.253; 指定主机的固定IP
}
服务器端租约保存位置:
/var/lib/dhcpd/dhcpd.leases
客户端测试获取IP的命令,会显示详细过程:
dhcpclient -d
获取IP时:
RHEL5:从地址池的最大地址开始。
RHEL6:从地址池的最小地址开始。