安装WireGuard
根据你的操作系统选择相应的安装方法:
在 Ubuntu/Debian 系统上:
- 更新包仓库:
sudo apt update
- 安装WireGuard及其依赖项:
sudo apt install wireguard
- 启用并安装wireguard-kernelspace:
sudo apt install wireguard-kernelspace sudo modprobe -wvg
在 Windows 系统上:
- 下载并安装 WireGuard 启用包:
- 从官方网站或可靠源下载安装程序。
- 按照提示完成安装,记得勾选“以管理员身份运行”以允许网络接口管理。
生成密钥对
无论是服务器还是客户端,密钥对的长度应为4096字节,以确保安全性:
生成密钥对(服务器和客户端):
wg genkey -p 4096 > /etc/wg/privkey.pem wg genkey > /etc/wg/pubkey.pem
配置服务器
服务器配置文件:
创建或编辑/etc/wg/server.conf,添加以下内容:
ListenPort = 518
PrivateKey = /etc/wg/privkey.pemPeers = [
{
"Address": "192.168.1.1/24",
"PublicKey": "publickey-of-server",
"AllowedIPs": ".../"
}
]
将publickey-of-server替换为服务器的公钥。
启用服务器接口:
sudo wg-quick up wg
配置客户端
客户端配置文件:
创建或编辑/etc/wg/client.conf,添加以下内容:
ListenPort = 5181
PrivateKey = /etc/wg/privkey.pem
# 指定服务器的地址和公钥
Peer = {
"Address": "192.168.1.2",
"PublicKey": "publickey-of-server",
"AllowedIPs": ".../"
}
将publickey-of-server替换为服务器的公钥。
连接客户端:
sudo wg-quick up wg
配置路由(可选)
服务器配置iptables:
为确保客户端流量经过VPN:
sudo iptables -t nat -A POSTROUTING -o eth -j MASQUERADE
客户端配置默认路由:
编辑/etc/sysctl.conf,添加以下内容:
net.ipv4.ip_forward=1
然后应用更改:
sudo sysctl -p
测试连接
检查接口状态:
服务器:
sudo wg show wg
客户端:
sudo wg show wg
测试是否能通过VPN连接:
ping 192.168.1.1
配置文件管理
生成一个配置文件,例如wg.conf:
wg save-config /etc/wg/wg.conf
故障排除
- 连接被拒绝: 检查服务器的
wg-quick.log日志,确保接口可用。 - 路由问题: 确保iptables规则正确,且客户端默认路由设置正确。
- 防火墙问题: 检查防火墙设置,确保无阻挡。
后续操作
- 自动连接: 使用
wg-quick up wg在启动时自动连接。 - 重启服务: 在服务器重启时,使用
sudo wg-quick up wg重新连接。
通过以上步骤,你应该能够成功配置并使用WireGuard创建一个安全、高效的VPN连接。









