老毛子Padavan路由器固件开启IPv6并通过安装6relayd实现IPv6转发教程

2018-11-18
0评论
/
13280阅读
爱搜啊

自从给小米路由器mini刷了老毛子固件之后就特别想实现路由器的 IPv6 服务,最近刚到学校就开始折腾,到今天总算是比较完美了。注意:此教程只适用于老毛子Padavan 华硕固件,并且有原生 IPv6 网络(教育网)。

一、开启opt环境

首先要在老毛子的管理后台开启 opt 环境,设置路径在“扩展功能”-“配置扩展功能”-“opt环境”,启用 opt 自动更新、启用扩展脚本自动更新、打开 opt 强制安装、opt 安装模式选择“自动选择:SD→U盘→内存”。打开之后在 log 中会有安装的过程,出现类似【opt】: opt 挂载正常:tmpfs的日志说明 opt 环境已经安装成功。

老毛子Padavan路由器固件开启IPv6并通过6relayd实现IPv6转发

二、开启 WAN 端 IPv6

在管理后台“外部网络(WAN)”-“IPv6 设置”中设置:

IPv6 连接类型:Native DHCPv6//即原生的 DHCPv6

IPv6外网设置

获取 IPv6 外网地址:Stateless: RA

DNSv6 外网设置

自动获取 IPv6 DNS:否

DNSv6 服务器 1:2001:250:4800::a

DNSv6 服务器 2:2001:250:4800::b

注:DNS 的设置可能每个学校不太一样,以学校的教程为主,比如我们学校要求 IPv6 的 DNS 设置为:

2001:250:4800::a
2001:250:4800::b

通过 DHCPv6 获取内网 IPv6 地址:启用

启用 LAN 路由器通告:启用

启用 LAN DHCPv6 服务器:Stateless (*)

总的设置如下图:

老毛子Padavan路由器固件开启IPv6并通过6relayd实现IPv6转发

设置好后点击页面下方的“应用本页面设置”,等待路由器反应过来后就打开“网络地图”-“外部网络状态”,可以看到已经获取到了 IPv6 地址,如图:

老毛子Padavan路由器固件开启IPv6并通过6relayd实现IPv6转发

然而这个时候只是路由器能访问 IPv6,路由器下级的设备还不能,因为没有对应的 IPv6 转发协议。网上有很多这样的程序,6relayd 就是其中一个,这里我用 6relayd 来转发 IPv6。

三、安装并运行 6relayd

用 ssh 工具连接到路由器,运行以下命令:

opkg update
opkg install 6relayd
Select CodeCopy

安装好之后再输入以下命令来运行 6relayd

6relayd -d -A eth2.2 br0
Select CodeCopy

这里的 eth2.2 就是 WAN 网口的网卡名,可用ifconfig命令来查看,一般不用更改。而 br0 则代表整个内网,一般也不用更改。

运行之后连接到路由器的设备也能获取到 IPv6 地址并访问 IPv6 资源。

不过呢,一旦重启之后 Opt 环境就重新配置了,6relayd 也就没了。所以每次重启都要重新安装并运行 6relayd,很是麻烦。如果你想每次开机都自动配置 6relayd 的话就看下一步。

四、开机自动安装并配置 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"
Select CodeCopy

然后点击页面下面的“应用本页面设置”即可,这样每次开机的时候会等待 opt 环境,一旦安装好 opt 环境就自动下载 6relayd 并配置运行。

五、解决 6relayd 自动掉线

我看网上有说如果长时间没有 IPv6 的连接,6relayd 会自动停止,这样就要重新运行 6relayd 一次,我想到的解决办法是每隔半小时 ping 一下谷歌的 IPv6 地址。将以下代码添加到“系统管理”-“服务”-“计划任务 (Crontab)”中即可。

 */30 * * * * ping -6 -c 2 ipv6.google.com
Select CodeCopy

六、总结

好啦,以上就是这篇博客的全部内容了,在这里我也希望学校能早日在宿舍区域也开启 IPv6 ,不过到那时我也该走了 :(犀利) 可惜了,毕竟 IPv6 短时间内还只是教育专属资源。


本站附件分享,如果附件失效,可以去找找看

诚通网盘附件百度网盘附件


于2018-11-18发布