概述
WireGuard 是一种轻量级VPN协议,通过UDP传输,具备以下特性:
适用条件:公网IP环境(腾讯云/阿里云等购买)
一、环境要求
二、安装步骤
2.1 安装WireGuard
1
sudo apt-get install wireguard2.2 开启IPv4转发
1 2
echo"net.ipv4.ip_forward = 1" >> /etc/sysctl.confsysctl -p
2.3 生成密钥对
1 2 3 4 5 6 7 8 9
mkdir -p /etc/wireguard && chmod 0777 /etc/wireguardcd /etc/wireguardumask 077# 生成服务端密钥wg genkey | tee server_privatekey | wg pubkey > server_publickey# 生成客户端密钥wg genkey | tee client_privatekey | wg pubkey > client_publickey
三、服务端配置
3.1 生成配置文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
echo"[Interface]PrivateKey = $(cat server_privatekey)Address = 10.0.8.1/24PostUp = iptables -A FORWARD -i wg0 -j ACCEPTPostUp = iptables -A FORWARD -o wg0 -j ACCEPTPostUp = iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADEPostDown = iptables -D FORWARD -i wg0 -j ACCEPTPostDown = iptables -D FORWARD -o wg0 -j ACCEPTPostDown = iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADEListenPort = 50814DNS = 8.8.8.8MTU = 1420[Peer]PublicKey = $(cat client_publickey)AllowedIPs = 10.0.8.10/24" > wg0.conf
注意:
eth0替换为实际网卡名,50814为UDP端口号
3.2 设置开机启动
1
systemctl enable wg-quick@wg03.3 启动与停止
wg-quick up wg0 | |
wg-quick down wg0 | |
wg |
四、客户端配置
4.1 生成配置文件
1 2 3 4 5 6 7 8 9 10 11 12
echo"[Interface]PrivateKey = $(cat client_privatekey)Address = 10.0.8.10/24DNS = 8.8.8.8MTU = 1420[Peer]PublicKey = $(cat server_publickey)Endpoint = 服务端公网IP:50814AllowedIPs = 0.0.0.0/0, ::0/0PersistentKeepalive = 25" > client.conf
4.2 启动方式
GUI方式:下载 WireGuard客户端[https://www.wireguard.com/install/],导入配置文件 命令行方式: wg-quick up clientwg-quick down client1 2
4.3 路由配置(可选)
1 2 3 4 5
# 添加特定IP路由ip route add 103.52.188.136 via 192.168.1.2# 所有流量走VPNip route add 0.0.0.0/0 via 10.0.8.1
五、测试验证
5.1 连通性测试
1
ping 10.0.8.15.2 数据包抓取
服务端安装 tcpdump 监听VPN接口:
1 2
apt -y install tcpdumptcpdump -i wg0
六、高级命令
ip link add dev wg0 type wireguard | |
ip address add dev wg0 192.168.2.1/24 | |
ip address add dev wg0 192.168.2.1 peer 192.168.2.2 | |
wg setconf wg0 myconfig.conf | |
wg set wg0 listen-port 51820 private-key /path/to/private-key peer ABCDEF... allowed-ips 192.168.88.0/24 endpoint 209.202.254.14:8172 | |
ip link set up dev wg0 | |
wgwg showconf |
七、密钥生成(补充)
1 2 3 4 5 6 7 8
# 生成私钥umask 077 && wg genkey > privatekey# 导出公钥wg pubkey < privatekey > publickey# 一步完成wg genkey | tee privatekey | wg pubkey > publickey
附录
官网:https://www.wireguard.com 安装文档:https://www.wireguard.com/install/ 快速入门:https://www.wireguard.com/quickstart/
夜雨聆风