V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
拼车信息请发到 /go/cosub 节点。

如果没有发送到 /go/cosub,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
PatrickLe
V2EX  ›  Surge

surge wireguard 问题请教

  •  
  •   PatrickLe · 347 天前 · 2254 次点击
    这是一个创建于 347 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我的 surge 配置文件放在 iCloud ,多个设备共同使用一个配置,家里路由生成了多个 WG 配置,供不同的设备使用,这些配置都放在 surge 里面,我设置了一个 WG 策略组,指定了 Mac 使用为 Mac 生成的 WG 配置,IPAD 用 IPAD 的配置。

    但是问题来了,surge 似乎会自动测试,或者不知道的原因,设备使用了错误的 WG 配置,导致比如原本 Mac 的配置被其他设备占用了,半天会连不上,这个问题该怎么解决呢?

    不知道问题描述清楚了没有,就是 WG 是一对一的, 一个路由生成的多个 WG 文件,放在 1 个 surge 文件供多个设备使用时,有时会冲突,导致 WG 配置被错误的占用
    19 条回复    2024-05-27 09:50:35 +08:00
    tediorelee
        1
    tediorelee  
       347 天前
    把每个设备的配置文件拆分下不就可以了吗
    PatrickLe
        2
    PatrickLe  
    OP
       347 天前
    @tediorelee 怎么拆分呢?你是说梯子配置放 iCloud ,WG 配置放本地吗? surge 不允许这样做啊
    tediorelee
        3
    tediorelee  
       347 天前
    @PatrickLe 不同设备用不同的配置文件,我这里手机用一个配置,macmini 用一个,mbp 又是一个
    coolcoffee
        4
    coolcoffee  
       347 天前
    Wireguard 列表再分一个 Proxy Select Group 。

    比如:ProxyGroup 下有 wg-mac 、wg-iphone 、wg-ipad1 、wg-ipad2 ,一个或多个规则就落在 ProxyGroup ,然后在每个设备上再手动选择一下就不会冲突了。 注意 ProxyGroup 就别手动去测试延迟,不然每一个都会跑一遍可能影响到其他设备了。
    PatrickLe
        5
    PatrickLe  
    OP
       347 天前
    @tediorelee 我就是想用一套云端设备啊,这样策略调整同步生效多安逸
    PatrickLe
        6
    PatrickLe  
    OP
       347 天前
    @coolcoffee 老哥,“ 一个或多个规则就落在 ProxyGroup”这句话什么意思? 你是说 WG 主策略组下,再分别新建 wg-mac 、wg-iphone 、wg-ipad1 这样的子策略组吗?
    coolcoffee
        7
    coolcoffee  
       346 天前
    @PatrickLe

    [Proxy Group]
    HomeTunnel = select, home-wg, home-wg-02, DIRECT

    [Rule]
    IP-CIDR,192.168.3.0/24,HomeTunnel,no-resolve

    192.168.3.0/24 这条规则会落在 HomeTunnel ,HomeTunnel 是一个手动选择的组,每个设备上手动选择一个不通的配置。 这样就可以做到添加一条规则到 wireguard ,但是每个设备之间不会互相冲突。
    stille
        8
    stille  
       346 天前 via iPhone
    wg 服务端创建多个客户端,在 surge 配置里全加上去,分别命名,各个设备用这一个配置,用对应设备的 wg ,不要用其它的避免冲突
    PatrickLe
        9
    PatrickLe  
    OP
       341 天前
    @coolcoffee 老哥,我这样做了还是不行啊,你看下图我的配置,也是做的手动选择,电脑选 Mac ,平板选 iPad ,但有时依旧是冲突

    coolcoffee
        10
    coolcoffee  
       340 天前
    @PatrickLe 如果你没有对整个 group 做各种 test 的话,那就可能是运营商限流之类的😂
    PatrickLe
        11
    PatrickLe  
    OP
       340 天前
    @coolcoffee 没有 test ,我的宽带不可能限流,因为是商务宽带,上传很足,没有 QOS 。
    所以我怀疑是不是 surge 某种机制导致的,surge 好像又不能同时使用两个配置,比如一个多设备共享的 iCloud 配置,一个 WG 的配置作为设备的本地配置
    coolcoffee
        12
    coolcoffee  
       340 天前
    @PatrickLe 不行就换 snell 吧,一样可以穿回内网,或者代理嵌套。
    ambitiouspei
        13
    ambitiouspei  
       329 天前 via iPhone
    做配置分离,都放到 iCloud 里面,common 里面的 warp 指定 section 是某个名字,然后,每个设备里面,wireguard section 用同一个名字,但是下面对应的设置都是每个设备分配的信息,这样,表面上各个设备的都一样,但是每个设备的 wireguard 配置都不一样
    ozOGen
        14
    ozOGen  
       310 天前
    用 sgmodule ,每个设备一个模块,
    proxy 部分写
    WG= wireguard, section-name=wg-device
    然后每个模块里只写 wg section ,字段都写
    [WireGuard wg-device]
    下面的内容设备 specify
    然后每个设备开启自己对应的模块就可以了

    我 5 个设备这样用都 ok ,只用一份主配置文件,ios 和 macos 都 ok
    PatrickLe
        15
    PatrickLe  
    OP
       244 天前
    @ozOGen 老哥方便加个 tg 详细请教下吗?我还是没搞定这个,https://t.me/skywo0
    ozOGen
        16
    ozOGen  
       243 天前   ❤️ 1
    proxy.conf 里
    [Proxy]
    WG-HomeGZ = wireguard, section-name=UDM-SE

    然后
    WG-Air15.sgmodule 里
    #!name=WG for Air15
    #!desc=WireGuard for Air15.

    [WireGuard UDM-SE]
    private-key = +FXXXXXXXXXX1+vYZkQ=
    self-ip = 192.168.3.3
    dns-server = 192.168.3.1
    prefer-ipv6 = false
    mtu = 1280
    peer = (public-key = aXXXXXXXXXXA=, allowed-ips = "192.168.3.1/32,192.168.3.3/32,0.0.0.0/0", endpoint = home.XXXXX.cn:51820)


    然后另一个设备对应的模块里
    WG-ATV6.sgmodule 里
    #!name=WG for ATV6
    #!desc=WireGuard for AppleTV6-Remote.

    [WireGuard UDM-SE]
    private-key = YXXXXXXXXXXX3g=
    self-ip = 192.168.3.6
    dns-server = 192.168.3.1
    prefer-ipv6 = false
    mtu = 1280
    peer = (public-key = aXXXXXXXXXXXA=, allowed-ips = "192.168.3.1/32,192.168.3.6/32,0.0.0.0/0", endpoint = home.XXXXX.cn:51820)

    然后哪个设备就选那个设备对应的模块
    这样对应替换掉自己的信息。。应该没问题了

    当然 proxygroup 和 rule 部分也要对应上
    @PatrickLe
    PatrickLe
        17
    PatrickLe  
    OP
       240 天前
    @ozOGen 老哥,mac 无法创建本地模块,( mac 没找到入口,ios 就是直接在模块那里可以手动添加),这个该怎么办呢?
    ozOGen
        18
    ozOGen  
       238 天前
    文本文件有什么不能创建的。。。。
    @PatrickLe
    weeei
        19
    weeei  
       214 天前
    https://kb.nssurge.com/surge-knowledge-base/v/zh/guidelines/detached-profile
    参考这里的配置文件分离。
    iOS 使用 ios.conf ,mac 使用 mac.conf ,各自加载不同的配置文件,都放在 iCloud 云盘没有问题。
    相同的配置抽取出来放在 Common.conf ,然后在 ios.conf 和 mac.conf 里面包含 #!include Common.conf
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5370 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 07:36 · PVG 15:36 · LAX 23:36 · JFK 02:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.