Loading

WireGuard多云组网教程

背景

我们多台云服务器,他们分布在阿里云、腾讯云、华为云等,它们又不在一个内网里面,想实现k3s集群,就需要把他们组到一个内网中,了解了很多的资料,大家很多用wireguard的组网方案,所有就有了这篇文章。下面是wireguard的组网方案。

一、服务器准备

本文使用2台云服务器进行组网配置。

host linux版本 配置 角色
101.43.x.x CentOS7.6 4h8g master
42.192.x.x CentOS7.6 1h2g node1
42.192.x.x CentOS7.6 1h2g node2
xxx xxx xxx xxx

二、安装wireguard

Centos7系统内核版本太低,需要安装bbr,执行如下脚本安装即可,debian11可以忽略这步。

wget -N --no-check-certificate "https://github.000060000.xyz/tcpx.sh" && chmod +x tcpx.sh && ./tcpx.sh

在所有节点开启 IP 地址转发

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

所有节点添加 iptables 规则,允许本机的 NAT 转换

iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wg0 -o wg0 -m conntrack --ctstate NEW -j ACCEPT
iptables -t nat -A POSTROUTING -s 10.88.88.1/24 -o eth0 -j MASQUERADE

设置主机、从机名字

# 设置主机
set hostname master
# 设置从机
set hostname node1

自定义安装配置

export VPN_SERVER_WG_PORT=12000

安装
这里可能会下载失败,失败了再次执行脚本即可。

wget --no-check-certificate -O /opt/wireguard.sh https://cdn.jsdelivr.net/gh/teddysun/across@master/wireguard.sh
chmod 755 /opt/wireguard.sh
/opt/wireguard.sh -s

切换指定目录,去生成公钥私钥

cd /etc/wireguard
wg genkey | tee privatekey | wg pubkey > publickey

三、配置主机

cd /etc/wireguard
vi wg0.conf
[Interface]
Address = 10.88.88.1/24
ListenPort = 12000
# 主机私钥
PrivateKey = GOe5dVjnXMK87sNOmeIrvVNhUUV0MrNx6GY/l+SNX1c=

# 从机配置
[Peer]
PublicKey = HOsEJP0SEoo2qtE+EqhdDPZS7kqoJXZK+NzQmQ5lkjo=
AllowedIPs = 10.88.88.2/32
EndPoint = 42.192.x.x:11000
PersistentKeepalive = 25

四、配置从机

cd /etc/wireguard
vi wg0.conf
[Interface]
Address = 10.88.88.2/24
ListenPort = 11000
# 从机私钥
PrivateKey = 4Me0DwdYzVgMs6AMW+MLXiTZ+bs51MBSK0oVG8IJUFI=

# 主机配置
[Peer]
PublicKey = oIITkI9f09c3fDLBZTe7wHaxQ6iGNpENJ1frgQlXMRI=
AllowedIPs = 10.88.88.1/32
EndPoint = 101.43.x.x:12000
PersistentKeepalive = 25

五、测试

重启主机和从机

systemctl restart wg-quick@wg0

云服务器要去后台安全组开放wireguard监听的端口(本文主机为12000,从机为11000),tcp和udp协议都要开放。

通信测试
master ping从机

node1 ping主机

双向组网成功。

持续更新中。。。

参考文章

https://www.cnsre.cn/posts/211119132529/
https://teddysun.com/554.html
https://blog.csdn.net/wq1205750492/article/details/124816246?spm=1001.2014.3001.5502
wireguard面板
https://github.com/vx3r/wg-gen-web
https://github.com/Place1/wg-access-server

posted @ 2022-09-25 22:41  sstu  阅读(1416)  评论(0编辑  收藏  举报