这里以root用户操作,
更新与安装wireguard:
apt update
apt upgrade
apt install wireguard
运行以下命令以生成密钥对:
wg genkey | tee /etc/wireguard/privatekey | wg pubkey | tee /etc/wireguard/publickey
创建一个名为的新文件wg0.conf并添加以下内容:
vim /etc/wireguard/wg0.conf
[Interface]
Address = 192.168.68.1/24
SaveConfig = true
ListenPort = 51820
PrivateKey = SERVER_PRIVATE_KEY
PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE
wg0.conf文件中的以上术语定义如下:
地址–wg0接口的v4或v6 IP地址的逗号分隔列表。使用专用于私有网络的范围内的IP(10.0.0.0/8、172.16.0.0/12或192.168.0.0/16)。
ListenPort – WireGuard接受传入连接的端口。
PrivateKey –wg genkey命令生成的私钥。(要查看该文件运行的内容:cat /etc/wireguard/privatekey)
SaveConfig –设置为true时,关闭时接口的当前状态保存到配置文件中。
PostUp –在启动界面之前执行的命令或脚本。在此示例中,我们使用iptables启用伪装。这将允许流量离开服务器,从而使VPN客户端可以访问Internet。
PostDown –在关闭接口之前执行的命令或脚本。接口关闭后,iptables规则将被删除。
在wg0.conf和私钥文件不应该是人类可读普通用户。用于chmod将权限设置为600:
chmod 600 /etc/wireguard/{privatekey,wg0.conf}
完成后,wg0使用配置文件中指定的属性启动接口:
wg-quick up wg0
wg-quick down wg0
[#] ip link add wg0 type wireguard
[#] wg setconf wg0 /dev/fd/63
[#] ip -4 address add 192.168.68.1/24 dev wg0
[#] ip link set mtu 1420 up dev wg0
[#] iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o ens3 -j MASQUERADE