参考 https://www.wireguard.com/install/
参考 https://kotori.net/2018/10/21/centos-安装最新版的wireguard/
一、安装linux-headers(请自己帮自己)
倘若失败,请更新到最新内核
什么?想和魔改bbr/锐速共存?这边建议您自行谷歌呢
二、安装wireguard
https://www.wireguard.com/install/ 找对应系统的安装命令
三、检查是否安装成功
modprobe wireguard
# 如果安装失败,则有以下输出
modprobe: FATAL: Module wireguard not found in directo...
# 此时请重新回到第一步
四、开启ipv4转发
echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p
五、生成公钥私钥
mkdir /etc/wireguard
cd /etc/wireguard
wg genkey | tee privatekey | wg pubkey > publickey
六、配置wg
# 服务端
cat > /etc/wireguard/wg0.conf << EOF
[Interface]
PrivateKey = PRIVATEKEY
Address = 192.168.2.1/24
ListenPort = PORT
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o INTERFACE -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o INTERFACE -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o INTERFACE -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o INTERFACE -j MASQUERADE
SaveConfig = true
EOF
# 然后修改 PORT 和 INTERFACE,有需要把 Address 也改掉
# 服务端 设置客户端peer
# ALLOWED_IP_CIDR 若是0.0.0.0/0,即为全局转发,千万别通过ssh开这个
# 这边建议您将其设置为远端wg的ip呢,例如 192.168.2.222/32
wg set wg0 peer ${CLIENT_PUBLICKEY} allowed-ips ${ALLOWED_IP_CIDR} endpoint ${REMOTE_ADDR} persistent-keepalive 25
客户端的配置与服务端一样的呢,如果想要当成全局vpn用,客户端就把ALLOWED_IP_CIDR改为0.0.0.0/0即可
如果客户端是linux呢?只能请楼下的大神回答一下了,我不会
七、管理
# 开机自启
systemctl enable wg-quick@wg0
# 开关
wg-quick up|down wg0
# 查看状态
wg
最后,开了wg的机器想设置内网的端口转发时,本地ip应该选择wg上的ip哟