前言
因教育网IPv6不限速,使用清华TUNA的开源镜像站下载资源能够跑满带宽,体验非常好,所以就有了给路由器配置IPv6的想法。之前使用极路由官方固件时有官方的教育网插件可以用(使用6relay),但换了Openwrt后使用的是odhcpd,需要自己重新配置一下。这篇博客纪录了我的配置过程,其中参考了恩山论坛的这篇帖子。
配置环境
- 本次配置使用的硬件设备:极路由3(HC5861、MT7620)
- 本次配置使用的固件:Lean’s Openwrt R21.6.22
- 本次配置使用的Mentohust:Mentohust-ipk、Luci-App-Mentohust
Lean’s Openwrt中内核模块默认勾选了NAT6功能,因此编译时只需要勾选编译Mentohust相关的软件包即可,编译的过程在此就不赘述了。
路由器配置
刷入固件后,先不要连接路由器的WAN口,待电脑DHCP获取到由路由器分发的IP地址后,再将网线连接到WAN口。(如果一直连接WAN口,电脑会首先获取到校园网DHCP的IP地址,此时需要断开并重启电脑与路由器的连接)
WAN6接口配置
在基本设置中,各项配置如下:
- 协议:DHCPv6客户端
- 请求IPv6地址:try
- 请求指定长度的IPv6前缀:自动
在高级设置中,各项配置如下:
- 使用内置的IPv6管理:不勾选
- 使用对端通告的 DNS 服务器:不勾选(SCNU校园网不分发IPv6的DNS服务器地址,IPv6的地址解析全都是用v4的DNS服务器,因此需要自行指定)
- 使用自定义的DNS服务器:
2001:da8::666
保存并应用,可以看到WAN口同时获得了IPv4和IPv6的地址,接下来可以进行Mentohust的配置了。
Mentohust配置
打开服务-MentoHUST
,在常规设置中进行如下配置:
- 用户名和密码:填入自己的校园网用户名和密码
- 接口:选择WAN口网卡,我的路由器是WAN口是
eth0.2
- Ping主机:如果需要掉线检测功能,就填入一个公网IP地址,我使用了自己的云服务器IP地址
在高级设置中进行如下配置,其他无需修改:
- 验证失败等待时间:5
- DHCP设置:认证前
- DHCP的脚本:
udhcpc -i eth0.2
最后在常规设置中勾选启用,保存并应用,查看日志,试试能否登录成功。
确认能够连上互联网后,ssh连接路由器,尝试ping一下IPv6的地址,验证路由器是否正确获取IPv6地址并连接成功,以下是ping6的命令和执行结果。
1 | ping6 -c 4 bt.byr.cn |
LAN口配置
在接口
页面,找到全局网络选项
,修改IPv6 ULA前缀
:
- 将地址的首位改为
d
(你喜欢改什么都行),我从fd73:1f1d:a603::/48
改为了dd73:1f1d:a603::/48
编辑LAN口配置,找到DHCP服务器
,修改IPv6
设置:
- 路由通告服务:服务器模式
- DHCPv6服务:服务器模式
- NDP代理:已禁用
- DHCPv6模式:无状态的+有状态的
- 总是通告默认路由:取消勾选
保存并等待一段时间,此时电脑应该获取到了路由器自行分发的IPv6地址,LAN口也有自己的IPv6地址。
防火墙配置
打开防火墙的自定义规则
,添加如下一行规则并点击重启防火墙,开启IPv6数据包的转发。
1 | ip6tables -t nat -A POSTROUTING -o eth0.2 -j MASQUERADE |
网关配置
首先ssh登录路由器,查看当前IPv6的默认路由
1 | ip -6 route | grep default |
可以看到有2条路由配置
复制这个fe80
开头的IPv6地址,将当前的默认网关添加到默认路由中
1 | route -A inet6 add default gw fe80::274:9cff:fe80:dc7d dev eth0.2 |
再次查看当前的默认路由,可以看到有3条记录
重启网络服务,验证局域网设备能否连上IPv6网络(重启后记得手动重启Mentohust服务)
1 | /etc/init.d/network restart |
由于默认路由重启后会重置,因此需要添加一个脚本,让路由器开机自动添加默认路由
1 | vi /etc/hotplug.d/iface/90-ipv6 |
添加如下内容,其中的默认路由地址修改为自己的默认路由
1 |
|
保存退出后,赋予执行权限
1 | chmod +x /etc/hotplug.d/iface/90-ipv6 |
IPv6测试
总结
对于SCNUNET,一开始我使用的IPv6方案为全中继的模式,路由器局域网设备IPv6地址全由上级路由器分发,局域网设备的确是获得了公网IPv6的地址,但是这个地址是上不了网的,而路由器的IPv6地址却使用正常,个人猜测是因为这些IPv6地址没有登录校园网,因此也无法使用。
既然在中继IPv6的方案下不可行,那就只能使用NAT6的方法了。在参考了许多篇配置的文章后,终于是配置成功了。