安装WireGuard
在Debian/Ubuntu系统中:
sudo apt update sudo apt install wireguard
加载kernel模块:
sudo modprobe -a wireguard
检查模块是否加载:
lsmod | grep wireguard
配置服务器端
创建WireGuard接口并启用:
sudo ip link add name wg type wireguard sudo ip link set wg 0
分配IP地址,假设使用私有网络:
sudo ip addr add 10.10.10.3/24 dev wg sudo ip link set wg up
生成密钥:
wg genkey
将生成的公钥保存到server.key:
wg show-key public | sudo tee server.key
设置NAT和DNAT规则:
sudo iptables -A POSTROUTING -o wg -j MASQUERADE sudo iptables -A PREROUTING -d 10.10.10./24 -j DNAT --to-destination 192.168.1.2
保存iptables规则:
sudo sh -c "iptables-save > /etc/iptables.wg && iptables -L > /etc/iptables-save"
配置客户端
在客户端机器上安装WireGuard:
sudo apt update sudo apt install wireguard
连接到服务器,使用服务器的公钥:
sudo wg-quick-join 10.10.10.2 <server.key_path>
检查连接状态:
sudo wg show wg
检查和验证
检查客户端的接口状态:
sudo ip link show wg
查看路由信息:
ip route show
检查NAT和DNAT规则:
sudo iptables -L -n
DNS配置(可选)
编辑resolv.conf:
sudo tee /etc/resolv.conf <<EOL nameserver 8.8.8.8 options edns edns EOL
自动连接(可选)
编辑wg.conf:
sudo tee /etc/wireguard/wg.conf <<EOL [General] LogLevel = INFO EOL
启动自动连接:
sudo wg-quick up wg
故障排除
- IP地址不匹配:确保服务器和客户端的IP地址正确配置。
- NAT规则错误:检查iptables规则,确保正确的DNAT和MASQUERADE设置。
- 密钥错误:核对公钥是否正确传输。
- 日志问题:检查
/var/log/daemon.log或/var/log/wireguard/。
使用wg-quick脚本
自动连接脚本:
sudo tee /etc/wireguard/wg.conf <<EOL [General] LogLevel = INFO Peer = wg AllowedIPs = 0.../ EOL
启动:
sudo wg-quick up wg
定期检查
添加到crontab以检查连接状态:
sudo crontab -e @reboot * * * * * /path/to/script/check_wg.sh
完成
通过以上步骤,您已成功配置了WireGuard服务器和客户端,确保了安全的网络连接。




