V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
LeeReamond
V2EX  ›  问与答

WireGuard 能通过命令行控制吗?如何确保 wg 常时保持连接?

  •  
  •   LeeReamond · 11 天前 · 924 次点击

    目前使用 WG 组了个异地网。

    遇到的问题是,WG 架在 Windows 机器上,windows 为了使用方便装的都是企业版而不是 LTSC 版,7*24 开机的话隔一段时间就会自动更新,目前已经遇到过一两次是因为自动更新重启后,wg 第一时间不能自动组网,导致连接在重启后没能恢复的情况。

    想实现的效果是写个第三方程序监控 WG 网卡连接的状态,如果没连接的话就发送打开连接的命令这样?不知道有没有办法实现

    13 条回复    2024-12-01 17:52:20 +08:00
    moefishtang
        1
    moefishtang  
       11 天前
    我这里好像安装完启用配置文件后开机就自动连接了
    我是使用官方提供的 MSI 安装包安装的
    https://www.wireguard.com/install/
    moefishtang
        2
    moefishtang  
       11 天前
    @moefishtang Linux 的话用 systemctl enable wg-quick@你的配置文件名 就可以,很方便
    dcsuibian
        3
    dcsuibian  
       11 天前
    Windows 开启 Hyper-V ,然后里面装个 Debian ,上面再装个 WireGuard 。我是这么干的。
    thinkm
        4
    thinkm  
       11 天前
    我每次开机 WG 都是自动连接
    LeeReamond
        5
    LeeReamond  
    OP
       11 天前
    @thinkm 大部分时候是这个行为,但有时会故障,推测是因为当时网络处在非连接状态,WG 似乎不会守护
    PhaSelEza
        6
    PhaSelEza  
       11 天前
    Wireguard 的 Peer 有保活选项,比如:

    PersistentKeepalive = 20
    ysc3839
        7
    ysc3839  
       11 天前 via Android   ❤️ 1
    @moefishtang Linux 系统如果用的是 NetworkManager ,推荐直接在 NetworkManager 里面加个 WireGuard 配置。
    MADBOB
        8
    MADBOB  
       11 天前
    Win 用 tunsafe 呢?
    LeeReamond
        9
    LeeReamond  
    OP
       11 天前
    @PhaSelEza 他这个看起来是调默认握手间隔的。如果连接在断开状态,这个有用?
    PhaSelEza
        10
    PhaSelEza  
       11 天前
    @LeeReamond 不知和你的场景是否一致:WireGuard 一段时间无流量会断开,此时如果客户端没有公网地址,则服务器无法主动访问客户端,要等客户端产生流量、建立新的链接,才能双向通讯。

    Linux 下 wg-quick 是不会主动建立链接的,直到产生客户端到服务端的流量。

    因此,我在客户端配置了“PersistentKeepalive = 20”这个选项,时刻保证链接存活、服务器能够随时访问客户端。
    lysShub
        11
    lysShub  
       11 天前
    把自动更新关了不就行了
    COW
        12
    COW  
       11 天前 via Android
    @LeeReamond 用 nssm 套一层呢,可以启动前前置命令检查网络。
    LeeReamond
        13
    LeeReamond  
    OP
       10 天前
    @PhaSelEza 不是同一个场景,我也暂未遇到客户端无动作导致连接中断的情况,我的情况是服务端重启。

    另外连接不会自动保活这个不像是现代软件的行为,传输层协议都有自动保活呢。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   861 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 21:04 · PVG 05:04 · LAX 13:04 · JFK 16:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.