找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 1033|回复: 2

疑问: openwrt bridge桥是如何获取ipv6地址的?

[复制链接]
发表于 2021-9-14 17:32 | 显示全部楼层 |阅读模式
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!
通过代码分析是br-lan 没有全球的ipv6导致。

3.疑问点
1.br-lan 桥是如何获取到ipv6的地址
2.如何在终端 通过命令,使br-lan获取到ipv6的地址。
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2021-9-22 15:16 | 显示全部楼层
进展
1.去除odhcpd进程。重启,发现br-lan 还是有ipv6 的地址。
ifconfig
br-lan    Link encap:Ethernet  HWaddr 8E:4C:CC:4E:B5:6C
          inet addr:192.168.6.1  Bcast:192.168.6.255  Mask:255.255.255.0
          inet6 addr: fe80::8c4c:ccff:fe4e:b56c/64 Scopeink
          inet6 addr: fd7f:b68e:68fb::1/60 Scope:Global
          inet6 addr: 240e:47c:30b0:4b24::1/64 Scope:Global

由此可以判断,不是odhcpd进程设置了br-lan的ipv6地址。

2.问题:
桥br-lan 是如何获取到ipv6地址。和uci 哪一项配置相关。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| 发表于 2021-10-8 11:32 | 显示全部楼层
本帖最后由 1637664504 于 2021-10-8 13:40 编辑

问题已解决

【问题原因】
1.通过查阅 odhcpd源代码,odhcpd会去解析uci wan,lan 配置项
从而获取wan, lan address。

2.RA报文由odhcpd管理。

3.LAN client RS请求, 路由器 填充LAN 所有的ipv6 address到RA中, RA如下。
Internet Protocol Version 6, Src: fe80::d4a0:9eff:fecd:fff8, Dst: fe80::250:56ff:fe2f:43d9
Internet Control Message Protocol v6
    Type: Router Advertisement (134)
    Code: 0
    Checksum: 0x2748 [correct]
    [Checksum Status: Good]
    Cur hop limit: 64
    Flags: 0xc0, Managed address configuration, Other configuration, Prf (Default Router Preference): Medium
    Router lifetime (s): 1800
    Reachable time (ms): 0
    Retrans timer (ms): 0
    ICMPv6 Option (Source link-layer address : d6:a0:9e:cd:ff:f8)
    ICMPv6 Option (MTU : 1500)
    ICMPv6 Option (Prefix information : 240e:47c:3028:6b78::/64)
    ICMPv6 Option (Prefix information : fd0d:80a7:6af0::/64)
    ICMPv6 Option (Route Information : Medium fd0d:80a7:6af0::/48)
    ICMPv6 Option (Recursive DNS Server fd0d:80a7:6af0::1)
    ICMPv6 Option (Advertisement Interval : 600)

【解决方案】
1.改用radvd 进程管理RA --> 未使用
2.手动修改,适配odhcpd 代码逻辑.
如wan eth1: 240e:47c:3028:6b78:16ab:eebd:2b84:af3d/64 Scope:Global
则设置LAN br-lan:ip -6 addr add 240e:47c:3028:6b78::1/64 dev br-lan

【其它问题
ping6 ipv6 --OK
ping6 www.baidu.com -- NG

ping6 域名失败,原因未知,看起来像是RA中发送的ipv6 DNS不对。
ICMPv6 Option (Recursive DNS Server fd0d:80a7:6af0::1)

点评

ping6 域名失败原因已找到。 【根本原因】 需要指定ipv6的域名,如 ping6 ipv6.joram.it --> OK 【其它】 1.ipv6测试网站,搜索“ipv6测试” 通过抓包分析,发现ipv6 dns请求符合预期,http请求也正常。 2  详情 回复 发表于 2021-10-9 11:08
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-25 06:30

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表