一般情况下,DHCP Server和DCHP Client都必须处于同一个网络中,这是因为DHCP的报文有些是以广播的形式发送,如果不位于同一个网络,则这些广播的报文就无法跨越三层路由设备传输。
而在有些情况下,DHCP服务必须跨越不同的网络,这时,我们就可以配置DHCP中继服务。DHCP中继,其实就是在与DHCP Server不同而又需要申请DHCP服务的网络内,设置一个中继器,中继器在该网络中代替DHCP Server服务器接收DHCP Client的请求,并将DHCP Client发给DHCP Server的DCHP报文,以单播的形式发送给DHCP Server。DHCP Server在收到由DHCP发送来的DHCP 报文后,同样会把响应的DHCP报文发送给DHCP 中继。这样,DHCP其实是充当了一个中间人的作用,起到了在不同的网络中运行DHCP的目的。
在这里,要注意的是,DHCP中继会对DHCP Client发送的报文的源目IP地址进行改动,将本来的广播报文改变成单播报文,以使得DHCP报文可以跨三层路由设备传输。
接下来,我讲利用华为eNSP模拟器,实地配置一个DHCP中继实验,实现DHCP功能,实验拓扑如下所示:
PC1需要使用DHCP的方式获取IP地址上网,但是现在网络中DHCP服务器为R2,与PC1不在一个网段内,现在要配置R1为DHCP中继器,以实现上述功能。
在R2上,配置DHCP Server相关配置命令如下:
ip pool DHCP_TEST gateway-list 192.168.1.100 network 192.168.1.0 mask 255.255.255.0 dns-list 1.1.1.1
network表明了DHCP服务中的Client可用地址池,gateway-list表示了给DHCP Client发送的网关,该IP地址不会分配给DHCP Client。
在接口G0/0/1上:
interface GigabitEthernet0/0/1 ip address 192.168.2.2 255.255.255.0 dhcp select global
dhcp select global表示在该接口上配置DHCP Server。一般来说,采用DHCP中继的方式配置,ip pool中中的network范围必须和DHCP中继处于一个子网内,负责该接口不会响应传送的DHCP请求。
interface GigabitEthernet0/0/0 ip address 192.168.1.100 255.255.255.0 dhcp select relay dhcp relay server-ip 192.168.2.2
上述命令中,dhcp select relay表示在这个接口上配置DHCP中继功能,dhcp relay server-ip 192.168.2.2则表明了DHCP Server的IP地址。
(三)新手配置DHCP中继易犯错误
在完成上述配置后,DHCP就能够正常工作了吗?
大家可以试一试,完成上述配置后,DHCP依然不能正常工作。这也是新手在配置DHCP中继时常常犯的错误。对于R1,目前已经能够正常运行DHCP中继功能,对于R2,也已经能够正常运行DHCP Server功能。
但是,很可惜,由于在R2收到R1发送的DHCP报文后,想要发送DHCP响应报文的时候,却发现自己的路由表中没有192.168.1.0网段的路由信息,因此,R2就不知道应该将该DHCP响应报文该发送给谁,因此R2就不会发DHCP响应报文。
为了解决上述问题,可以在R2上简单的配制一条静态路由,这样实验中的DHCP功能就正常了。配置命令如下:ip route-static 192.168.1.0 255.255.255.0 192.168.2.1
(一)DHCP Client与DCHP中继之间报文交互
(二)DHCP中继与DHCP Server之间报文交互
网工界市场认可度极高的华为认证,你考了吗?
拿下华为HCIE认证之后,你可以:
跨越90%企业的招聘硬门槛
增加70%就业机会
拿下BAT全国TOP100大厂敲门砖
体系化得到网络技术硬实力
技术大佬年薪可达30w+