V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wi11iamZ
V2EX  ›  宽带症候群

非常诡异的 OpenWRT 公网 IPv6 下发故障

  •  
  •   wi11iamZ · 7 天前 · 1054 次点击

    背景

    软路由的 SSD 突然暴毙导致被迫重做了 OpenWRT 系统,没有及时备份所以花了相当时间重新配置,但是配置完后发现无线(通过下级的一个工作在 AP 模式的无线路由)设备又无法自动获取 IPv6 了,症状仍然是重启软路由(主路由)后,其它几个接口的设备都能获得 IPv6 ,唯独无线设备不行。重新拔插网线或是重启无线路由无效,但是如果在软路由上重启无线对应的接口则之后连上无线的设备均能正常获得 IPv6 。

    配置

    主路由

    主路由的 eth3 是 Intel I225V ,eth4 是 Intel I350T2 ,eth5 和 eth6 是 Intel X550T2 上游是改了桥接的光猫,双栈公网,PD 长度为 60

    /etc/config/network

    config interface 'loopback'
    	option device 'lo'
    	option proto 'static'
    	option ipaddr '127.0.0.1'
    	option netmask '255.0.0.0'
    
    config globals 'globals'
    	option ula_prefix 'fde1:b901:274a::/48'
    	option packet_steering '1'
    
    config interface 'wan'
    	option device 'eth4'
    	option proto 'pppoe'
    	option username 'username'
    	option password 'password'
    	option ipv6 'auto'
    	option keepalive '0 1'
    
    config interface 'lan_1'
    	option proto 'static'
    	option device 'eth5'
    	option ipaddr '172.16.1.1'
    	option netmask '255.255.255.0'
    	list dns '172.16.1.1'
    	option ip6assign '64'
    	option ip6hint '0'
    	option ip6ifaceid 'eui64'
    
    config interface 'lan_2'
    	option proto 'static'
    	option device 'eth6'
    	option ipaddr '172.16.2.1'
    	option netmask '255.255.255.0'
    	list dns '172.16.2.1'
    	option ip6assign '64'
    	option ip6hint '1'
    	option ip6ifaceid 'eui64'
    
    config interface 'wlan'
    	option proto 'static'
    	option device 'eth3'
    	option ipaddr '172.16.10.1'
    	option netmask '255.255.255.0'
    	list dns '172.16.10.1'
    	option ip6assign '64'
    	option ip6hint '9'
    	option ip6ifaceid 'eui64'
    

    /etc/config/dhcp

    config dnsmasq
    	option domainneeded '1'
    	option localise_queries '1'
    	option rebind_protection '0'
    	option local '/lan/'
    	option domain 'lan'
    	option expandhosts '1'
    	option min_cache_ttl '3600'
    	option use_stale_cache '3600'
    	option nonegcache '1'
    	option authoritative '1'
    	option readethers '1'
    	option leasefile '/tmp/dhcp.leases'
    	option localservice '1'
    	option dns_redirect '1'
    	option ednspacket_max '1232'
    	option noresolv '1'
    	option sequential_ip '1'
    	option cachesize '0'
    	list server '127.0.0.1#5335'
    
    config dhcp 'wan'
    	option interface 'wan'
    	option ignore '1'
    
    config odhcpd 'odhcpd'
    	option maindhcp '0'
    	option leasefile '/tmp/hosts/odhcpd'
    	option leasetrigger '/usr/sbin/odhcpd-update'
    	option loglevel '4'
    
    config dhcp 'lan_1'
    	option interface 'lan_1'
    	option start '10'
    	option limit '240'
    	option leasetime '12h'
    	option ra 'server'
    	list ra_flags 'none'
    	option ra_default '1'
    	option dns_service '0'
    
    config dhcp 'lan_2'
    	option interface 'lan_2'
    	option start '10'
    	option limit '240'
    	option leasetime '12h'
    	option ra 'server'
    	list ra_flags 'none'
    	option ra_default '1'
    	option dns_service '0'
    
    config dhcp 'wlan'
    	option interface 'wlan'
    	option start '10'
    	option limit '240'
    	option leasetime '4h'
    	option ra 'server'
    	list ra_flags 'none'
    	option ra_default '1'
    	option dns_service '0'
    

    简单描述就是 WAN 拿到 PD 后下发,lan_1 、lan_2 、wlan 都开启 DHCPv4 并启用委托 IPv6 前缀,分配长度设置为 64 ,每个接口指定自己的分配提示,RA 设置为服务器模式,禁用 DHCPv6 、NDP 代理、指定的主接口、本地 IPV6 DNS 服务器,RA 设置为在可用前缀上+启用 SLAAC ,标记无。 luci 后台能看到 PD 正常下发,lan_1 、lan_2 、wlan 自身也都拿到了公网 IPv4 和 ULA 。

    无线路由

    设备:GLiNet MT6000 LAN 设置为 DHCP 客户端,所有网口桥接后并入,IPv6 分配/RA/DHCPv6/中继全部关闭。 防火墙已经被禁用,其它接口已经被删除。

    故障

    在排查的过程中突然发现一个神奇的现象:无线路由自身也拿不到 IPv6 了(同样可以通过主路由上重启接口获得)。 于是抱着试一试的心态拿了个 miniPC 过来,miniPC 有 2 个网口( RTL8125B ),然后发现将其接在 eth3 上替代无线路由时,也拿不到 IPv4 ,说明可以派出无线路由设置的问题。 然后将 miniPC 连接到 eth6 (对应 lan_2 )时,IPv6 下发情况一切正常。 使用 miniPC 的另外一个网口,结果仍然相同。 整个过程中另外一台 PC 一支连着 eth5 (对应 lan_1 ),IPv6 下发情况一切正常。 然后最神奇的事情来了,在主路由中调换 lan_2 和 wlan 对应的设备(调换后 lan_2 使用 eth3 ,wlan 使用 eth6 ),情况变成了 wlan 接口下的设备能拿到 ipv6 ,lan_2 不行。 也就是说,这个故障和无线路由无关,和主路由中的接口无关,但是和主路由的网口相关??? 只要接在 I225V ( eth3 )上就拿不到 IPv6 ?? 暂时无法理解这种诡异的现象

    截图 https://imgur.com/a/kh50dWf

    目前尚无回复
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   5632 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 03:10 · PVG 11:10 · LAX 20:10 · JFK 23:10
    ♥ Do have faith in what you're doing.