目录
一、DHCP是什么?
二、DHCP服务器地址池是如何正确分配的?
三、DHCP工作原理(广播域内)
四、DHCP中继代理原理(广播域外)
五、更新IP租约
六、超级作用域
七、DHCP配置案例-中继
一、DHCP是什么?
动态主机配合协议,使用UDP的67(目)、68(源)端口号;为网络上的客户端提供IP地址、子网掩码、网关、DNS等网络配置参数。从而简化为多台电脑配置IP地址等参数的麻烦。
二、DHCP服务器地址池是如何正确分配的?
DHCP服务器会查看客户端发来的Discover报文中,giaddr字段选项内是否指出了DHCP中继服务器的IP地址,如果为空说明发送此报文的客户机与自己所处同一个网段,此时DHCP服务器就会根据自身接收广播报文的接口所属的网段来选择相应的地址池分给客户机;如果在giaddr字段(标识客户端所在网段)中标明了中继代理的IP地址,此时DHCP服务器就会根据此IP地址来选择相应的地址池,把池中的IP地址分配给网络上其它网段客户机。
三、DHCP工作原理(广播域内)
dhcp客户机在进行域名解析时首先查找本地hosts文件里设置的域名与IP的映射如果没有找到相关的域名解析,就会向本地的DNS域名缓存内查看是否有相应的域名解析如果缓存内也没有,在向设置的DNS服务器去获取域名解析。
- DHCP DISCOVERR:客户端开始DHCP过程发送的包,是DHCP的开始;源ip是0.0.0.0、源mac自身mac,目的ip是255.255.255.255、目的mac全f。广播报文。
- DHCP OFFER:服务器接收到DHCP DISCOVER之后做出的响应。它包括预分配给客户端的IP,客户端的mac、租约过期时间、DHCP服务器的识别符以及其它信息;目的IP是预分配给客户端的IP地址,目的mac 是客户端mac。单播报文。
- DHCP REQUESET: 客户端对DHCP服务器发出的DHCP OFFER做出的响应。在客户端续租时同样会使用。广播报文(1.通告其它DHCP服务器释放预分配给自身的IP 2.选择自己挑选使用的IP告诉服务器)。
- DHCP ACK:服务器在接收到客户端的DHCP REQUEST之后发出的成功确认报文。此过程之后客户端才确认分配给自己的IP和其它配置选项。单播报文(目的ip为预分配给客户机的IP)。
- DHCP NAK:DHCP ACK 相反的报文,表示服务器拒绝了客户端的请求。
- DHCP RELEASE: 一般出现在客户端关机、下线等状况。这个报文将会使DHCP服务器释放掉发出此报文的客户端的IP地址。
- DHCP INFORM:客户端发出的向服务器请求一些其它选项配置的信息报文。
- DHCP DECLINE:当客户端发现服务器分配的IP地址无法使用(如IP地址冲突时),将发送此报文,通知服务器禁止使用该IP地址。
注意:在DHCP Discover 报文中,客户端会在请求地址时,一般会申请它之前使用过的地址,所以在option 50的字段中会存在上次使用的地址。如果该客户端所在的网络中此IP地址仍可用,服务器就可以准许该申请。
四、DHCP中继代理原理(广播域外)
1.DHCP客户端向网络中是发送的discover、request报文的(源IP地址为0.0.0.0、 源mac为自身mac;目的IP为255.255.255.255、目的mac为全f)
2.DHCP中继代理与DHCP服务器之间以单播的方式交互DHCP报文:DHCP代理发送给DHCP服务器的报文(源IP为连接客户机的网关地址(dhcp服务器通过此地址来分配相应的全局地址池ip给客户端)、目地IP为DHCP服务器的IP。
3.DHCP服务器发送给DHCP的报文:源IP为自身接口IP,目的IP为dhcp中继代理IP。
4.DHCP中继代理回复给客户端的dhcp报文:源IP为DHCP服务器IP,目的IP为预分配给客户机的IP、目的mac为客户机的mac地址(在收到DHCP服务器的报文里包含有客户机的mac地址)
五、更新IP租约
1.IP地址使用租期到了一半1/2,客户机单播向DHCP服务器发起续租请求;如果服务器没有响应,租期使用到了7/8,客户机会向服务器广播发送续租消息,如果收到了服务器的Ack的单播消息,则继续使用此IP地址,如果未收到服务器的ack消息,则租期到期后IP地址将会被释放掉。重新发送Discover广播报文申请IP地址。
六、超级作用域
如果一台DHCP服务器想给和自身处于同一个局域网内的多台客户机分配不同网段的IP地址,可以通过设置超级作用域来实现。
七、DHCP配置案例-中继
某公司现需搭建一台DHCP-ISPsrv服务器(192.168.200.254),为内网外网的客户机提供IP地址等参数,配置参数如下:
内部子网 InsideCLI |
192.168.100.101~192.168.100.200 192.168.100.66(固定IP与mac绑定) |
外部子网 OutSideCLI |
192.168.200.101~192.168.200.200 192.168.200.66(固定IP与mac绑定) |
内部网关 |
192.168.100.1 |
外部网关 |
192.168.200.1 |
DNS服务地址 |
8.8.8.8和192.168.100.254 |
搭建物理环境使RouteSRV作为路由器,分别连接内外网。
ISP-SRV配置:
1.安装DHCP服务。
2.编辑DHCP服务的空配置文件/etc/dhcp/dhcpd.conf 。可以参照DHCP配置 文件的模板文件/usr/share/doc/dhcp-server/dhcpd.conf.example的内容进行编辑 。
*在设置预分配给客户机子网IP地址池时,此配置文件中必须要有DHCP服务器网卡接口所属网络的IP子网的地址池,否则dhcp服务无法启动。因为dhcp在给同网段的主机分配IP地址时,是依据接收客户机报文网卡接口所属的IP网段来选择地址池分配给客户机的。
3.修改DHCP服务器网卡的IP地址与其dhcp配置文件中所声明直连网段的子网地址网段保持一致。
4.开启dhcp服务、防火墙放行dhcp流量、dhcpd.conf的安全上下文配置正确。
RouteSRV配置:
1.给网卡分别配置不同网段的IP地址来作为内外网的网关(在中继环境下,中继服务器在与dhcp服务器进行通信时所使用的源IP地址是连接内网的网关IP)。
2.通过编辑系统内核参数的,来使本机提供IP路由转发功能。
使用ping -S 192.168.100.1 192.168.200.254来测试路由转发功能是否生效。
3.安装dhcp服务,开启dhcp中继代理功能。
InsideCLI客户机测试:
修改内网客户机网卡获取IP地址的方式为自动获取,并通过dhclient ens160命令来使客户机发起dhcp广播报文,向外网的dhcp服务器获取Ip地址。查看获取IP结果正确,dhcp中继配置成功。
OutsideCLI客户机测试:
配置完成,同网段获取IP地址成功!
@声明:“山月润无声”博主知识水平有限,文章如有不妥之处欢迎广大IT爱好者指正,小弟定当虚心受教!