服务端(以Ubuntu为例) 安装WireGuard
1 2 3 4 5 6 add-apt-repository ppa:wireguard/wireguard apt update apt install wireguard-dkms wireguard-tools resolvconf cat /etc/sysctl.conf |grep ip_forward echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf sysctl -p
修改配置文件
1 2 3 4 5 6 cd /etc/wireguard/ umask 077 wg genkey | tee server_privatekey | wg pubkey > server_publickey wg genkey | tee client_privatekey | wg pubkey > client_publickey ifconfig vim /etc/wireguard/wg0.conf
启动WireGuard:
1 2 systemctl enable wg-quick@wg0 wg-quick up wg0
客户端(以Openwrt为例) 修改wg0.conf,将其中的Key换为实际Key中的内容
1 2 3 4 5 6 7 8 9 10 11 12 [Interface] PrivateKey = $(cat server_privatekey) Address = 10.0.0.1/24 PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -A FORWARD -o wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -D FORWARD -o wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE ListenPort = 50814 DNS = 8.8.8.8 MTU = 1420 [Peer] PublicKey = $(cat client_publickey) AllowedIPs = 10.0.0.2/32 "
修改路由表
1 2 remove default gateway route add x.x.x.x gw 192.168.x.x dev eth0
启动WireGuard
1 /etc/init.d/wireguard restart