思科设备DHCP服务器option 82选项与DHCP中继代理的问题
实验目的:
1.无中继代理时,DHCP向客户端发送地址段和接收接口地址相同的网段,如果不存在相同网段,就会丢弃请求数据包.
2.有中继代理时,服务器能够发送正确IP地址给客户端,是因为有一个被称为option 82的选项,这个选项只要DHCP请求数据包被中继后便会自动添加,此选项,中继路由器会在里面的giaddr位置写上参数,这个参数,就是告诉服务器,客户端需要哪个网段的IP地址才能正常工作。
实验设备:思科路由器
说明:无中继代理非常简单在这里不给出,此文章吃给出有中继代理的情况。
实验拓扑:
配置非常简单只给出R2和R4的部分配置:
-------------------------------R2---------------------------------------------------
interface FastEthernet0/0
ip address 12.1.1.2 255.255.255.0
ip helper-address 34.1.1.4
------------------------------R4---------------------------------------------------
ip dhcp excluded-address 12.1.1.2
ip dhcp excluded-address 10.1.1.1
!
ip dhcp pool ccie1
network 12.1.1.0 255.255.255.0
default-router 12.1.1.2
!
ip dhcp pool ccie2
network 100.1.1.0 255.255.255.0
default-router 100.1.1.1
分析:
先看R1的F0/0 发出的DHCP数据包:
从上图可以看出 relay agent ip address 没有设置。
在看从R2发出的dhcp数据包:
从上图可以看出relay agent ip address 已经设置成R2的F0/0 端口的IP,也就是收到R1dhcp请求的接口的IP .此数据包通过R3到底R4以后,R4通过查看relay agent ip address 的IP 和DHCP地址池,发现ccie1符合(12.1.1.0、24),就给R1分配了IP 的,假如没有符合的就丢弃这个数据包。
需要知道的是,经过中继后发来的DHCP请求包如果giaddr位置不是某个IP地址而是0.0.0.0的话,服务器是丢弃该请求而不提供IP地址的。
当服务器上存在12.1.1.0/24网段的地址池时,服务器要将该地址池发送给客户,就必须存在到达12.1.1.0网段的路由(默认路由也行),并且客户端必须位于该路由的方向,如果方向不对,该地址池也是不能够发给客户使用的。