V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
roma
V2EX  ›  宽带症候群

PFsense WireGuard 分流

  •  
  •   roma · 2023-10-19 15:15:00 +08:00 · 1963 次点击
    这是一个创建于 429 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    cnbatch
        1
    cnbatch  
       2023-10-19 19:19:30 +08:00   ❤️ 1
    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
        2
    mantouboji  
       2023-10-20 00:08:23 +08:00   ❤️ 1
    这不就是我用的 RouterOS wireguard OSPF 分流,跟 dndx 原文不同点在于 bird2 运行在境外 VPS 上。

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

    https://www.kaoet.me/2021/08/18/ha-gfw-router-ospf
    cloudsong
        6
    cloudsong  
       2023-10-25 23:22:51 +08:00 via iPhone   ❤️ 1
    我用 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
        7
    roma  
    OP
       2023-10-26 10:35:39 +08:00
    @cloudsong #6 非常感谢,
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2535 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 04:01 · PVG 12:01 · LAX 20:01 · JFK 23:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.