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