Padavan开启教育网IPV6
方法一、三行命令实现
参考文章:https://www.jianshu.com/p/ed34cbf3b90c
Padavan固件中,在 外部网络(WAN)-IPv6设置 中这样设置:
#将下列命令加入开机启动脚本即可 modprobe ip6table mangle ebtables -t broute -A BROUTING -p ! ipv6 -j DROP -i eth2.2 brctl addif br0 eth2.2 logger -t "【IPV6】" "IPV6已启动"
这种方式能直接获取2001:开头的地址,但是会莫名其妙地出现“kernel: icmpv6_send: no reply to icmp error”在系统日志处刷屏,据说“在 WAN 上行/下行启动后执行”加入下列命令可以解决?实测无效...?出现这种错误大概是由于学校的IPV6出口不稳定的缘故吧
echo 0> /proc/sys/net/ipv6/conf/`nvram get wan_iface`/accept_ra ip -6 route flush default dev`nvram get wan_iface` echo 2> /proc/sys/net/ipv6/conf/`nvram get wan_iface`/accept_ra
方法二、6realyd实现IPV6转发
参考文章:https://blog.sunriseydy.top/daily/padavan-ipv6/
(1)开启opt环境
USB应用程序-其他设置 允许运行Optware 选择Entware
如果没有插U盘或者SD卡则需要设置opt安装模式为“安装到内存”
(2)加载opkg
在ssh中执行 opkg.sh 命令,等待约1~2分钟即可
(3)IPV6设置同方法一
(4)安装6relayd
将下面脚本粘贴到“高级设置”-“自定义设置”-“脚本”-“在路由器启动之后执行”中最后即可实现开机自动安装配置 6relayd。
#开机自动安装运行 6relayd export PATH='/etc/storage/bin:/tmp/script:/etc/storage/script:/opt/usr/sbin:/opt/usr/bin:/opt/sbin:/opt/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin' export LD_LIBRARY_PATH=/lib:/opt/lib while ! [ -x "`which opkg`" ] do logger -t "【6relayd】" "Waitting opt install" sleep 3 done while ! [ -x "`which 6relayd`" ] do logger -t "【6relayd】" "6relayd not found,begin to install it" opkg update opkg install 6relayd done logger -t "【6relayd】" "6relayd has been installed" 6relayd -d -A eth2.2 br0 logger -t "【6relayd】" "6relayd start"
(5)解决6relayd自动掉线
长时间没有 IPv6 的连接,6relayd 会自动停止,这样就要重新运行 6relayd 一次。所以需要每隔半小时 ping 一下谷歌的 IPv6 地址
将以下代码添加到“系统管理”-“服务”-“计划任务 (Crontab)”中即可。
*/30 * * * * ping -6 -c 2 ipv6.google.com
可是来自学校的断线又能怎么办呢┑( ̄Д  ̄)┍ 而且6relayd本身不怎么稳定
方法三、使用NAPT66实现路由器IPV6 NAT转发
参考文章0:https://www.jianshu.com/p/eb07eaac6167
参考文章1:http://www.right.com.cn/forum/forum.php?mod=viewthread&tid=260924
参考文章2:http://www.right.com.cn/forum/forum.php?mod=viewthread&tid=325078
Padavan的Linux内核原生不支持ipv6的NAT;
NAPT66是北邮学生开发的在较旧内核的Linux上实现ipv6 nat的内核模块;
项目地址:https://github.com/mzweilin/napt66
要想使用NAPT66,需要对内核代码做修改,参考:http://www.jianshu.com/p/3a9ec169336e
(然而我一点都不会路由器固件内核的编译...还好hiboy的固件集成了napt66.ko)
(1)进入“自定义设置 - 脚本”中“路由器启动后执行”脚本中添加如下脚本:
wan_if 参数不能照搬,要指定为实际的网口
###启动NAPT66模块 insmod /lib/modules/$(uname -r)/kernel/net/napt66/napt66.ko wan_if=eth2.2 logger -t "【NAPT66】" "模块已加载"
(2)在“在防火墙规则 (Emong's Qos) 启动后执行”脚本中添加如下脚本:
###NAPT66 所需要的防火墙政策 ip6tables -F ip6tables -P INPUT ACCEPT ip6tables -P FORWARD ACCEPT ip6tables -P OUTPUT ACCEPT logger -t "【NAPT66】" "防火墙政策已设置"
(3)IPV6设置如下图
关闭IPV6硬件加速
IPV6内网地址开头不要用fcxx,fdxx开头的保留地址,否则客户端可能会优先使用 IPv4
LAN DHCPv6服务器选择 Stateless & Stateful
用NAPT66的好处是靠路由器NAT转发IPV6流量,而且局域网设备获取的是内网的IPV6地址
┑( ̄Д  ̄)┍但是该暴毙的还是会暴毙,但是只需要点一下 "外部网络状态" 中的 "重新连接" 再等一会久可以了?有待观察
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
评论已关闭