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

求助 Openwrt IPv6 流量转发问题

  •  
  •   WernerLi · 2016-02-28 10:43:01 +08:00 · 1052 次点击
    这是一个创建于 3193 天前的主题,其中的信息可能已经有所发展或是发生改变。
    教育网想在路由后配置 IPv6 ,由于教育网的 IPv6 地址分配是和 IPv4 绑定的,所以只能在路由上分配的到一个 IP 地址,路由后只能使用 NAT 。

    Openwrt 版本: OpenWrt Designated Driver r48762

    路由能获得一个 /128 的 IPv6 地址, PC 能 ping 通路由地址 fdec:878f:3877::1
    在 /etc/firewall.user 下添加了 ip6tables -t nat -I POSTROUTING -s fdec:878f:3877::/48 -j MASQUERADE 重启后依旧没发在 PC 上 ping 通外网

    感觉是 WAN 口和 LAN 口的 IPv6 流量没有转发成功。请教下,多谢!


    图 1:

    图 2:
    12 条回复    2016-03-01 06:42:38 +08:00
    feather12315
        1
    feather12315  
       2016-02-28 10:56:44 +08:00 via Android   ❤️ 1
    需要懂的有点多(我是不想动了)
    这个是路由表问题。
    v6 没有 nat (原生上没有),所有的 v6 ip 都是全球广播的,那么你需要让 op 当网关。但是前缀为 128 的 ip 并不能直接使用。有一种解决方案是邻居发现协议。

    总之,费力不讨好,国内 v6 网站除了 bt 站,没啥网站,直接在 op 上部署 v6 隧道好了。
    smallfount
        2
    smallfount  
       2016-02-28 11:08:34 +08:00   ❤️ 1
    v6 现在是没有 NAT 的.....
    你在本地如果没有网段的话可以尝试用你拿到的地址的网段起一个 RA 做一个无状态 DHCP, 一把都会根据可以自己生成 v6 的地址..
    路由的话就默认 ::/0 到你的出口网关(就是你拿到地址的下一跳)....或者 interface 类型到 V6 的接口
    WernerLi
        3
    WernerLi  
    OP
       2016-02-28 11:15:29 +08:00
    @smallfount 我们学校限制了 IPv6 是绑定在 IPv4 上同时分配的,所以拿不到多余的 IPv6 地址
    我看了 http://blog.berry10086.com/Tech/Openwrt/openwrt-isatap-ipv6/ 这篇博客的指导,都说 IPv6 是可以 NAT 的。
    crystom
        4
    crystom  
       2016-02-28 11:17:54 +08:00
    @WernerLi ipv6 nat 需要 hack 内核似乎,不是很好的方案
    feather12315
        5
    feather12315  
       2016-02-28 11:34:30 +08:00 via Android   ❤️ 1
    @WernerLi 所以不建议啦。
    我的做法是 op 上挂 v6 隧道+China DNS ,再加 aria2 ,外挂移动硬盘
    yexm0
        6
    yexm0  
       2016-02-28 11:37:29 +08:00   ❤️ 1
    楼上各位...ipv6 对于 nat 这玩意只是强烈不建议而已啊..支持还是有的,而且也有专门的地址划出来给你们玩:https://en.wikipedia.org/wiki/Unique_local_address
    tsl0922
        7
    tsl0922  
       2016-02-28 12:16:14 +08:00
    @yexm0 上大学的时候在 openwrt 上玩过 ipv6 nat ,那时候 linux 上还没有原生的 ipv6 nat 支持,当时在 google code 上有个叫 napt66 的项目,是个内核模块,自己交叉编译到 openwrt 下就可以可以添加 ipv6 nat 的支持。

    现在有原生支持,确实简单多了。
    873681136
        8
    873681136  
       2016-02-28 12:28:20 +08:00 via iPhone   ❤️ 1
    可以参考我的方案
    https://i-meto.com/post/84/
    zro
        9
    zro  
       2016-02-28 12:32:34 +08:00
    楼主手上有 NETGEAR 的路由器,固件是官方的么? NETGEAR 的 IPv6 设置有项 IPv6 穿透功能,不知道适不适用你这,如果适用再把 IPv6 穿透“搬过”来 OpenWRT 就行了。。
    fqlion
        10
    fqlion  
       2016-02-28 18:33:14 +08:00
    @873681136 你好,请问您博客中脚本 route -A inet6 add 2000::/3 `route -A inet6 | grep ::/0 | awk 'NR==1{print "gw "$2" dev "$7}'`中 2000::3 什么呢
    873681136
        11
    873681136  
       2016-02-29 16:50:18 +08:00 via iPhone
    @fqlion 直接照做即可,通用
    esxivistawrt
        12
    esxivistawrt  
       2016-03-01 06:42:38 +08:00   ❤️ 1
    需要安装 ip6tables-mod-nat
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1500 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:09 · PVG 01:09 · LAX 09:09 · JFK 12:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.