V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
dbw9580
V2EX  ›  问与答

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

  •  
  •   dbw9580 · 2017-09-19 22:39:03 +08:00 · 2268 次点击
    这是一个创建于 2626 天前的主题,其中的信息可能已经有所发展或是发生改变。


    一台 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 地址,路由器上却没有正确注册,以致于不予转发数据包。

    请熟悉路由器配置的各位朋友指点迷津。
    4 条回复    2017-09-20 14:18:43 +08:00
    jacy
        1
    jacy  
       2017-09-19 23:12:53 +08:00
    的确可以设置只能用 dhcp 给的 ip,但你说的 v6 兼容性问题不清楚
    dndx
        2
    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
        3
    yan5990853  
       2017-09-20 12:25:33 +08:00 via Android
    DHCP SNOOPING + ARP DETECTION 可以做到仅接受合法 DHCP 的客户机才转发。

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

    楼主虚拟机的 DHCP 服务也是学校网络提供的?
    dbw9580
        4
    dbw9580  
    OP
       2017-09-20 14:18:43 +08:00
    @yan5990853 是的。同时给虚拟机和笔记本都提供 DHCP 地址,以往在笔记本上装的 Linux Mint 也发生过类似的问题,拿到了 IP 不能上网,所以怀疑是对 Linux 的兼容性有问题。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3143 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 14:36 · PVG 22:36 · LAX 06:36 · JFK 09:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.