LINUX中的DHCP配置

一、DHCP的八种数据包

Dhcp discover ; dhcp offer ; dhcp request ; dhcp ack ;
Dhcp NAK ; dhcp Release; dhcp Decline ; dhcp Inform

1)DHCP discover:客户端请求地址时,并不知道DHCP服务器的位置,因此DHCP客户端会在本地网络内以广播方式发送请求报文,即discover报文,目的是发现网路中的DHCP服务器,所有收到discover报文的DHCP服务器都会发送回应报文,DHCP客户端据此可以知道网络中存在的DHCP服务器的位置。
2)DHCP offer:DHCP服务器收到Discover报文后,就会在所配置的地址池中查找一个合适的IP地址,加上相应的租约期限和其他配置信息(如网关、DNS服务器等),构造一个Offer报文,发送给用户,告知用户本服务器可以为其提供IP地址。< 只是告诉client可以提供,是预分配,还需要client通过ARP检测该IP是否重复>
3)DHCP Request:
DHCP客户端可能会收到很多Offer,所以必须在这些回应中选择一个。Client通常选择第一个回应Offer报文的服务器作为自己的目标服务器,并回应一个广播Request报文,通告选择的服务器。DHCP客户端成功获取IP地址后,在地址使用租期过去1/2时,会向DHCP服务器发送单播Request报文续延租期,如果没有收到DHCP ACK报文,在租期过去3/4时,发送广播Request报文续延租期。
4)DHCP ACK:
DHCP服务器收到Request报文后,根据Request报文中携带的用户MAC来查找有没有相应的租约记录,如果有则发送ACK报文作为回应,通知用户可以使用分配的IP地址。
5) DHCP NAK:
如果DHCP服务器收到Request报文后,没有发现有相应的租约记录或者由于某些原因无法正常分配IP地址,则发送NAK报文作为回应,通知用户无法分配合适的IP地址。
6) DHCP Release:
当用户不再需要使用分配IP地址时,就会主动向DHCP服务器发送Release报文,告知服务器用户不再需要分配IP地址,DHCP服务器会释放被绑定的租约。
7) DHCP Decline:
DHCP客户端收到DHCP服务器回应的ACK报文后,通过地址冲突检测发现服务器分配的地址冲突或者由于其他原因导致不能使用,则发送Decline报文,通知服务器所分配的IP地址不可用。
8) DHCP Inform:
DHCP客户端如果需要从DHCP服务器端获取更为详细的配置信息,则发送Inform报文向服务器进行请求,服务器收到该报文后,将根据租约进行查找,找到相应的配置信息后,发送ACK报文回应DHCP客户端。< 极少用到>

二、Linux中配置DHCP
 关闭防火墙和selinux
 
1..软件安装 yum install dhcp -y
DHCP服务器端的端口:67   DHCP客户端端口:68
2. 通过示例文件
Vim  /usr/share/doc/dhcp*/dhcpd.conf.example
vim /etc/dhcp/dhcpd.conf

ddns-update-style interim;   //dns动态更新模式
ignore client-updates;    //这个选项是不允许客户机更新 DNS 记录。当然,也可能允许,但会有一点问题。

#子网配置段
#声明网段和掩码
subnet 192.168.40.0 netmask 255.255.255.0 {  #指定地址池范围
    range dynamic-bootp 192.168.40.130 192.168.40.254; #指定网关    option routers 192.168.40.1;    #指定掩码
    option subnet-mask 255.255.255.0; #指定DNS
    option domain-name-servers 114.114.114.114; #默认租约
    default-lease-time 21600; #最大租约
    max-lease-time 43200;
    }
案例一:单网段配置
将客户端,主机dhcp选项取消
[root@localhost 桌面]# vim /etc/dhcp/dhcpd.conf
ddns-update-style interim;
ignore client-updates;
subnet 192.168.40.0 netmask 255.255.255.0 {
option routers 192.168.40.1;
option subnet-mask 255.255.255.0;
option domain-name-servers 114.114.114.114;
range dynamic-bootp 192.168.40.200 192.168.40.254;
default-lease-time 60;
max-lease-time 60;
}
systemctl restart dhcpd
在客户端获取ip地址

案例二:固定IP配置

[root@localhost 桌面]# vim /etc/dhcp/dhcpd.conf
host boss {
  hardware ethernet 00:0c:29:17:b4:32;
  fixed-address 192.168.221.250;
}
host ns2 {
  hardware ethernet 00:0c:29:7f:32:10;
  fixed-address 192.168.40.249;
}

案例三: 多网段配置

在虚拟机中添加多个网卡

Lsof -i:67 查看指定端口的信息

发布了18 篇原创文章 · 获赞 7 · 访问量 544

猜你喜欢

转载自blog.csdn.net/weixin_44029504/article/details/102707102