安装 WireGuard
在支持 WireGuard 的操作系统上安装:
- Debian/Ubuntu
sudo apt update && sudo apt install wireguard
- Fedora
sudo dnf install wireguard
- Arch Linux
sudo pacman -S wireguard
生成和分发密钥
在服务器上生成新的 WireGuard 密钥:
sudo wg genkey
将生成的私钥分发给客户端,可以通过以下方式传输:
- 文件传输:将私钥保存到文件中,如
server.key。 - SSH传输:使用
scp或ssh将私钥传输到客户端。
安装并连接到现有服务器
在客户端安装 WireGuard 并连接到服务器:
sudo wg-quick-helpers install sudo wg connect <服务器IP> --peer-key-file <路径到服务器的公钥>
配置路由(客户端)
编辑网络接口配置文件,添加 WireGuard 接口并设置默认路由:
sudo nano /etc/network/interfaces
auto wg
iface wg inet static
address 192.168.1.2/24
gateway 192.168.1.1
peer 192.168.1.3
peer-mask 255.255.255.255
endpoint 192.168.1.3:51820
persistent-keepalive 10
配置路由(服务器)
同样,编辑服务器的网络接口配置文件:
sudo nano /etc/network/interfaces
添加:
auto wg
iface wg inet static
address 192.168.1.1/24
netmask 255.255.255.
no-route-default
设置iptables(客户端)
确保所有流量通过 WireGuard 接口:
sudo iptables -F sudo iptables -A POSTROUTING -o wg -j MASQUERADE sudo iptables -A FORWARD -i wg -j ACCEPT sudo iptables -A FORWARD -o wg -m state --state RELATED,ESTABLISHED -j ACCEPT
保存iptables规则:
sudo sh -c "iptables-save > /etc/iptables.save"
启动服务
启动 WireGuard 服务:
sudo systemctl unmask wg-quick@wg.service sudo systemctl enable wg-quick@wg.service sudo systemctl start wg-quick@wg.service
检查连接状态
查看连接状态:
sudo wg show status wg
查看已连接的对端:
sudo wg list-peers
故障排除
- 丢包问题:检查MTU设置,可能需要调整。
sudo wg set wg mtu 138
- 防火墙问题:确保iptables规则正确。
sudo iptables -L -n
优化配置
-
固定IP和端口:在
/etc/wg/wg.conf中添加:[interface] private_key = <服务器的私钥> address = 192.168.1.2/24 port = 51820 -
MTU调整:根据网络情况调整MTU。
-
防火墙设置:只允许管理流量通过:
sudo ufw allow out 51820:udp
备份和恢复
备份配置:
sudo wg dump /etc/wg/wg.conf
恢复时重载配置:
sudo wg-quick@wg service reload
故障排除提示
- 连接失败:检查网络接口是否存在,尝试重新生成密钥并重新连接。
- 路由问题:确保默认路由正确设置,检查iptables规则。
通过以上步骤,您可以成功配置并管理 WireGuard,确保网络连接安全且高效,遇到问题时,参考 WireGuard 文档或社区获取帮助。









