安装WireGuard
安装必要的软件包:
在 Ubuntu 22.04 LTS 上执行以下命令:
sudo apt-get install wireguard wg-quick iproute2 netfilter
启用并安装 WireGuard:
echo "wireguard all all" >> /etc/sysctl.conf sudo sysctl -p sudo apt-get install --reinstall wireguard
配置 WireGuard 服务器
生成并设置接口:
sudo wgadm set private-key <生成的密钥> sudo wgadm set listen-port 500 sudo wgadm set peer <客户端的公钥> sudo wgadm set allowed_ips 0.../24 sudo wgadm set-default sudo wgadm set-interface wg
启用并启动接口:
sudo wg-quick up wg
配置客户端
安装 WireGuard 客户端:
在每个客户端上执行:
sudo apt-get install wireguard wg-quick
生成并连接到服务器:
sudo wgadm set private-key <生成的密钥> sudo wgadm set peer <服务器的公钥> sudo wgadm set allowed_ips 0.../24 sudo wgadm set-default sudo wgadm set-interface wg sudo wg-quick up wg
固定 IP 配置
在服务器上:
sudo iptables -t nat -A POSTROUTING -o eth -j MASQUERADE sudo iptables -A FORWARD -i eth -o wg -m state --state RELATED,ESTABLISHED -j ACCEPT
在客户端上,添加固定 IP 到 /etc/wg/wg.conf:
PrivateKey = <服务器的公钥> AllowedIPs = <固定IP>/32
NAT 穿透配置
在服务器上:
sudo iptables -t nat -A POSTROUTING -o eth -j MASQUERADE
日志管理
在服务器上启用详细日志:
sudo journalctl -u wg-quick@wg -b 0
客户端也应设置日志级别:
sudo wg-quick up wg --log-level debug
性能优化
服务器
sudo sysctl -w net.ipv4.ip_forward=1 sudo sysctl -w net.ipv6.local=1 sudo sysctl -w net.mtu=150 sudo sysctl -w kernel.fib_rules=1
客户端
sudo sysctl -w net.ipv4.ip_forward=1 sudo sysctl -w net.ipv6.local=1 sudo sysctl -w net.mtu=150 sudo sysctl -w kernel.fib_rules=1
安全措施
- 保护好私钥文件,确保只允许授权用户访问。
- 定期检查系统更新,修复漏洞。
使用管理工具
-
Ansible:
hosts: wireguard_server tasks: - name: install wireguard package: wireguard state: installed - name: configure wireguard template: wireguard.j2 -
Prometheus/Grafana: 配置监控项,跟踪网络流量和性能指标。
故障排除
- 检查NAT规则是否正确。
- 查看客户端日志,确保连接请求正确。
- 确保密钥输入无误。
备份配置文件,确保快速恢复。









