PFsense WireGuard 分流

2023-10-19 15:15:00 +08:00
 roma

PFsense 作网关,PFsense wireguard 连接到 vps(wireguard 服务端,已正确配置并连接), 想实现以下分流: 1 、国内国外分流,访问国内地址直接本地出去,访问国外走 wireguard 隧道。 2 、GFWlist 分流,访问 GFWlist 地址的走 wireguard 隧道,

1861 次点击
所在节点    宽带症候群
7 条回复
cnbatch
2023-10-19 19:19:30 +08:00
1 、换 opnsense ,自带地区分流功能。使用前务必先更新 IP 地址库。


2 、只能做到近似的效果,想要 100%符合很麻烦。无论 pfsense 还是 opnsense 都这样。
比如说,想要把某个墙内普址加入到 GFW list 强行走隧道绕一圈,十分麻烦。除非用 BSD 手动设防火墙。
这是因为 gfwlist 需要类似 ipset 的功能,在 BSD 系统上对应的是 pf table 和 ipfw table 。但 pfsense 和 opnsense 并不使用 ipfw ,只用 pf (没错,就是 mac 也用的那个 pf 防火墙),而 pfsense 和 opnsense 的脚本程序全盘接管了 pf 的配置文件,无法加载手动建立的 pf table 。

Web 界面可以自己加,但那么多条目扔进去的话,无论对于 Web 界面还是人眼都是巨大负担,以后需要重新编辑时几乎不可能手动编辑,只能靠上传配置文件的方式来做( opnsense 论坛有教程: https://forum.opnsense.org/index.php?topic=20653.0 )。个人实测,效果并不怎么好,总是重定向失效。

退而求其次的做法是,把 gfwlist 单独做成 unbound dns 的规则文件,扔到 /usr/local/etc/unbound.opnsense.d/ ,这样就可以使被墙网站正确解析。鉴于被墙网站全是位于境外的,所以会自动根据第一个需求的设置走隧道。
mantouboji
2023-10-20 00:08:23 +08:00
这不就是我用的 RouterOS wireguard OSPF 分流,跟 dndx 原文不同点在于 bird2 运行在境外 VPS 上。

OpenBSD 那套东西扔了吧。
roma
2023-10-20 09:02:15 +08:00
@mantouboji 非常感谢,
除了 pfsense & oopnsens ,有没有其他更好的方法实现内网其他用户科学上网分流
roma
2023-10-20 09:03:24 +08:00
@mantouboji #2 非常感谢,
mantouboji
2023-10-20 11:02:36 +08:00
@roma 这样的文章你看一下有没有参考价值

https://www.kaoet.me/2021/08/18/ha-gfw-router-ospf
cloudsong
2023-10-25 23:22:51 +08:00
我用 pfsense 做过分流。没有任何问题。当时是回国走香港 wg ,其他直接连。大概步骤如下:
1. 配置好 wireguard 和 pfblockng ,确保设备可以上网,同时 wg 可以 ping 通其他 peer
2.建立一个 alias ,把需要分流的内网 ip 写入。这样不在这个列表内的 ip 就直接上网不分流。
3. pfblockng 里面首先要注册 maxmind ,获取一个 key ,以便下载 geoip 数据库。之后选择 geoip ,然后在国家列表里选择中国,action 选择 matching 。这里不要选择 block 或者 pass 。
3. firewall 里创建一个 lan 的 rule ,source 就是刚才你建立的分流列表里的本地 ip ,目标地址选择批发部 lckng 自动建立的中国 ip 列表名称,然后在 advance 选项里选择远端 vps 的 wireguard ip address 即可。

总结一下,这里我假设你对 pfsense 很熟悉。分流的效果我用了大约 2 年,没有什么问题。你的需求跟我相反,那么在你配置 pfblockng 的时候,就选择其他国家走 wg 即可。这个方案硬件我是 lenovo p340 ,cpu 10700t ,给 4 核心能跑满千兆。给 8 核心跑 2500m 没问题
roma
2023-10-26 10:35:39 +08:00
@cloudsong #6 非常感谢,

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/983493

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX