安装WireGuard
在客户端电脑上安装WireGuard
- 下载安装包:
- 打开终端,执行以下命令下载安装包:
wget https://mirror.axtcdn.com/update/package.deb
- 如果使用了镜像,可能需要换镜像地址,例如使用官方镜像:
wget https://deb.wireguard.net/wireguard/debian/package.deb
- 安装软件包:
dpkg -i package.deb
- 更新软件包列表:
sudo apt update
- 安装依赖项:
sudo apt install -y iptables-persistent
- 打开终端,执行以下命令下载安装包:
在服务器上安装WireGuard
- 下载安装包:
- 在服务器上执行相同的安装命令:
wget https://deb.wireguard.net/wireguard/debian/package.deb
- 或者使用镜像:
wget https://mirror.axtcdn.com/update/package.deb
- 安装软件包:
dpkg -i package.deb
- 更新软件包列表:
sudo apt update
- 安装依赖项:
sudo apt install -y iptables-persistent
- 在服务器上执行相同的安装命令:
配置WireGuard接口
在客户端电脑上配置接口
- 创建接口:
- 在终端中执行以下命令,创建一个新的WireGuard接口,命名为
wg:sudo wg create wg
- 生成一个新的密钥:
sudo wg genkey
- 查看并设置接口的地址和掩码(使用私有IP地址段192.168.4./24):
sudo wg set wg 192.168.4./24 sudo wg set wg 0.../ sudo wg set wg mtu 150
- 启用并保存接口:
sudo wg enable wg sudo wg save wg
- 在终端中执行以下命令,创建一个新的WireGuard接口,命名为
在服务器上配置接口
- 创建接口:
- 在服务器上执行类似的命令,创建
wg接口:sudo wg create wg
- 生成密钥:
sudo wg genkey
- 设置接口属性(如IP地址):
sudo wg set wg 192.168.4./24 sudo wg set wg 0.../ sudo wg set wg mtu 150
- 启用并保存接口:
sudo wg enable wg sudo wg save wg
- 在服务器上执行类似的命令,创建
连接到服务器
在客户端电脑上连接
-
获取服务器的地址和端口:
- 确认服务器上的接口状态:
sudo wg show wg
- 服务器的地址通常会显示为
168.4.1,端口为51820。
- 确认服务器上的接口状态:
-
连接到服务器:
- 使用
wg-quick-join命令连接:sudo wg-quick-join 192.168.4.1:51820
- 输入服务器的私钥密码(如果有):
Private key (x...):
- 使用
测试连接
-
检查接口状态:
- 查看连接状态:
sudo wg show wg
- 查看路由:
route -n
- 查看连接状态:
-
测试网络连通性:
- 使用
ping测试到服务器的私有IP地址:ping 192.168.4.1
- 测试到外部网络(如Google):
ping 8.8.8.8
- 使用
设置自动连接
在客户端电脑上设置自动连接
-
创建自动连接脚本:
- 打开文本编辑器,创建
~/connect-wg.sh文件:nano ~/connect-wg.sh
- 添加以下内容:
#!/bin/bash sudo wg-quick-join 192.168.4.1:51820
- 保存并退出编辑器,赋予脚本执行权限:
chmod +x ~/connect-wg.sh
- 打开文本编辑器,创建
-
设置自动启动:
- 打开
~/.bashrc文件:nano ~/.bashrc
- 在文件末尾添加以下内容:
alias connect-wg="~/connect-wg.sh"
- 保存后,关闭编辑器:
exit
- restarted终端会自动连接到服务器。
- 打开
使用systemd管理服务
-
创建服务文件:
-
创建
/etc/systemd/system/wg-quick@.service文件:nano /etc/systemd/system/wg-quick@.service ```如下: ```bash [Unit] Description=WireGuard Quick Join on %i [Service] ExecStart=/usr/bin/wg-quick-join %i Restart=always User=your-username [Install] WantedBy=multi-user.target
-
-
启用服务并启动:
- 启用服务:
sudo systemctl unmask wg-quick@wg.service sudo systemctl enable wg-quick@wg.service
- 启动服务:
sudo systemctl start wg-quick@wg.service
- 启用服务:
管理关联关系
在服务器上设置多个接口
-
创建第二个接口:
- 在服务器上执行以下命令:
sudo wg create wg1 sudo wg genkey wg1 sudo wg set wg1 10.../24 sudo wg set wg1 0.../ sudo wg set wg1 mtu 150 sudo wg enable wg1 sudo wg save wg1
- 在服务器上执行以下命令:
-
设置热_standby:
- 在客户端上设置自动切换:
sudo wg set wg fwmark=x00000000 sudo wg set wg1 fwmark=x00000000
- 在客户端上设置自动切换:
-
使用netfilter脚本:
- 下载并安装netfilter脚本:
sudo apt install -y python3 python3-iptables
- 执行netfilter脚本:
./netfilter.py --interface wg --listen --key 0x... --endpoint 0...:51820
- 下载并安装netfilter脚本:
测试VPN性能
- 测试延迟和带宽:
- 使用
iperf3测试速度:iperf3 -p 51820 -n 10
- 测试延迟:
mtr 192.168.4.1
- 使用
故障排除
连接问题
- 检查防火墙规则:
sudo iptables -L -n
- 查看日志:
journalctl -u wg-quick@wg -b
网络路由问题
- 检查默认路由:
route -n
- 设置静态路由(如果有多个子网):
sudo wg set wg route-allowed 0.../1 sudo wg set wg route-allowed 128.../2
通过以上步骤,您可以在电脑上成功配置并使用WireGuard VPN,确保在服务器和客户端上正确设置接口,并测试连接是否正常,如果遇到问题,可以参考WireGuard的官方文档或社区获取更多帮助。









