北极星6号 2021-09-14 17:39 采纳率: 33.3%
浏览 236
已结题

疑问: openwrt 桥br-lan 是如何获取到ipv6地址的?

1.问题现象

LAN下联的设备尝试获取ipv6地址,却没有获取到全球ipv6地址。如下

1.未获取到全球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
默认网关. . . . . . . . . . . . . :

2.获取到全球ipv6地址的网卡

以太网适配器 以太网 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
默认网关. . . . . . . . . . . . . :

2.分析与调试

1.异常的

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 forever

37: 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

2.正常的

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 forever

44: 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

3.logread 日志分析

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导致。

3.疑问点

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条回答 默认 最新

  • 北极星6号 2021-09-14 20:20
    关注

    进展
    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

    评论

报告相同问题?

问题事件

  • 系统已结题 9月22日
  • 创建了问题 9月14日

悬赏问题

  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的