【实验】DHCP snooping 单交换机实例

【实验】DHCP snooping 单交换机实例
【实验】DHCP snooping 单交换机实例

实验环境:

操作系统:Mac OS X 10.11.5 beta 3(当时最新测试版),模拟器:GNS3 for Mac 1.4.6(当时最新版本)
注:当然,只要有思科模拟器都可以做这个实验

实验需求:

需求一:IOU2做DHCP snooping,PC1要能通过DHCPServer获取到IP地址,PC1和DHCPServer处在同一VLAN下;
需求二:IOU2做DHCP snooping,PC1要能通过DHCPServer获取到IP地址,PC1和DHCPServer处在不同VLAN下。

实验步骤:需求一 —— 单交换机(DHCP服务器和DHCP客户端位于同一VLAN)

DHCPServer:

conf t
no ip routing

ip default-gateway 192.168.10.254

ip dhcp pool PC
network 192.168.10.0 255.255.255.0
default-router 192.168.10.254

int e 0/0
ip add 192.168.10.1 255.255.255.0
! 注意
ip dhcp relay information trusted
no sh

IOU2:

conf t
no ip routing

int r e 0/0-1
sw mo ac
sw ac v 10
spanning-tree portfast

int vlan 10
ip add 192.168.10.254 255.255.255.0
no sh

! 注意
ip dhcp snooping vlan 10
ip dhcp snooping

! 注意
int e 0/0
ip dhcp snooping trust

测试:

单交换机(DHCP服务器和DHCP客户端位于同一VLAN)

VPCS> ip dh -r
DORA IP 192.168.10.2/24 GW 192.168.10.254

说明:

  1. 需要注意的是路由器连接到交换机的端口需要配置“ip dhcp relay information trusted”命令,否则客户端将无法得到IP地址。这是因为交换机配置了(默认情况)“ip dhcp snooping information option”命令,此时交换机会在客户端发出的DHCP请求报文中插入选项82信息。另一方面由于DHCP服务器(这里指Cisco IOS DHCP服务器)与客户端处于同一个VLAN中,所以请求实际上并没有经过DHCP中继代理。
  2. 对于Cisco IOS DHCP服务器来说,如果它收到的DHCP请求被插入了选项82信息,那么它会认为这是一个从DHCP中继代理过来的请求报文,但是它检查了该报文的giaddr字段却发现是0.0.0.0,而不是一个有效的IP地址(DHCP请求报文中的giaddr字段是该报文经过的第一个DHCP中继代理的IP地址,具体请参考DHCP报文格式),因此该报文被认为“非法”,所以将被丢弃。可以参考路由器上的DHCP的debug过程。
  3. Cisco IOS里有一个命令,专门用来处理这类DHCP请求报文“ip dhcp relay information trusted”(接口命令)或者“ip dhcp relay information trust-all”(全局命令,对所有路由器接口都有效);这两条命令的作用就是允许被插入了选项82信息,但其giaddr字段为0.0.0.0的DHCP请求报文通过。
  4. 如果交换机不插入选项82信息,即配置了“no ip dhcp snooping information option”命令,那么就不会出现客户端无法得到IP地址的情况,路由器也不需要配置“ip dhcp relay information trusted”命令。
  5. Windows DHCP服务器则不认为Option 82的值为0.0.0.0的DHCP报文是错误的,所以上一个实例中不论交换机是否插入选项82信息,客户端总是可以得到IP地址。

实验步骤:需求二 —— 单交换机(DHCP服务器和DHCP客户端位于不同VLAN)

DHCPServer:

conf t
no ip routing

ip default-gateway 192.168.100.254

ip dhcp pool PC
network 192.168.10.0 255.255.255.0
default-router 192.168.10.254

int e 0/0
ip add 192.168.100.1 255.255.255.0
no sh

IOU2:

conf t
no ip routing

! 注意
ip dhcp snooping vlan 10,100
ip dhcp snooping

int e 0/0
sw mo ac
sw ac v 100
spanning-tree portfast
! 注意
ip dhcp snooping trust

int e 0/1
sw mo ac
sw ac v 10
spanning-tree portfast

int vlan 10
ip add 192.168.10.254 255.255.255.0
! 注意
ip helper-address 192.168.100.1
no sh

int vlan 100
ip add 192.168.100.254 255.255.255.0
no sh

测试:

单交换机(DHCP服务器和DHCP客户端位于不同VLAN)

VPCS> ip dh -r
DDORA IP 192.168.10.1/24 GW 192.168.10.254

说明:

  1. 本例中的路由器不需要配置“ip dhcp relay information trusted”命令,因为从交换机过来的DHCP请求经过了中继代理,其报文中的giaddr字段为192.168.10.1,而不是0.0.0.0,是默认正常的DHCP请求报文。

相关链接:

【实验】DHCPv4
【实验】DHCPv6
【转】DHCP snooping详解
【实验】DHCP snooping 多交换机(接入层+汇聚层)实例
【实验】DHCP snooping 多交换机(多VLAN+接入层+汇聚层)实例

打赏作者
这里是 “ CCIE 工程师社区 ” 官方的捐款通道,您是否可以考虑请我们喝杯咖啡呢?

您的支持将鼓励我们继续创作!

[微信] 扫描二维码打赏

[支付宝] 扫描二维码打赏

Was this article helpful?

Related Articles

Leave A Comment?

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据