Administrator
发布于 2025-04-06 / 1 阅读
0

Ubuntu wireguard

Ubuntu使用wireguard

1. 环境配置

1.1 安装

对于 Ubuntu 20.04 及更高版本,可以直接通过 APT 安装:

sudo apt install wireguard -y
sudo apt install resolvconf -y

这会安装核心组件(包括 wg 和 wg-quick 工具),并自动配置内核模块。

1.2 检查安装情况

bash
wg --version

如果看到版本信息,比如:

bash
wireguard-tools v1.0.20210914 - https://www.wireguard.com/

说明安装成功。

resolvconf是用于动态解析。

1.3 卸载 WireGuard(如果需要)

bash
sudo apt remove wireguard --purge

1.4 赋予文件夹读写全向

sudo chmod -R 777 /etc/wireguard

2. 设置一个脚本自动连接vpn

下面是一个用于 自动连接 WireGuard VPN 的 Bash 脚本,它会尝试连接指定的 VPN 接口,如果未连接上,会重新尝试连接。

#!/bin/bash

# WireGuard 接口名,比如 wg0
WG_INTERFACE="wg0"

# 检查 WireGuard 接口是否已经启用
is_connected() {
    ip link show "$WG_INTERFACE" | grep -q "state UP"
}

# 主循环:如果没有连接则重新连接
while true; do
    if is_connected; then
        echo "$(date): $WG_INTERFACE is already connected."
    else
        echo "$(date): $WG_INTERFACE is not connected. Trying to connect..."
        sudo wg-quick down "$WG_INTERFACE" 2>/dev/null
        sudo wg-quick up "$WG_INTERFACE"
    fi
    # 每 30 秒检查一次连接状态
    sleep 30
done

✅ 使用说明

  1. 把上述内容保存为 auto_wg_connect.sh

  2. 给予执行权限:

    chmod +x auto_wg_connect.sh
    
  3. 后台运行脚本:

    nohup ./auto_wg_connect.sh > wg_log.txt 2>&1 &
    
    

这会将日志输出保存到 wg_log.txt,同时让脚本在后台运行。

✅ 提示(可选)

  • 如果你不想每次输入 sudo,可以为 wg-quick up/down 设置免密码权限(使用 sudo visudo 添加如下内容):
    ruby
    your_username ALL=(ALL) NOPASSWD: /usr/bin/wg-quick up wg0, /usr/bin/wg-quick down wg0
  • 可以通过 pingcurl 检查 VPN 实际连通性,比如是否能访问内网 IP 或外网 DNS,我也可以帮你修改脚本来实现这个功能。