一、安装wireguard
#安装wireguard软件
apt install wireguard resolvconf -y
#开启IP转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding = 1" >> /etc/sysctl.conf
sysctl -p
二、进入配置存储路径,调整目录权限
cd /etc/wireguard/
chmod 0777 /etc/wireguard
#调整目录默认权限
umask 077
三、生成服务器秘钥
#生成私钥(服务器端)
wg genkey > server.key
#通过私钥生成公钥(服务器端)
wg pubkey < server.key > server.key.pub
#生成一串预共享密钥
wg genpsk > pre-shared.key
#生成私钥(客户端)
wg genkey > client.key
#通过私钥生成公钥(客户端)
wg pubkey < client.key > client.key.pub
四、设置服务器配置文件
WireGuard 使用 INI 语法作为其配置文件格式。配置文件可以放在任何路径下,但必须通过绝对路径引用。默认路径是 /etc/wireguard/wg0.conf
。
配置文件的命名形式必须为 ${WireGuard 接口的名称}.conf
。通常情况下 WireGuard 接口名称以 wg
为前缀,并从 0
开始编号,但你也可以使用其他名称,只要符合正则表达式 ^[a-zA-Z0-9_=+.-]{1,15}$
就行。
[Interface]
#服务器端私钥
PrivateKey = SERVER_PRIVATE_KEY
Address = 172.16.0.1/24, fd86::1/48
#eth0为网络接口,wg0为wireguard接口,请根据情况修改
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
#wireguard监听端口(按需修改)
ListenPort = 12345
#按需修改DNS服务器
DNS = 192.168.2.1
MTU = 1420
#客户端1
[Peer]
#客户端1公钥
PublicKey = CLIENT_PUBLIC_KEY
#服务器端预共享密钥
PresharedKey = SERVER_SHARE_KEY
AllowedIPs = 172.16.0.2/32, fd86::2/128
#客户端2
[Peer]
#客户端2公钥
PublicKey = CLIENT_PUBLIC_KEY
#服务器端预共享密钥
PresharedKey = SERVER_SHARE_KEY
AllowedIPs = 172.16.0.3/32, fd86::3/128
五、设置客户端配置文件
[Interface]
#客户端私钥
PrivateKey = CLIENT_PRIVATE_KEY
Address = 172.16.0.3/32, fd86::3/128
DNS = 192.168.2.1
[Peer]
#服务器端公钥
PublicKey = SERVER_PUBLIC_KEY
#服务器端预共享密钥
PresharedKey = SERVER_SHARE_KEY
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = node.example.com:12345
PersistentKeepalive = 25
六、启动与停止
#设置服务器开机自启动
systemctl enable wg-quick@wg0
#启动wg0
wg-quick up wg0
#关闭wg0
wg-quick down wg0
#检查连接状态
wg
更详细配置信息可以前往WireGuard 教程:WireGuard 的搭建使用与配置详解
评论区