Ubuntu使用wireguard
1. 环境配置
1.1 安装
对于 Ubuntu 20.04 及更高版本,可以直接通过 APT 安装:
sudo apt install wireguard -y
sudo apt install resolvconf -y
这会安装核心组件(包括 wg 和 wg-quick 工具),并自动配置内核模块。
1.2 检查安装情况
如果看到版本信息,比如:
说明安装成功。
resolvconf是用于动态解析。
1.3 卸载 WireGuard(如果需要)
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
✅ 使用说明
-
把上述内容保存为
auto_wg_connect.sh
。 -
给予执行权限:
chmod +x auto_wg_connect.sh
-
后台运行脚本:
nohup ./auto_wg_connect.sh > wg_log.txt 2>&1 &
这会将日志输出保存到 wg_log.txt
,同时让脚本在后台运行。
✅ 提示(可选)
- 如果你不想每次输入
sudo
,可以为wg-quick up/down
设置免密码权限(使用sudo visudo
添加如下内容): - 可以通过
ping
或curl
检查 VPN 实际连通性,比如是否能访问内网 IP 或外网 DNS,我也可以帮你修改脚本来实现这个功能。