原文:https://note.cubercsl.site/notes/615f5972
给信息办投诉学校的无线用不了 IPv6 始终没有得到回复。只能自己在路由器上折腾实验室的网了。
网上很多 openwrt 用户都是用的 IPv6 中继[1],而我前前后后大概折腾了半个月始终搞不定,具体表现为:获取到了全球单播地址却无法访问任何 v6 网站。直到我发现学校的无线网也有这个毛病后给信息办投诉了一波。不过至今未解决,于是我只能用别的方法了……
感谢网友 @imlk_me 提供的思路。
这边直接插有线网(交换机)都能正确获得学校的 IPv4 和 IPv6 地址,但是 IPv4 通过路由器 NAT 后,使用中继获取的 IPv6 地址不能被正确路由,ping 外网主机没有响应。最终我使用 Passthrough 方式,缺点就是路由器自身会失去 IPv6 的访问。[2]
总的思路就是把 wan 口和 lan 口桥接到 br-lan 上,把上面不是 ipv6 的包给丢掉。
为了让设置能在 v6 网络起来的使用自动配置,添加脚本 /etc/hotplug.d/iface/99-ipv6:
#!/bin/shiface=wan6interface=eth0[ -z "$iface" -o "$INTERFACE" = "$iface" ] || exit 0case "${ACTION}" inifup)ebtables -t broute -A BROUTING -p ! ipv6 -j DROP -i $interfacebrctl addif br-lan $interfacelogger -t IPv6 "add IPv6 bridge.";;ifdown)brctl delif br-lan $interfaceebtables -t broute -Flogger -t IPv6 "delete IPv6 bridge.";;esac
