实际上参考自https://www.shintaku.cc/posts/nat6/的教程,在自身的实际情况下有所改变,但基本设置不变
同时参考的官方文档:https://wiki.openwrt.org/doc/howto/ipv6.nat6,自己不是很清楚里面第四步里的firewall.d script的使用方法,过会再去看看吧
本随笔针对高校支持ipv6的校园网,ipv6由上游路由器dhcp动态分配,电脑直连可以通过dhcp获取到ipv6的地址(前提)
首先在ipv4已联网的条件下安装必要的软件:
opkg update &&
opkg
install kmod-ipt-nat6
检查wan6是否有ipv6地址,如果没有设置wan6,保证有ipv6地址
然后把IPv6 ULA前缀第一个字母改成d
开头的:
这个luci下面改吧,命令怪怪的
官方文档对这个操作的解释是:默认前缀是非全局路由的地址,大多路客户端在没有全局IPv6地址的情况下只有IPv4地址,所以需要将前缀改成未使用过的全局地址的样子。
接下来更改DHCP服务器的设置:
之后修改/etc/sysctl.conf
,将以下内容加进去,大意说接收广播并开启IPv6转发
net.ipv6.conf.default.forwarding=2
net.ipv6.conf.all.forwarding=2
net.ipv6.conf.default.accept_ra=2
net.ipv6.conf.all.accept_ra=2
推荐用WinSCP修改
最后在/etc/firewall.user
添加防火墙规则:
ip6tables -t nat -I POSTROUTING -s $(uci get network.globals.ula_prefix) -j MASQUERADE
重启之后就能通过路由器上v6,实现的方法应该是ipv6-nat,最后附成功图片