路由器“非经 DHCP 分配的 IP 地址发来的数据包不予转发”??

2017-09-19 22:39:03 +08:00
 dbw9580


一台 ESXi Host 里的虚拟机经过一台交换机连到学校墙上的端口,同一个交换机上还连了我的笔记本。IPv4 和 IPv6 地址都是通过 DHCP 分配的,IPv4 只有校内局域网连接,笔记本和虚拟机都可以正常通过网关转发数据包访问到其他子网上的主机;笔记本的 IPv6 可以直接访问到互联网,说明网关也正常转发 IPv6 数据包。
但是,虚拟机同样也通过 DHCPv6 拿到了 IPv6 地址,可以单独 ping 通网关和同一局域网内的笔记本,就是发往互联网的数据包不能被网关转发。图中前六条是在 ping 网关的链路地址,能得到网关的回应;后面的是在 traceroute 谷歌的 DNS 服务器,网关根本没有返回 ICMP TTL limit exceeded 的消息。

这之前我在笔记本上手动配置静态 IPv4 地址,企图在学校办公室访问到宿舍笔记本的时候,发现一样不能被网关转发数据包。结合这个情况,我怀疑路由器上可以设置“非经 DHCP 分配的 IP 地址发来的数据包不予转发”这样的规则?

如果确有这种规则,我进一步怀疑是学校的路由器对 DHCPv6 等等 IPv6 的协议支持得不好,只有 Windows 的笔记本可以正常拿到 IP 地址,Debian 等 Linux 的机器存在兼容性问题,在 DHCP 的过程中虽然 client 拿到了 IP 地址,路由器上却没有正确注册,以致于不予转发数据包。

请熟悉路由器配置的各位朋友指点迷津。
2128 次点击
所在节点    问与答
4 条回复
jacy
2017-09-19 23:12:53 +08:00
的确可以设置只能用 dhcp 给的 ip,但你说的 v6 兼容性问题不清楚
dndx
2017-09-20 03:08:05 +08:00
能 Ping 通同一字网的其他主机,说明交换机没开 DHCP(v6) Snooping。

的确路由器可以禁用 ARP Learning,强制只使用 DHCP 服务器的 lease 来加 ARP 条目。这类技术在 DHCPv6 上也是存在的,而且极其容易配置。

JunOS 上实现也就一条命令( DHCP 服务器会默认在 ARP 表里加 lease 的地址):
set interfaces ge-0/0/1 unit 0 family inet no-neighbor-learn
yan5990853
2017-09-20 12:25:33 +08:00
DHCP SNOOPING + ARP DETECTION 可以做到仅接受合法 DHCP 的客户机才转发。

这么大的兼容性问题出现的可能性较低。

楼主虚拟机的 DHCP 服务也是学校网络提供的?
dbw9580
2017-09-20 14:18:43 +08:00
@yan5990853 是的。同时给虚拟机和笔记本都提供 DHCP 地址,以往在笔记本上装的 Linux Mint 也发生过类似的问题,拿到了 IP 不能上网,所以怀疑是对 Linux 的兼容性有问题。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/392090

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX