V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
OpenWrt 是一个专门面向嵌入式设备的 Linux 发行版。你可以将 OpenWrt 支持的型号的嵌入式设备,比如各种路由器上的系统,换成一个有更多可能性可以折腾的 Linux 系统。
OpenWrt 官方网站
wolonggl
V2EX  ›  OpenWrt

openwrt 24.10 二级路由获取 ipv6 /62 地址段, LAN 口设备无法上网 ipv6

  •  
  •   wolonggl · 136 天前 · 1192 次点击
    这是一个创建于 136 天前的主题,其中的信息可能已经有所发展或是发生改变。
    系统 openwrt 24.10 ,做二级路由,有公网 ip 地址,通过 wireguard+gretap 隧道从另外一个 openwrt 获取 /62 ipv6 地址段

    上级 openwrt tun1 《-- gretap over wireguard -》 tun1 二级 openwrt --》 LAN 口

    现在问题是:openwrt 系统自身可正常访问 ipv6 网站,lan 口可以通过 ip 委派方式获取 /64 ipv6 地址,
    但是 LAN 局域网的设备也可正常获取 ipv6 地址,但是无法访问 ipv6 网站, 下面信息为二级路由器的路由表,
    从 tun1 口无法抓取到 LAN 口设备的访问请求,说明二级路由器内部 ipv6 转发阻塞

    tun1 为隧道
    eth0 为 LAN 口 240e:352:193e:e004::/64 为 LAN 口分片的 ipv6 地址段
    240e:352:193e:e004::/62 为 dhvp6 over tun1 获取的 IPV6-PD 前缀
    240e:352:193e:e000::/56 为上级路由器获取的 IPV6-PD 前缀

    # ip -6 r
    240e:352:193e:e000::44a dev eth0 metric 127 pref medium
    240e:352:193e:e000::/64 dev tun1 proto static metric 256 pref medium
    unreachable 240e:352:193e:e000::/64 dev lo proto static metric 2147483647 pref medium
    240e:352:193e:e004::/64 dev eth0 proto static metric 1024 pref medium
    unreachable 240e:352:193e:e004::/62 dev lo proto static metric 2147483647 pref medium
    240e:352:193e:e000::/56 via fe80::7c27:4cff:fed2:ab38 dev tun1 proto static metric 512 pref medium
    fd00:1223::/64 dev docker0 proto kernel metric 256 pref medium
    fd00:1223::/64 dev docker0 metric 1024 pref medium
    fe80::/64 dev tun1 proto kernel metric 256 pref medium
    fe80::/64 dev eth1 proto kernel metric 256 pref medium
    fe80::/64 dev docker0 proto kernel metric 256 pref medium
    fe80::/64 dev eth0 proto kernel metric 256 pref medium
    fe80::/64 dev vethb207467 proto kernel metric 256 pref medium
    fe80::/64 dev veth9b26b77 proto kernel metric 256 pref medium
    fe80::/64 dev vethd70fd31 proto kernel metric 256 pref medium
    fe80::/64 dev vethdeb0fc2 proto kernel metric 256 pref medium
    default via fe80::7c27:4cff:fed2:ab38 dev tun1 proto static metric 512 pref medium
    7 条回复    2025-04-22 09:58:50 +08:00
    wolonggl
        1
    wolonggl  
    OP
       136 天前
    如果将 eth0+tun1 组建一个 br0 ,相当于跳过 openwrt 内部路由转发,这种情况 LAN 口设备的获取 ipv6 可正常访问 ipv6 网站,但是这个有个缺点,没办法让 lan 口设备可以通过 openwrt 系统科学上网
    v2er119
        2
    v2er119  
       136 天前
    双网关,需要科学的设备才走 op.不需要科学的走另一个网关。op 负责 dhcp ,通过 dhcp 选项功能给设备动态分配网关
    sujin190
        3
    sujin190  
       136 天前
    似乎如果想要实现你要的这个效果,可行的方式是创建两个 Network Namespace ,一个配置禁用 ipv6 协议栈,一个配置禁用 ipv4 协议栈,然后再创建两对 veth-pair ,分别放入到这两个 Namespace 中去,接着把 tun1 也放到只处理 ipv6Network Namespace 中,最后这所有网卡都绑定到同一个 br0 上,估计就可以实现在网络二层分别处理 ipv4 和 ipv6 流量了
    sujin190
        4
    sujin190  
       136 天前
    注意此时 openwrt 本机的 ipv6 和 ipv4 地址都是设置到这两对 veth-pair 上且 Network Namespace 里,eth0 上不要设置 ip 地址了
    sujin190
        5
    sujin190  
       136 天前
    或者简单点,干脆默认网络栈直接禁用 ipv6 ,然后创建一个单独 Network Namespace 处理 ipv6 ,那这样估计只需要一对 veth-pair 就行
    wolonggl
        6
    wolonggl  
    OP
       136 天前 via Android
    @sujin190 这个没问题,就是设备不能利用二级路由的科学上网功能了
    wolonggl
        7
    wolonggl  
    OP
       135 天前
    更新 openwrt 到最新的 04.12.2025 到后,二级路由的 lan 口设备 ipv6 访问恢复正常, 我采用的是 openwrt.ai 系统
    关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4348 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 00:14 · PVG 08:14 · LAX 17:14 · JFK 20:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.