wireguard 如何回家再科学? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
bigbigpeng3
V2EX    WireGuard

wireguard 如何回家再科学?

  •  
  •   bigbigpeng3 2023-06-06 19:29:20 +08:00 10169 次点击
    这是一个创建于 925 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前的配置是

    家里没有公网 IP

    1 台国内 VPS 作为 Wireguard 服务器

    家里 1 台软路由搭建了 openwrt 搭建了 openclash 科学,以及 wireguard 转发请求,让外面的设备可以访问局域网。

    目前的想法是想在外面直接通过 wireguard 实现回家并通过 openwrt openclash 科学。

    目前的状态是 可以回家并访问家里的局域网设备。对于怎么科学这部分有点没有头绪。求大佬们指点迷津!

    第 1 条附言    2023-06-07 17:16:07 +08:00
    感谢各位大佬的回复,我也一直在找自己合适的方式。

    我现在的状态是

    家里没有公网 IP
    1 台公网 VPS 作为 wireguard server/gateway 转发内网请求
    家里一台 Linux 作为一个 wireguard peer 转发内网请求,同时搭配了 clash 以及 DNS 代理。可以作为透明网关科学。

    目前觉得可行方案有

    1 #15 楼 vps frp 映射家里的 Linux 作为 wireguard server ,然后出门在外的设备直接 wireguard 全局回家。按道理是可行的。但是因为要重新搞一套 server 方案。目前放弃。

    2 #17 #18 楼 Clash.meta 方案。目前测试成功。这套方案客户端开一个代理软件即可。而且折腾下来比较流畅。

    3 Wireguard through all traffic to peer. 流量全部交给某一个客户端代理,这套方案是我最初始的想法。折腾了最多的时间,没有成功。后续会继续关注。


    对于 2 方案,下面给出具体的一些资料,以及注意点。

    具体原理就是 clash.meta proxy 里面加上你的 wireguard 节点。在 mac 上我试过 clash/clash pro ,连接 wireguard 没有成功。所以使用 clash.meta 。也有可能是我使用 /配置问题。

    mac 端 app
    https://github.com/MetaCubeX/ClashX.Meta/releases

    iOS 端 app(导入配置太大,会导致 app 特别卡)
    https://t.me/meta_for_ios
    为什么不使用小火箭? Stash ?因为可能后续会分享给别的朋友使用。不想使用付费的 App 。所以付费的 app 都没有测试。

    小注意点:
    建议使用 Clash.meta 的事例配置,里面包含了基础配置,以及 wireguard 事例配置。
    https://wiki.metacubex.one/example/

    配置文件需要修改一下你的 wireguard 网络,以及你的内网,让 wireguard 去代理。
    比如我的是 10.0.0.1/24 192.168.1.1/24

    - IP-CIDR,10.0.0.0/8,wireguard,no-resolve
    - IP-CIDR,192.168.0.0/16,wireguard,no-resolve
    26 条回复    2024-11-06 10:59:57 +08:00
    lhbc
        1
    lhbc  
       2023-06-06 19:33:59 +08:00 via Android
    那访问科学的网站的数据链路就变成
    手机-->VPS-->家-->家里的 clash-->科学节点-->最终目标
    不怕延迟爆表吗
    这里几乎每一环节都封装了另一层协议
    bigbigpeng3
        2
    bigbigpeng3  
    OP
       2023-06-06 19:38:33 +08:00
    @lhbc 我目前买的国内的 VPS ,有时候远程控制家里的电脑,延迟可以接受,ping 家里的设备 20ms 左右。科学 150ms 左右。主要想试试看看,这样回家 科学就一起了。。。哈哈哈哈,奇怪的需求。
    Mar5
        span class="no">3
    Mar5  
       2023-06-06 19:39:16 +08:00 via iPhone
    既然已经通了,那就直接代理填 openclash 所在设备的 IP+端口不就行了。
    bigbigpeng3
        4
    bigbigpeng3  
    OP
       2023-06-06 19:48:33 +08:00
    @bigshawn 感谢,这个思路电脑确实可以,iphone/android/ipad 移动设备好像只能开一个 VPN ,这些设备如何处理呢
    bigbigpeng3
        5
    bigbigpeng3  
    OP
       2023-06-06 19:51:14 +08:00
    我看到之前有个帖子讨论过这种问题

    https://v2ex.com/t/920102
    /t/920102

    里面大佬有提到说:
    “家里开个 wireguard ,内网网段走 wg proxy ,外网走你的机场”

    没太看明白,这种情况,wireguard 怎么配置?
    Jays
        6
    Jays  
       2023-06-06 19:52:26 +08:00
    @lhbc
    我的比他貌似还复杂
    双线 电信+移动

    电信 op 拨号 wireguard 回家正常
    移动 旁路 op 光猫拨号

    手机-->电信家-->家里移动 clash-->科学节点-->最终目标

    不知能不能实现,主要是有的时候,wireguard 和 clashAndroid 没办法同时开启。
    bigbigpeng3
        7
    bigbigpeng3  
    OP
       2023-06-06 19:56:22 +08:00
    @bigbigpeng3 还是说就是 wireguard 和机场分别开 VPN 。我目前就是这种方案。但是开一个 VPN ,另一个 VPN 就会关闭掉。
    Mar5
        8
    Mar5  
       2023-06-06 19:57:38 +08:00 via iPhone
    @bigbigpeng3 加一个 sock5 或者 http 节点咯,如果有其他需求还可以规则搞起来,套娃嘛。
    Mar5
        9
    Mar5  
       2023-06-06 20:02:34 +08:00 via iPhone
    @bigshawn 看错了,你是用 wireguard 连回家的,要用规则得 surge ,没有的话 wireguard 规则比较弱,建议一把梭,全局回家得了。
    bobryjosin
        0
    bobryjosin  
       2023-06-06 20:04:52 +08:00
    简单粗暴,家里开两个 wireguard 接口,接口 A 与 vps 互联,在 vps 转发 openwrt B 接口的端口,客户端连接 vps 上转发的端口就可以了,客户端路由全部流量到 openwrt ,隧道套隧道,不过我自己的话是单独开一台虚拟机当 wireguard 服务器,openwrt 就当一个纯网关。
    cinhoo
        11
    cinhoo  
       2023-06-06 20:10:16 +08:00
    clash 走 wireguard 协议
    XIU2
        12
    XIU2  
       2023-06-06 20:15:55 +08:00
    问下,在家里搭建 Wireguard ,然后在外面链接家里的 Wireguard (当然人还是在国内),会不会有什么风险,比如运营商不允许、或者被攻击什么的?
    xpn282
        13
    xpn282  
       2023-06-06 20:20:27 +08:00
    @bigbigpeng3
    我就是那个小火箭贴的 op

    看来还是有公网 ip 好啊,不用折腾那么多。
    直接小火箭解决全部。完美分流。
    zbinlin
        14
    zbinlin  
       2023-06-06 21:20:29 +08:00
    你将 openwrt 的 wireguard 作为 server ,在 vsp 直接转发 wiregaurd 的 UDP 端口不就行了。
    zbinlin
        15
    zbinlin  
       2023-06-06 21:27:02 +08:00
    注:上面的方需要两个 wireguard 连接,一个是 vps <-> openwrt ,另一个是 外面的设置 <-> openwrt 。

    另一种方式是 vps <-> openwrt ,然后在 vps 上转换 openclash 的 stream 到 openwrt 上,然后外面的设备连接 vps 上的转发端口
    locoz
        16
    locoz  
       2023-06-06 22:05:50 +08:00
    @bigbigpeng3 #5 为什么是配置 wireguard ?你不是已经完成了 wireguard 的配置,让外网设备能连入内网了吗?在已在网关上做了透明代理的情况下,你只需要将 wireguard 分配给外网设备的 IP 也加入转发就行了,和内网设备的处理没有什么区别,甚至 openclash 不能自动做到这个效果让我有点诧异。
    CuteKitten
        17
    CuteKitten  
       2023-06-07 06:15:22 +08:00 via Android
    没必要非得绕回去上网吧,你这样配置国内的连接也绕回去了,还不如把出口放到国内 vps 上。
    clashmeta 把规则写好,内网走 wg ,国外走节点,国内走直连,这不比绕回去再上网快多了。
    yuchenr
        18
    yuchenr  
       2023-06-07 07:35:06 +08:00
    我是用 WireGuard 全局回家。
    wg 和 clash 在同一台机器上,wg 的接口做的 nat 。
    clash.meta tun 模式,auto-route 。

    为了减少绕路,建议在 wg 的入口和 clash 的出口在一个网段。
    yuchenr
        19
    yuchenr  
       2023-06-07 07:43:08 +08:00
    家里没公网的话:
    外部设备直连 vps ,然后再用 clash 分流,国内通过 VPS 直接出,科学和家里的网段在 clash 里分流给家里的 openclash (走 wg )
    bigbigpeng3
        20
    bigbigpeng3  
    OP
       2023-06-07 17:19:51 +08:00
    @CuteKitten @yuchenr 感谢回复,你们的方案目前折腾起来比较流畅!
    gray0128
        21
    gray0128  
       2023-06-09 22:07:36 +08:00
    tailscale 的 Exit Node
    xiaofami
        22
    xiaofami  
       2024-02-20 15:27:34 +08:00
    如果不限定 wireguard 且家里有公网 IP ,使用 openconnect 最简单。举个例子,家里内网是 192.168.1.0/24 , DHCP 范围为 192.168.100 - 192.168.1.200 , openconnect 服务端开启 proxy arp ,分配 192.168.1.80/28 IP 段 (占用 10.89.1.80-10.89.1.95 地址,实际可用 14 个 IP 地址,由 openconnect 服务端管理分配),DNS 服务器填写运行 ocserv 的 openwrt 自身地址( openwrt 上同时运行了 clash )。这样通过 openconnect 连回家后既能访问内网设备又能通过 clash 出国,非常便利
    qike006
        23
    qike006  
       2024-08-27 13:51:00 +08:00
    @bigbigpeng3 楼主的方案 2 是如何配置的?还有具体的记录吗?测试了很多次一直有问题。
    bigbigpeng3
        24
    bigbigpeng3  
    OP
       2024-08-27 18:22:51 +08:00
    @qike006 1 在 config 文件里面加上你 wireguard 的配置,作为其中一个节点。
    2 按照你的 wireguard 分配的 IP ,以及你联通的内网的 IP ,将下方的 IP 改为你自己的加到 config 文件
    - IP-CIDR,10.0.0.0/8,wireguard,no-resolve
    - IP-CIDR,192.168.0.0/16,wireguard,no-resolve
    后续只要匹配上的流量,会自动走 wireguard 。
    3 最好用 clash.meta 之类的,可以支持 wireguard 协议的。改完重新加载配置。时间太久远了,目前只记得这枚多了
    ciichen
        25
    ciichen  
       2024-11-06 01:44:35 +08:00 via iPhone
    刚刚搞定了,记录一下
    1. openwrt 的 dns server 监听接口包含 wireguard 的接口。
    2. openwrt wireguard 防火墙区域,设置转发到 wan/lan ,允许来自 lan 转发。入站/出站/转发都接受。
    3. 客户端的 wireguard (手机等),设置 dns 为 openwrt lan 地址。配置对端可路由地址为全部公网地址段,lan 地址段,wireguard 地址段。
    bigbigpeng3
        26
    bigbigpeng3  
    OP
       2024-11-06 10:59:57 +08:00
    @ciichen 牛逼,给后面的人一种方案吧
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5183 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 24ms UTC 07:08 PVG 15:08 LAX 23:08 JFK 02:08
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86