本文描述LEDE系统IPV6设置教程,可以让运营商分配的IPV6通过路由器,让LAN也获得可以上网的IPV6
首先推荐使用潘多拉系统,LEDE大的系统去掉了IPV6的功能,理由是目前用处不大,而且和SSR或者其他功能有冲突
此方法适用于部分 高校的IPV6分配机制,对于移动、联通、电信等网络请自行测试
首选
WAN6选择DHCPV6协议,请求IPV6地址 try 指定长度自动,
参考博文 LEDE 下的 ipv6 NAT6
看参考博文标题就知道,正常认证后是路由器能上 IPv6 网,但下游终端设备还不行。因此需要搭建 NAT 来拯救世界!
在锐捷认证过后,路由器应该能直接上 IPv6 网了,测试一下:
ping6 ipv6.google.com
不行的话检查是否真的连上网了。
安装软件包
先安装必要软件,ip6tables 和 kmode-ipt-nat6:
opkg install ip6tables kmod-ipt-nat6
设置ULA prefix
这步可以不做,据说做了后网站会尽量走 IPv6 通道。
在 Network->Interface 界面下,将 ULA prefix 前缀改成 2fff::/64 内的任意网段。
宣告默认路由
在 Network->Interface-LAN 的 DHCP Server 界面下,选择 IPv6 Settings 标签,勾选 Always announce default router
宣告默认网关
查看当前IPv6默认路由如下
ip -6 route | grep "default from"
若结果是这样的
default from [ipv6 range] via [gateway] dev [intf] proto static metric 512
就需要向下一级宣告默认网关,中括号的内容请自行替换为上面结果。
ip -6 r add default via [gateway] dev [intf]
搭建 NAT
利用 ip6tables 进行内网 NAT,括号内容为上面的结果
这时候终端应该就可以访问 IPv6 网站了。
点此测试你的IPv6配置
开机自动设置 IPv6
(可选步骤)
在/etc/hotplug.d/iface目录下建立 90-ipv6 文件,并填入以下内容:
#!/bin/sh # filename: /etc/hotplug.d/iface/90-ipv6 # please make sure this file has permission 644 # check if it is the intf which has a public ipv6 address like "2001:da8:100d:aaaa:485c::1/64" interface_public="wan6" [ "$INTERFACE" = "$interface_public" ] || exit 0 res=`ip -6 route | grep "default from"` gateway=`echo $res | awk '{print $5}'` interface=`echo $res | awk '{print $7}'` if [ "$ACTION" = ifup ]; then ip -6 r add default via $gateway dev $interface if !(ip6tables-save -t nat | grep -q "v6NAT"); then ip6tables -t nat -A POSTROUTING -o $interface -m comment --comment "v6NAT" -j MASQUERADE fi else ip6tables -t nat -D POSTROUTING -o $interface -m comment --comment "v6NAT" -j MASQUERADE ip -6 r del default via $gateway dev $interface fi
上面的脚本使用要注意,变量 interface_pulbic 是带有公网 IPV6 地址的接口地址,比如我的是在 wan6 上,那么变量 interface_pulbic 是 wan6。
最后记得修改权限:
chmod 644 /etc/hotplug.d/iface/90-ipv6