LAN下联的设备尝试获取ipv6地址,却没有获取到全球ipv6地址。如下
以太网适配器 以太网 2:
连接特定的 DNS 后缀 . . . . . . . :
描述. . . . . . . . . . . . . . . : Realtek PCIe GbE Family Controller #2
物理地址. . . . . . . . . . . . . : 14-6B-9C-BD-46-8D
DHCP 已启用 . . . . . . . . . . . : 否
自动配置已启用. . . . . . . . . . : 是
本地链接 IPv6 地址. . . . . . . . :fe80::a032:75cd:be6b:89dc%4(首选)
IPv4 地址 . . . . . . . . . . . . : 192.168.1.2(首选)
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . :
以太网适配器 以太网 4:
连接特定的 DNS 后缀 . . . . . . . :
描述. . . . . . . . . . . . . . . : Realtek USB GbE Family Controller
物理地址. . . . . . . . . . . . . : 00-E0-4C-68-02-6D
DHCP 已启用 . . . . . . . . . . . : 否
自动配置已启用. . . . . . . . . . : 是
IPv6 地址 . . . . . . . . . . . . :2408:8459:3030:598e::7aa(首选)
获得租约的时间 . . . . . . . . . : 2021年9月14日 15:10:28
租约过期的时间 . . . . . . . . . : 2157年10月21日 23:48:43
IPv6 地址 . . . . . . . . . . . . :2408:8459:3030:598e:b147:d48f:affe:70a8(首选)
IPv6 地址 . . . . . . . . . . . . :fd22:14ab:59d6::7aa(首选)
获得租约的时间 . . . . . . . . . : 2021年9月14日 15:10:28
租约过期的时间 . . . . . . . . . : 2157年10月21日 23:48:43
IPv6 地址 . . . . . . . . . . . . : fd22:14ab:59d6:0:b147:d48f:affe:70a8(首选)
临时 IPv6 地址. . . . . . . . . . : 2408:8459:3030:598e:29e6:1c87:e6c8:6a0b(首选)
临时 IPv6 地址. . . . . . . . . . : fd22:14ab:59d6:0:29e6:1c87:e6c8:6a0b(首选)
本地链接 IPv6 地址. . . . . . . . : fe80::b147:d48f:affe:70a8%30(首选)
IPv4 地址 . . . . . . . . . . . . : 192.168.2.7(首选)
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . :
ip -6 addr
3: eth0: <NOARP,UP,LOWER_UP> mtu 1500 state UNKNOWN qlen 1000 #--> eth0 是WAN
inet6 240e:47c:30a8:4cd8:16a4:a44b:652a:7aa/64 scope global dynamic mngtmpaddr
valid_lft 602955sec preferred_lft 84555sec
inet6 fe80::16a4:a44b:652a:7aa/64 scope link
valid_lft forever preferred_lft forever37: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000 #--> br-lan 是LAN的bridge
inet6 fd05:ac85:bb46::1/60 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::80b:c0ff:fe30:df8b/64 scope link
valid_lft forever preferred_lft forever
3: eth0: <NOARP,UP,LOWER_UP> mtu 1400 state UNKNOWN qlen 1000 #--> eth0 是WAN
inet6 2408:8459:3030:598e:16a4:9c7f:ee12:c303/128 scope global
valid_lft forever preferred_lft forever44: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 state UP qlen 1000 #--> br-lan 是LAN的bridge
inet6 fd22:14ab:59d6::1/60 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 2408:8459:3030:598e::1/64 scope global noprefixroute
valid_lft forever preferred_lft forever
inet6 fe80::54d0:1aff:fe32:2d93/64 scope link
valid_lft forever preferred_lft forever
odhcpd: A default route is present but there is no public prefix on br-lan thus we don't announce a default route!
通过odhcpd代码分析是br-lan 没有全球的ipv6导致。
1.br-lan 桥是如何获取到ipv6的地址
2.如何在终端 通过命令,使br-lan获取到ipv6的地址。
1.异常的
/ #
cat /etc/config/network
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'config globals 'globals'
option ula_prefix 'fd05:ac85:bb46::/48'config interface 'lan'
option type 'bridge'
option proto 'static'
option ipaddr '192.168.1.1'
option netmask '255.255.255.0'
option ip6assign '60'
option ifname 'eth0 rndis0'/ #
/ #cat /etc/config/dhcp
config dnsmasq
option domainneeded '1'
option boguspriv '1'
option filterwin2k '0'
option localise_queries '1'
option rebind_protection '1'
option rebind_localhost '1'
option local '/lan/'
option domain 'lan'
option expandhosts '1'
option nonegcache '0'
option authoritative '1'
option readethers '1'
option leasefile '/tmp/dhcp.leases'
option resolvfile '/tmp/resolv.conf'
option nonwildcard '1'
option localservice '1'config dhcp 'lan'
option interface 'lan'
option ignore '0'
option start '2'
option limit '252'
option leasetime '24'
option dhcpv6 'server'
option ra 'server'
option ra_management '1'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'/ #
进展
1.手动设置br-lan的ipv6地址ip -6 addr add 2408:8459:3010:d614::1/64 dev br-lan
2.重启openwrt启动ipv6 管理进程/etc/init.d/odhcpd restart.
通过调试可知
1.设备端 tcpdump br-lan 可以发现包含全球地址的RA报文
2.但PC端,wireshark抓不到RA报文。
3.怀疑ipv6 内核参数有差异,对比正常设备
正常设备**mc_forwarding = 1
异常设备mc_forwarding **= 0
但手动设置echo 1 > mc_forwarding 提示
/bin/sh: can't create mc_forwarding: Permission denied