LEDE(openwrt)配置IPv6 Nat

Intro

太懒了,不想写.

ipv6获取

校园网ip获取是通过dhcp和dhcpv6自动获取的,ipv6获取后无需认证,直接可连外网.通常几十秒路由器可获取到ipv6地址,如果获取不到,可将wan6的按下图设置. wan6设置

luci设置

由于使用ipv6 nat为连接路由的设备提供ipv6接入,首先要安装ip6tableskmode-ipt-nat6,许多固件已安装好其中一个或者全部,在system-software中查看已安装的应用,如果没有,手动安装(可在luci中直接安装或通过ssh用opkg安装: opkg install ip6tables kmod-ipt-nat6).
准备好必要的软件后,将interface选项中的IPv6 ULA-Prefix设置为d开头的地址(如下图),我使用的是dda3:e8d5:a17c::/48,类似于ipv4的192.168.1.1/24,作为本地地址使用.
interface
接下来设置lan接口的ipv6选项,在interface页面点击lan后的edit,翻到最下面,参考下图设置即可.

以上,很多网上的教程就讲到此为止,按理说,好像该设置的都弄了,但是发现就是不work!

ssh设置

最后,进入最重要的一步:通过ssh设置路由器的路由转发.(我是参考的Medium上一篇文章)
首先ssh root@192.168.1.1远程连接路由器.
输入ip -6 route | grep "default from"得到默认路由,输出应类似default from <your ipv6 addr 2001:> via <your ipv6 addr local link fe80:> dev <eth0.2> metric 512.如果输出空,说明前面配置存在问题.
如成功得到正确的路由结果,继续执行ip -6 r add default via <your ipv6 addr local link fe80:> dev <eth0.2>ip6tables -t nat -A POSTROUTING -o <eth0.2> -j MASQUERADE.
以上,将< >中的内容替换成自己的ip地址或接口名称.
需要注意的是,上述ssh中设置的内容,路由重启后不会保存,需要重新设置.如果需要开机自动设置,可以参考Medium上一篇文章)中的"开机自动设置IPv6"部分进行设置.

补充

LEDE/OpenWRT查看ipv6路由表

1
2
ip -6 route show [dev <device>]
route -A inet6