28
2025
03
12:33:59

Wireguard配置HUB-SPOKE组网

通过前面几次的巩固Wireguard配置文件详解配置Wireguard的几个进阶玩法,我们现在已经数量掌握了Wireguard的配置要领,那么我们就来更新一下Wireguard的组网案例。

首先介绍一下HUB-SPOKE组网模型,分别用3台主机代表3个站点,PCA为HUB角色,PCB和PCC为SPOKE角色,配置PCB和PCC需要穿越NAT设备来访问PCA。每个主机配置一个虚拟接口veth,模拟本地网络。组网示意图如下:

Wireguard配置HUB-SPOKE组网

首先使用3条命令完成标准内核下的Wireguard安装,即使用ELRepo的预构建模块进行安装。具体操作过程请参考使用8条命令即可完成的VPN配置!CentOS快速配置WireGuard全互联组网,文章同时介绍了3种部署方式。



yum install -y epel-release elrepo-release
yum install -y yum-plugin-elrepo
yum install -y kmod-wireguard wireguard-tools


安装完Wireguard之后,我们先来配置HUB设备PCA。首先为PCA创建一个虚拟接口,并配置IP地址110.1.1.1/24。



ip link add loop1 type veth
ip address add dev loop1 110.1.1.1/24
ip link set up dev loop1


Wireguard配置HUB-SPOKE组网

作为HUB设备,配置时无需指定对端的IP地址和端口信息,但需要保证对端的公钥信息正确;再加上两端的私网信息,PCA的配置如下:



[Interface]
PrivateKey = 2DOnuYIGbLMplHdd3TjwUjbZGQfPC6kxbp+XE+Z1FlM=
Address = 10.1.1.1/24
ListenPort = 10086
[Peer]
PublicKey = Qldp06YMySdq77rT+JboZAAicv0JZtuMxCl2Eb79yj8=
AllowedIPs = 10.1.1.2/32,120.1.1.0/24
[Peer]
PublicKey = /F826MtOhPCmyqxnT0LoTMDErbCE/oBfXW0stbnXojE=
AllowedIPs = 10.1.1.3/32,130.1.1.0/24


Wireguard配置HUB-SPOKE组网

然后使能Wireguard接口配置。



wg-quick up /root/wg0.conf


Wireguard配置HUB-SPOKE组网

同理,我们再来配置SPOKE设备,和HUB设备不同的是,SPOKE设备需要明确指定对端的IP地址和端口信息,不能留空;再加上去往HUB和另一个SPOKE的私网信息,PCB的配置如下:



[Interface]
PrivateKey = uMTJJ6LZKwHGfdUUtQdGt5d/qCey5xRZi2MFG27HQ0E=
Address = 10.1.1.2/24
ListenPort = 10086
[Peer]
PublicKey = reMkRBC1wrBqPOrqDRYVNGx4RBLwM2iYCKYzvC7lbCg=
Endpoint = 11.1.1.2:10086
AllowedIPs = 10.1.1.0/24,110.1.1.0/24,130.1.1.0/24
PersistentKeepalive = 10


Wireguard配置HUB-SPOKE组网

记得为PCB创建一个虚拟接口,并配置IP地址120.1.1.1/24。



ip link add loop1 type veth
ip address add dev loop1 120.1.1.1/24
ip link set up dev loop1


Wireguard配置HUB-SPOKE组网

然后使能Wireguard接口配置。



wg-quick up /root/wg0.conf


Wireguard配置HUB-SPOKE组网

同理,我们为PCC创建一个虚拟接口,并配置IP地址130.1.1.1/24。



ip link add loop1 type veth
ip address add dev loop1 130.1.1.1/24
ip link set up dev loop1


Wireguard配置HUB-SPOKE组网

再配置PCC,同样是明确指定HUB的IP地址和端口信息,再加上去往HUB和PCB的私网信息,PCC的配置如下:



[Interface]
PrivateKey = uJyPyJ5/WtiPi8S3dSHBzHT4ObPq9e7aZY0WnbLis0Q=
Address = 10.1.1.3/24
ListenPort = 10086
[Peer]
PublicKey = reMkRBC1wrBqPOrqDRYVNGx4RBLwM2iYCKYzvC7lbCg=
Endpoint = 11.1.1.2:10086
AllowedIPs = 10.1.1.0/24,110.1.1.0/24,120.1.1.0/24
PersistentKeepalive = 10


Wireguard配置HUB-SPOKE组网

然后使能Wireguard接口配置。

wg-quick up /root/wg0.conf


Wireguard配置HUB-SPOKE组网

到这里,我们可以看到隧道基本上都连接成功了,我们来看一下HUB设备的状态。

Wireguard配置HUB-SPOKE组网

可以看到,两个SPOKE设备都和HUB设备成功连接,再测试一下联通性。

Wireguard配置HUB-SPOKE组网

访问正常,为了使SPOKE设备之间能够互访,我们必须要开启HUB设备的转发功能。



echo 1 > /proc/sys/net/ipv4/ip_forward


然后我们再从SPOKE设备PCB上看一下联通性。

Wireguard配置HUB-SPOKE组网

可以看到,一切访问正常,HUB-SPOKE组网成功。

最后简单总结一下:从配置过程来看,配置一点都不复杂,最主要是保证公钥和私钥完全配置正确,就这么几行配置;

再就是开启HUB设备的本地转发功能,不然无法经过HUB设备进行互通,当然包括masquade功能masquerade

1、AllowedIPs = 0.0.0.0/0
2、iptables或者firewall的masquerade

Wireguard配置HUB-SPOKE组网



推荐本站淘宝优惠价购买喜欢的宝贝:

Wireguard配置HUB-SPOKE组网

本文链接:https://hqyman.cn/post/9896.html 非本站原创文章欢迎转载,原创文章需保留本站地址!

分享到:
打赏





休息一下~~


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

请先 登录 再评论,若不是会员请先 注册

您的IP地址是: