type
status
date
slug
summary
tags
category
icon
password
旁路由架构的家庭网络环境在开启IPv6之后,默认情况下,流量会经过主路由的防火墙,在非内网环境下,如果想访问家庭局域网内的服务默认是会被防火墙阻断,所以我们需要在主路由的防火墙中增加放行规则,从而使我们可以在非内网环境下使用家庭局域网内的服务,例如WireGuard、Jellyfin、Sunshine远程串流等等。
📝 配置方法
由于OpenWRT旁路由没有
wan
口,所以默认所有的流量都是通过lan
区域进行本地交换,一般来说不用单独在旁路由上进行防火墙配置,只需要在唯一与外网进行连接的主路由进行配置即可。同时,不建议关闭IPv6防火墙,尽管IPv6地址和端口扫描难度很大,但是依旧存在被扫风险,届时所有的局域网服务均可能暴露在外网,即便不会遭到攻击,运营商也会因为你在家庭宽带提供公共网络服务给你打电话,因为存在可访问的界面。
LUCI界面配置方式
打开OpenWRT路由器管理页面,进入
网络 - 防火墙 - 通信规则
,点击添加
来新增一条规则,在通信规则中所添加的规则在默认规则上方,所以不用担心于默认路由器防火墙规则冲突,不能生效,但需要注意与同页面的其他通信规则是否冲突,如果有,需要可以通过拖拽的方式,调整OpenWRT防火墙通信规则优先级。
名称:根据自己需要填写,建议填写具有明显标识的规则名称,例如
Sunshine IPv6
这样。协议:根据需要放行的协议进行选择,如果不确定可以选择TCP和UDP,基本涵盖大多数应用使用协议。
源区域:即流量入口所泽的防火墙区域,选择
wan
区域。源地址:不选择。
源端口:不填写
出口区域:即流量出口所在的防火墙区域,选择
lan
区域。目标地址:通过
ip -6 neigh show
查看需要进行放行的客户端的Link-local IPv6 Address
,也就是本地IPv6地址,一般来说以fe80::
开头。选择地址后,删除link-local ipv6地址的前缀部分,例如我的地址为fe80::65e8:ee2a:10b3:b2d5
,那么删除后就是::65e8:ee2a:10b3:b2d5
,然后在后面添加/::ffff:ffff:ffff:ffff
,意思是匹配所有后缀为::65e8:ee2a:10b3:b2d5
的本地IPv6地址,将完整地址::65e8:ee2a:10b3:b2d5/::ffff:ffff:ffff:ffff
填入目标地址中。这样无论运营商下发的IPv6前缀如何变动,我们通过固定的后缀即可进行客户端的匹配。目标端口:即放行端口,建议使用哪个端口,就填写哪个端口,可以填写端口范围,例如
80-443
这种。不填写则默认全部端口放行,存在很大安全隐患,不建议。操作:接受。

高级设置中,我们仅需要对地址族进行修改及限制。
地址族限制:修改为
IPv6
。其他无特殊需要不用填写和修改,进行保存即可。然后可以尝试通过外网进行本地服务访问,如果在OpenWRT的
状态 - 防火墙
的规则容器链 "forward_wan"
看到对应规则及计数,即表示放行成功。NFT命令方式
新手小白不建议采用nft命令方式进行防火墙放行配置。这里仅供参考。
例如我们需要对刚刚的
::65e8:ee2a:10b3:b2d5/::ffff:ffff:ffff:ffff
这个客户端进行80
端口的放行,则在SSH登录OpenWRT系统后输入:即通过
nft add rule
添加规则,操作fw4
表与forward
链,匹配目标地址为::65e8:ee2a:10b3:b2d5/::ffff:ffff:ffff:ffff
的目标地址及tcp 80
端口,允许防火墙区域wan的流量进行转发。如果需要添加
udp
协议的流量,则为:🤗 其他
关于后缀匹配规则
理论上,
::65e8:ee2a:10b3:b2d5/::ffff:ffff:ffff:ffff
可以简写为::/64:65e8:ee2a:10b3:b2d5
,即都表示该IPv6地址的前64位为可变动,后64位为固定地址。不可简写为::65e8:ee2a:10b3:b2d5/0
,因为/0
表示整个IPv6地址空间,意味着没有任何掩码,所有128位地址的匹配都符合条件,实际上匹配整个IPv6地址范围(即"所有地址")关于固定后缀
在IPv6与旁路由共存:实现策略代理与原生地址的完美平衡 这篇文章中,我建议在主路由的
lan
口和wan_6
口,旁路由的lan
口和lan_6
口的高级设置中,将IPv6后缀设置为EUI64,这样将客户端的IPv6地址生成与设备的MAC地址形成一对一的绑定,只要设备的MAC地址不变,那么设备的IPv6地址后缀也就不变,从而在防火墙配置、路由配置等操作中更为方便。📎 参考文章
有关OpenWRT安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~