首先更改网络-接口设置。WAN选用DHCP客户端即可,==WAN6==要用默认的==DHCPv6客户端==:
这时可以重新连接一下看看WAN6是否出现了IPv6地址,如果依旧没有,可以按照官方文档所说将wan的ipv6选项设为1:
uci set network.wan.ipv6='1' uci commit network
再重新连接应当就能获取到IPv6地址了:
首先安装必要的软件:
opkg update opkg install kmod-ipt-nat6
然后把IPv6 ULA前缀改成d开头的:
uci set network.globals.ula_prefix="$(uci get network.globals.ula_prefix | sed 's/^./d/')" uci commit network
官方文档对这个操作的解释是默认前缀是非全局路由的地址,大多路客户端在没有全局IPv6地址的情况下只有IPv4地址,所以需要将前缀改成未使用过的全局地址的样子。
接下来更改DHCP服务器的设置:
uci set dhcp.lan.ra_default='1' uci commit dhcp
之后修改/etc/sysctl.conf,将以下内容加进去:
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
最后在/etc/firewall.user添加防火墙规则:
ip6tables -t nat -I POSTROUTING -s $(uci get network.globals.ula_prefix) -j MASQUERADE
重启路由器后再次连接看电脑是否已经得到路由器分配的IPv6地址了: