天津大学校园网环境下openwrt的ipv6设置

关键词:天津大学 北洋园 openwrt ipv6

最开始为了一些你懂得的用途在@reclusivepanda的安利下入手了一个r2s,刷了openwrt,除了有时候b站css样式加载不出来等几个阴间bug之外都还不错(软路由真香,解码能力比家里的网件强亿倍)。好景不长,注册了北洋园pt之后笔者发现下完的种子做种几乎没有上传,再持续下去怕不是要被直接封号,于是询问tjupt群里dalao,得知主要的peers都用ipv6,emm…北洋园这边的网对openwrt的支持不是很行,至少v6自动获取ip即插即用是不用想了。

v6的事零零散散折腾了两三个月,无论是博客上现成的解决方案还是问校内的各路dalao笔者都没成功解决问题。于是趁着元旦放假,笔者花了两三天时间找了找解决方案,在R2S上胡乱折腾,终于今天(20210104)解决了v6地址问题,给孩子激动坏了。闲话少说,开始正文。

首先,笔者假定读者已经安装好了r2s(与附属的交换机等等设备),使用luci界面,并且完成了在端口wan上的pppoe拨号。

在一顿操作前,网络-接口界面应该是这样子的:

而tju的网络分配下来的是/128的地址,笔者理解为一个地址(就像ipv4那样)而不是地址段,因此只能采用万恶的NAT给LAN下的客户端分配地址。不过说NAT的提供者还是自己的R2S而不是万恶的ISP ,因而PT用户毋须担心,R2S配置好UPNP,NAT+v6可以正常做种。

总的说来,v6地址设置分为三部分:路由器wan获取-路由器lan服务搭建-防火墙转发设置

WAN获取:

这是笔者网线直连pc之后访问ipv6-test.com获得的结果,注意到tjuv6不支持SLAAC,而使用标准DHCP-V6分配地址

tju的v6网络疑似有MAC认证/识别机制,折腾之前笔者的R2S在wan6端口从未直接获取到ipv6地址.

  1. 配置wan6
    1. 删除系统自带的wan6接口并重建一个wan6,接口协议选DHCP-v6。保存并应用后等待几秒刷新一下,若无v6地址在wan6选项卡下出现则wan6-修改-高级设置-重设MAC地址,随便更改一下MAC地址保存并应用。此处建议改最后一位,因MAC地址似乎有自己的命名规则。
    1. 在网络-接口下“全局网络选项”中更改IPv6ULA前缀,将首位的第一个字母由f改为d。例如笔者的前缀是fd00:a123::/48,将第一位f改为d,即dd00:a123::/48。
    1. 到这里wan6应该能正常获取v6地址了。tju的校园网声称为v4/v6双栈网络,不过笔者查到的案例都表明双栈网应该在PPPOE接口(pppoe-wan)获得v6地址,而非重新开一个wan6接口。这也可能与校园网认证有关。
  2. 配置lan
    1. 在网络-接口-lan-DHCP服务器-IPv6设置下进行如下更改
      1. 路由通告服务=服务器模式
      1. DHCPv6服务=服务器模式
      1. NDP代理=已禁用
      1. DHCPv6模式=无状态+有状态的
      1. 总是通告默认路由=开
        此处建议不使用tju提供的DNS,而使用阿里/百度/谷歌/北邮DNS。笔者使用的是2400:3200::1 2400:3200:baba::1
  3. 设置防火墙
    1. 防火墙

在网络-防火墙-自定义规则 中 最后一行加入

ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

这里eth0应该填写wan6的网卡名称,在R2S的情况下wan与wan6共用物理接口eth0,所以直接复制上述命令没有问题。在其余硬件的情况下请自行ifconfig查看网卡名称

  • 网关
    • 在R2S的终端内使用traceroute -6 2400:3200::1 看第一行出现的ipv6地址,此地址既是当前网络状态下的网关。我们需要将此地址添加到默认路由表中
    • 终端内输入命令 route -A inet6 add default gw (gateway) dev eth0

这里(gateway)整体替换为刚才复制的网关v6地址,eth0同上,不解释。

  1. 重启服务使更改生效

/etc/init.d/firewall restart
/etc/init.d/network restart

  • 网关更改设置脚本

route命令每次重启后需要重新输入,不妨写一个开机自启动脚本。终端下进行如下操作:

vi /etc/hotplug.d/iface/90-ipv6

进入编辑页面将以下内容直接复制进去

#!/bin/sh
[ “$ACTION” = ifup ] || exit 0
route -A inet6 add default gw (gateway) dev eth0

              输入:wq后enter退出编辑器

              然后给予执行权限:

              chmod +x /etc/hotplug.d/iface/90-ipv6

设置完成。

  • 负载均衡设置

有案例称一些固件的负载均衡设置会影响v6可用性。如果有负载均衡功能则作如下修改

网络-负载均衡-策略 中 balance项将 不可达(拒绝)修改为 默认(使用主路由表)

网络-负载均衡-规则 中 https 与 default_rule将 分配的策略 (从不可达)修改为 default

成品
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
下一篇