在Cisco Catalyst上访问列表后的DHCP转发

我在转发Cisco Catalyst 4500交换机访问列表后面的子网中的DHCP时遇到了一些麻烦。 我希望有人能看到我犯的错误。

子网是这样定义的:(前三个IP地址和vrf名称的八位字节是匿名的)

interface Vlan40 ip vrf forwarding vrf_name ip address 10.10.10.126 255.255.255.0 secondary ip address 10.10.10.254 255.255.255.0 ip access-group 100 out ip helper-address 10.10.20.36 no ip redirects 

我尝试打开configuration为使用DHCP的子网上的VMWare机器,但是我从来没有收到DHCP响应,DHCP服务器也没有收到请求。 我试图把以下内容放在访问列表中:

 access-list 100 permit udp host 10.10.10.254 host 10.10.20.36 eq bootps access-list 100 permit udp host 10.10.10.254 host 10.10.20.36 eq bootpc access-list 100 permit udp host 10.10.20.36 host 10.10.10.254 eq bootps access-list 100 permit udp host 10.10.20.36 host 10.10.10.254 eq bootpc 

这没有帮助。 有谁可以看到问题是什么?

  • 我知道DHCP服务器工作。 我们的整个networking都运行在这台DHCP服务器上
  • 我也知道子网是有效的,因为我们有在networking上运行的活动服务器
  • DHCP作用域已经在DHCP服务器上定义
  • 该子网在VMWare服务器上正确定义(已经在VMWare上的子网上运行的服务器)

编辑2012-10-19:这个已经解决了! 该子网以前被定义为/ 25networking,但后来被扩展到一个/ 24networking。 当这个改变之后,当DHCP范围被改变时,它是不正确的; 网关移动到.254,可用的IP范围在/ 24子网的下半部分,但是我们忘了把CIDR前缀从/ 25改成/ 24。 这发生在大约两年前,直到本周我们再也不需要在这个服务器networking上使用DHCP了。

感谢MDMarra和Jason Seemann提出的问题并尝试排除故障。

现在我想知道是否应该把杰森的答案标记为公认的答案(我是堆栈交换networking的新手,所以我不知道如果我误以为在这种情况下错误的问题做什么的礼节)。

注1:通常,出站ACL不应该影响路由器发出的出站stream量,所以在你的情况下,我不太确定ACL是否直接阻止DHCP工作。

注2:我嘲笑一个简单的实验室来确认上述情况。 基本上我只是把一个许可证IP任何日志ACL,以确认路由器的stream量不会击中ACL – 它不在我的情况。

注3:所以我连接了一个嗅探器来了解VLAN40上的DHCP应答的数据包格式。 DHCP回复将来自路由器接口(在您的情况下是10.10.10.254),并且目的地是广播IP 255.255.255.255。 源端口BOOTPS,目标端口BOOTPC。 如果你喜欢,你可以雕刻的ACL到这个数据包格式(允许udp主机10.10.10.254 eq bootps主机255.255.255.255 eq bootpc),但我不认为你会看到任何点击由于注意#1。

值得注意的是,我的ACL确实从DHCP服务器到子网上进行了pingtesting,以validation它想分配的IP地址是否可用。 即使你否认这个DHCP仍然可以工作,但大多只是FYI。

仔细看看你的服务器和客户端以及其他参数 – 你说DHCP在这个子网上工作。 或者只是基本的确认完全删除ACL,看看它是否工作。