文章

wireguard配置多节点组网

介绍

wireguard是一种现代、高效且易于配置的 VPN 协议,以其简洁性和高性能著称

准备

准备一台云服务器,主要目的是需要一台公网的设备,通过这台服务器再组建一个局域网,达到多个节点互访。

安装

服务端配置
安装wireguard

apt-get install wireguard -y

开启ipv4流量转发

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf
sysctl -p

进入目录

cd /etc/wireguard

生成服务器公钥和私钥

wg genkey > server.key  #生成私钥
wg pubkey < server.key > server.key.pub  #通过私钥生成公钥

生成客户端公钥和私钥

wg genkey > client1.key  #生成私钥
wg pubkey < client1.key > client1.key.pub  #通过私钥生成公钥

创建配置文件

vi /etc/wireguard/wg0.conf
[Interface]
Address = 10.10.0.1/24  # 服务器虚拟 IP 地址
ListenPort = 51820      # WireGuard 监听端口
PrivateKey = 服务器私钥  # 替换为生成的私钥

# 允许通过 VPN 转发的流量
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
#eth0是网卡名称
[Peer]
PublicKey = 客户端公钥  # 替换为客户端公钥
AllowedIPs = 10.10.0.2/32  # 客户端虚拟 IP 地址

启动wireguard

wg-quick up wg0

设置开机自启

systemctl enable wg-quick@wg0

客户端配置
安装略
创建配置文件wg0.conf

[Interface]
Address = 10.10.0.2/24  # 客户端虚拟 IP 地址
PrivateKey = 客户端私钥  # 替换为生成的私钥

[Peer]
PublicKey = 服务器公钥  # 替换为服务器公钥
Endpoint = 服务器公网IP:51820  # 替换为服务器公网 IP 和端口
AllowedIPs = 10.10.0.0/24  # 允许服务器IP
PersistentKeepalive = 25

启动wireguard

wg-quick up wg0

设置开机自启

systemctl enable wg-quick@wg0

ps:多个客户端配置,需要在服务器配置文件添加多个peer
验证连接

wg

现在还有一个去中心化的组网方案:EasyTier,有空也可以部署看看

License:  CC BY 4.0