在校园网环境中配置OpenWrt以实现IPv6中继和IPv4转发
环境
- immortalwrt-bcm27xx-bcm2711-rpi-4-squashfs-factory.img(树莓派 4immortalwrt 版本 openwrt)
- Linux version 5.4.203 (runner@fv-az1253-223) (gcc version 8.4.0 (OpenWrt GCC 8.4.0 r12307-d740b795ef))
- 校园网 IPv4:需认证且有设备数量限制,不选择中继
- 校园网 IPv6:无 pd,地址段不够用
问题概述
- 校园网环境无法访问 OpenWrt 平台
- OpenWrt Raspi 版本默认不开启 IPv6
- 校园网 IPv6 无 pd,无法再划分子网,因此需要我们中继上一级网络的 IPv6
- OpenWrt 下使用统一 IPv4 地址,IPv4 不进行中继(增加设备数量)
前置准备
- 若刚将 OpenWrt 安装至 SD 卡中,请从校园网环境下登录 OpenWrt 并设置基础的 WAN 口及 LAN 口开始。
- 若已经搭建好 OpenWrt,但希望进行 IPv4 中继或 IPv6 访问,请从开启流量转发以使用 ipv4
步骤
校园网环境下登录 OpenWrt 并设置基础的 WAN 口及 LAN 口
连接 OpenWrt - Raspi
由于 OpenWrt 安装好的系统默认将 WAN 口和 WiFi 设置进行桥接,所以新安装的 OpenWrt 若接入校园网,连接 OpenWrt WiFi 后,是无法通过 192.168.1.1 连接路由器的,因此此时我们不连接任何网络,直接插电进入 OpenWrt 后台进行配置
连接 WiFi 后浏览器进入后台地址192.168.1.1
,默认密码password
。进入后修改密码以及 SSH 登录信息。
基础 LAN 口设置
- 进入网络 - 接口,修改 LAN 接口,物理设置 - 接口,仅设置为无线网络,提交并保存。
LAN 接口设置
基础 WAN 口设置
添加新接口,命令为 WAN,此接口用于连接上级网络(校园网)。包括eth0 接口(网线接口)。在后面由于校园网特殊构造,我们需要设置成静态 IP 模式,但是由于此节讲述 OpenWrt 配置,因此按照一般设置,我们使用 DHCP。提交并保存。
WAN 设置
此时,你就可以将网线插入校园网,不影响后台登录了。
开启流量转发以使用 IPv4
进入网络 - 防火墙,添加从 LAN 到 WAN 的转发以及 WAN 到 LAN 的转发,打开后应该能正常访问校园网,但仅有 IPv4

流量转发设置
校园网环境下的 IPv6 中继
下载并运行 ipv6-helper.sh 安装 v6 模组
- 下载好 https://openwrt.cc/scripts/ipv6-helper.sh 并安装 IPv6 模组(由于 OpenWrt 此时无法正常上网,建议使用 SFTP 的方式上传 OpenWrt)
- 本站下载地址:https://api.zty.ink/api/v2/objects/file/c3siwt84ar895u58zt.sh
wget -O ipv6-helper.sh https://api.zty.ink/api/v2/objects/file/c3siwt84ar895u58zt.sh
chmod +x ipv6-helper.sh && bash ipv6-helper install
配置 WAN6,获取 IPv6 流量
WAN6 和 WAN4 其实是同一个接口,都使用了 eth0,但是为了方便配置,分成了两个逻辑接口,这样也会更方便我们 IPv4 和 IPv6 的分别配置。
- 添加一个新的接口 WAN6 将传输协议修改为 DHCPv6,接口添加到 eth0 中,保存并应用,过一段时间可以发现我们已经从上级路由处获得了一个/64 地址(如果你的了比这个跟小的地址,那么后面你就不需要继续看了,直接使用就好),但这个地址其实并不是我们路由器能分配的(非 dp 接口),仅仅只是 OpenWrt 获得的 v6 地址,因此我们在后面选择进行中继。这个 DHCPv6 客户端是为了获取 ipv6 流量。

WAN6 配置
配置 WAN 到静态地址
由于 DHCP 协议中没有 ipv6 设置,所以我们需要将 WAN 修改为静态地址,当然这应该是图形化界面没有优化到的部分,当然这部分内容也可以在/etc/config/dhcp
中进行配置,此处我们选择直接将 WAN 修改为静态地址后配置 dhcpv6 设置。
- IPv4 地址填写你在 DHCP 服务器时获取到的 IP 地址,子网掩码和网关也填写对应内容即可。

WAN 静态配置
同时修改 WAN 的 DHCP 服务器 - IPv6 设置,将三个服务设置为中继模式
LAN 的 IPv6 中继设置
同上一步,由于 LAN 本身为静态 IP 地址,所以我们只需要修改其其 DHCPv6 即可,同样全部设置为中继模式即可。
指定主接口
nano /etc/config/dhcp
在 WAN 行添加option master '1'
config dhcp 'WAN'
option start '100'
option leasetime '12h'
option limit '150'
option interface 'WAN'
option ra 'relay'
option dhcpv6 'relay'
option ndp 'relay'
option master '1'
配置option master '1'
用于指定主接口的作用是启用 IPv6 中继(relay)功能。IPv6 中继功能允许路由器将上游(WAN)接口获取的 IPv6 前缀信息转发到下游(LAN)接口,从而使局域网中的设备能够获得 IPv6 地址并通过路由器访问互联网
重启 Network
/etc/init.d/network restart
开启 IPv6 DNS 解析
进入网络 - DHCP/DNS - 高级设置,关闭禁止解析 IPv6 DNS 记录
即可。
添加域名白名单
于2025年2月18日更新
进入DHCP and DNS
-filter
,添加需要修改的域名进入到Domain whitelist
即可(通常是认证网址)
总结
说白了,就是使用 OpenWrt 的 DHCPv4,使用上游路由器的 DHCPv6