1.Dynamic Host Configuration Protocol动态主机配置协议;
2.用处
方便自动分配,不用很多台服务器手动配IP地址,如企业办公,WIFI等,但也是环境需要,有些IP不能来回变动。
3.DHCP工作报文(6报文)
DHCP DISCOVER 客户端用来寻找DHCP服务器
DHCP OFFER 服务器用来响应前面DISCOER报文的,此报文携带各种配置信息
DHCP REQUEST 客户端请求配置确认,或者续借租期
DHCP ACK 服务器对REQUEST报文的确认响应
DHCP NAK 服务器对REQUEST报文的拒绝响应
DHCP RELEASE 客户端需要释放地址用来通知服务器
4.工作原理 (如下图)
4.1 客户端发送discover广播报文来发现局域网的dhcp服务器
4.2 服务器接收到发送的报文后,根据自己的地址池剩下的地址分配给客户端一个地址
4.3 客户端根据先收到的OFFER报文来决定选用那个服务器提供的服务器
4.3.1 之所以广播就是可能有多个DHCP服务器,服务端确定报文就响应ACK,拒绝的也要回应NAK
4.4服务器收到REQUEST报文后,确认地址池的这个地址没有被分配,如果没有被分配就NAK
5 DHCP租期更新
5.1 当租期到50%,DHCP客户端请求更新IP地址租约,默认租期为10分钟
5.1.1 客户端发送Request报文,请求更新租期
5.1.2 服务端收到后,如果改地址可用就响应ACK,不可用就NAK
5.2 当租期到75%,DHCP客户端再次请求更新IP地址租约
服务器响应跟前面一样,但是客户端如果收到NCK,则获得169.254.0.1~169.254.255.255之间的地址,再每5分钟更新租约;
6.DHCP地址释放
6.1如果IP租约到期前没有收到服务器响应,客户停止该IP地址
6.2如果客户端不在使用分配的地址,也可以主动向服务器发送RELEASE报文,释放IP地址;
7.DHCP 配置
服务端:
yum -y install dhcp
vim /etc/dhcp/dhcp.conf
#日志,默认/var/log/boot.log 有的存在 message可以自己调整,找不到就grep -r DHCP /var/log/
log-facility local7;
#动态分配
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.100 10.0.0.200; #范围;
option routers 10.0.0.2;#网关;
option domain-name-servers 223.5.5.5;#DNS;
option broadcast-address 10.0.0.255;#广播地址;
default-lease-time 600;#默认租期10分钟;
max-lease-time 7200;#最大租期2H;
systemctl start dhcpd
systemctl enable dhcpd
#默认服务器如果时双卡都提供全局DHCP,可以指定接口提供;
vim /etc/sysconfig/dhcp
#DHCPDARGS="eth1"
systemctl restart dhcpd
客户端:yum -y install dhcp
[root@dhcp-client ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
NAME=eth1
DEVICE=eth1
ONBOOT=yes
##可以查看ip分配情况,网关DNS等,可以释放再获取
dhclient -r #释放
dhclient #获取
8.指定分配固定地址:如打印机文件服务器等;
vim /etc/dhcp/dhcp.conf
host Server-A {
hardware ethernet 00:0c:29:43:ab:df;#mac地址
fixed-address 10.0.0.10;#固定地址
}