Wireguard配置HUB-SPOKE组网

本文详细介绍了Wireguard在HUB-SPOKE网络模型中的配置,包括通过NAT设备的穿透,以及PCA(HUB)、PCB和PCC(SPOKE)的配置步骤。强调了正确的私钥和公网信息设置,并演示了如何启用转发功能以实现站点间互通。
摘要由CSDN通过智能技术生成

4d72c0f3d16307c703e1910b6eb65f32.gif

正文共:888 字 13 图,预估阅读时间:1 分钟

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

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

0aa3a6f9bfd244cb0e505e8d504b3e0f.png

首先使用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

3a209290e7b08e9d6027a6118009f19d.png

作为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

d9ccbbd2c6b4b597fe3b0f323456e4b1.png

然后使能Wireguard接口配置。

wg-quick up /root/wg0.conf

f1487390a5e648b6fec9796a6a737ac6.png

同理,我们再来配置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

d2b2ca4a42c905d822a085f3067795ba.png

记得为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

e8175448e2cc0fba2f4525b2a424616d.png

然后使能Wireguard接口配置。

wg-quick up /root/wg0.conf

3476835c3986debad8e4458f3de227b8.png

同理,我们为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

15da4d5b87f7a4672bd92b22938b4af2.png

再配置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

f9595b0ded9c472b1d75bae22ce83550.png

然后使能Wireguard接口配置。

wg-quick up /root/wg0.conf

ff02d478a3e2e290635103e7ac01f6b8.png

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

74abdc975dc1aa31d71accde97bf5285.png

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

3a55921d657236c9747b040cabf48788.png

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

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

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

dc277ceed288b27831c3679f775126cf.png

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

最后简单总结一下:从配置过程来看,配置一点都不复杂,最主要是保证公钥和私钥完全配置正确,就这么几行配置,我反反复复查了4天;再就是开启HUB设备的本地转发功能,不然无法经过HUB设备进行互通。

daa72e3f016dd759757ea1be56bc7837.gif

长按二维码
关注我们吧

6458b6a762beb48394fabd68e803270a.jpeg

640d489e716993d8d3b0a4869737961b.png

Wireguard配置文件详解

配置Wireguard的几个进阶玩法

如何用SD-WAN路由器实现串接透明部署?

IPv6的无状态动态主机配置协议(DHCP)服务

超线程和VT-d开启与否对性能的影响大不大?

VPP配置指南:NAT“三板斧”

openVPN连接操作指南

某度网盘人工审核不安全?家庭小NAS搞起来!

openVPN + VPP = openVPP

Netmaker服务器端快速搭建WireGuard网络

MPLS (Multiprotocol Label Switching) 是一种网络技术,它扩展了传统的IP转发方式,引入了标签交换的概念,使得数据包能够更快速、更高效地在网络中传输。在 MPLS 中,Hub-Spoke模型是一种常见的网络架构设计,主要用于大型企业网络或服务提供商网络。 **Hub-Spoke模型:** - **Hub**: 在这种模型中,通常指的是中心节点或核心路由器,负责连接到多个子网(Spokes)。它是所有流量的主要入口和出口点。 - **Spoke**: 指的是从中心Hub辐射出去的分支网络,每个Spoke代表一个单独的区域或部门,如分公司、数据中心等。Spokes与Hub之间建立专用的MPLS隧道,数据通过这些隧道定向传输到Hub。 - **优点**: - 带宽效率:由于流量被集中处理,Hub可以为每个Spoke提供专用带宽,避免了全网广播或广播风暴。 - 网络扩展:当需要添加新的Spoke时,只需要在Hub和新Spoke之间配置连接,而无需修改整个网络的其他部分。 - 安全性:Hub可以实施防火墙策略,保护内部Spoke之间的通信不受外部干扰。 **如何工作:** 1. 数据包进入Hub时,会被打上标签,标识出它的目的地。 2. Hub根据标签转发数据包,不关心底层的IP路由信息。 3. Spoke之间的通信通过Hub进行,数据包在Hub内进行标签交换,然后沿预定路径到达目的地Spoke。 4. 当数据包到达目标Spoke时,标签被移除,执行最后的IP转发。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Danileaf_Guo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值