使用VPP时,如何配置实现两个相同网段私网的互访?

本文介绍了如何使用VPP(VectorPacketProcessing)技术,结合IPsec隧道和NAT,低成本地在两个具有相同网段的办公点之间实现私网通信,同时保持主机IP地址不变。详细步骤包括配置IPsec隧道、NAT映射以及报文转发过程。
摘要由CSDN通过智能技术生成

602c6e0655aefb9e43a275e0f4862135.gif

正文共:1024 字 9 图,预估阅读时间:2 分钟

很久之前,我们介绍过一个案例仅操作一台设备,如何实现本地访问另一个相同网段的私网?,在两个站点使用相同的私网地址,并且通过模拟SD-WAN进行打通,然后通过调整两台设备的组合配置,来实现两个站点的互访。

上个实验中,我们使用的是H3C的路由器设备进行测试的,那如果要降低成本,使用VPP进行组网,该如何配置解决呢?

c23b960e8ce3d73b4b7eddea5b142951.png

组网需求

cc5f42d46644fb97b02564d9f00378a6.png

1、某公司有两个办公点,内网网段地址均为10.1.1.0/24,现在通过基于VPP的SD-WAN方案将两个办公点内网打通;同时,因为有生产业务,不能改变主机的IP地址。

2、该公司拥有组网图中所有地址段的所有地址的使用权。

3、需要实现,PCA能够访问PCB。

a743f5c3fec5e6992b96ef30af2a2851.png

组网图

局域网通过NAT访问另一个地址重叠的局域网(IP访问)

35c11d6cad42433e8c9dade108301c73.png

556f9f0b05cc934fe4b1d2860d6b883d.png

实验环境

VMWare ESXi 6.7.0(ProLiant DL360 Gen9,48核心,128 GB内存)

H3C VSR1000(Version 7.1.064, Release 0621P18,4核心,4 GB内存)

CentOS Linux 7.9.2009(测试用虚拟机,8核心,16 GB内存)

717a563c8dca88700bddaa39499c53e1.png

配置思路

99adfce228f967b6f9e4aed7c2a0b977.png

对于IPsec VPN的配置,相关的介绍已经有几十篇了IPsec VPN文章及知识点汇总【墙裂建议收藏】。IPsec仅仅是一种安全封装,底层仍然是IP的隧道接口,所以我们无需考虑中间ISP设备的配置,先建立起VPP72和VPP73之间的IPsec隧道,再新建一个网段配置NAT即可。

485a38149664a420fad627623ab3ca85.png

配置IPsec VPN隧道

首先参考文章VPP配置指南:穿越NAT的IPsec VPN配置及性能测试,配置好VPP72和VPP73之间的IPsec隧道。

cd85a1bd234952a485853c75a0ccd0cd.png

VPP72

vppctl set int state eth1 up
vppctl set int ip address eth1 10.1.1.1/24
vppctl set int state eth2 up
vppctl set int ip address eth2 12.1.1.1/24
vppctl ip route add 23.1.1.0/24 via 12.1.1.2
vppctl ikev2 profile add ipsecnat
vppctl ikev2 profile set ipsecnat auth shared-key-mic string ipsecnat
vppctl ikev2 profile set ipsecnat id local fqdn vpp72
vppctl ikev2 profile set ipsecnat id remote ip4-addr 23.1.1.3
vppctl ikev2 profile set ipsecnat traffic-selector local ip-range 0.0.0.0 - 255.255.255.255 port-range 0 - 65535 protocol 0
vppctl ikev2 profile set ipsecnat traffic-selector remote ip-range 0.0.0.0 - 255.255.255.255 port-range 0 - 65535 protocol 0
vppctl ikev2 profile set ipsecnat responder eth2 23.1.1.3
vppctl ikev2 profile set ipsecnat ike-crypto-alg aes-cbc 256  ike-integ-alg sha1-96  ike-dh modp-2048
vppctl ikev2 profile set ipsecnat esp-crypto-alg aes-cbc 256  esp-integ-alg sha1-96  esp-dh ecp-256
vppctl ikev2 profile set ipsecnat sa-lifetime 3600 10 5 0

71be93ef5f7af007e03d09f9e70f000c.png

vppctl ikev2 initiate sa-init ipsecnat
vppctl set interface state ipip0 up
vppctl set interface ip address ipip0 13.1.1.1/24

d4b3fe971228778376e0f0fd29a4beea.png

fa39f2c18269450f4775d07ab63ce6e7.png

VPP73

vppctl set int state eth1 up
vppctl set int ip address eth1 23.1.1.3/24
vppctl set int state eth2 up
vppctl set int ip address eth2 10.1.1.1/24
vppctl ikev2 profile add ipsecnat
vppctl ikev2 profile set ipsecnat auth shared-key-mic string ipsecnat
vppctl ikev2 profile set ipsecnat id local ip4-addr 23.1.1.3
vppctl ikev2 profile set ipsecnat id remote fqdn vpp72
vppctl ikev2 profile set ipsecnat traffic-selector local ip-range 0.0.0.0 - 255.255.255.255 port-range 0 - 65535 protocol 0
vppctl ikev2 profile set ipsecnat traffic-selector remote ip-range 0.0.0.0 - 255.255.255.255 port-range 0 - 65535 protocol 0

b1024aee177ea73d84c1b43f59f22d89.png

vppctl set interface state ipip0 up
vppctl set interface ip address ipip0 13.1.1.3/24

215415283624ece676b3260ec813d9c6.png

0773163a8d08b92692d0f6f3f3b5eec5.png

ISP

#
interface GigabitEthernet2/0
 ip address 12.1.1.2 255.255.255.0
#
interface GigabitEthernet3/0
 ip address 23.1.1.2 255.255.255.0
 nat outbound

46eada067383f07ae8732570ee32eb86.png

配置NAT映射

我们现在已经建立起了VPP72到VPP73之间的IPsec隧道。我们想让PCA先访问到VPP73的IPsec接口,可以参考VPP配置指南:NAT“三板斧”,配置如下命令:

vppctl nat44 add address 13.1.1.102
vppctl set interface nat44 out ipip0 output-feature

547456f61f5468c2966cc50a376e5233.png

我们可以看到,现在PCA已经可以通过IP地址13.1.1.102访问到VPP73的IPsec隧道接口地址了。

8d88f4e2c950cc7ae70f3e2681ee974c.png

然后我们尝试在VPP73上配置一个DNAT,将PCB(10.1.1.2)一对一映射到IP地址13.1.1.202。

vppctl nat44 add static mapping local 10.1.1.2 external 13.1.1.202
vppctl set interface nat44 in ipip0 out eth1 output-feature

303e467945a69de79b9063e8a92cf230.png

此时,PCA已经可以访问到PCB映射后的地址13.1.1.202了。

3f05b985eab1017db4de673d70bc7374.png

最后介绍一下PCA通过地址13.1.1.202来访问PCB的报文转换过程:

1、从VPP72的eth1接口收到请求报文,源地址为10.1.1.2,目的地址为13.1.1.202;

2、在VPP72的ipip0接口上做SNAT转换,转换后的源地址为13.1.1.102,目的地址为13.1.1.202;

3、报文到达VPP73,在ipip0接口上做DNAT转换,转换后的源地址为13.1.1.102,目的地址为10.1.1.2;

4、报文到达PCB进行处理,处理完成后返回VPP73;

5、VPP73从接口eth1接收到响应报文,源地址为10.1.1.2,目的地址为13.1.1.102,匹配接口ipip0的NAT会话,做NAT转换,转换后的源地址为13.1.1.202,目的地址13.1.1.102,将报文转发到接口ipip0;

7、VPP72从接口ipip0接收到响应报文,匹配接口ipip0的NAT会话,做NAT转换,转换后的源地址为13.1.1.202,目的地址10.1.1.2,并发出报文;

8、PCA收到PCB的响应报文,转发结束。

9d5e63ae4668b83ae46a3ab11a583138.gif

长按二维码
关注我们吧

b57d7cefbfc1f27f06ec221124545f83.jpeg

4a513a6248ed80b2dcffaca8204023ef.png

VPP配置指南:配置VXLAN隧道

Netmaker是个啥?网络制造商?

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

CPU0实锤了!VPP这个精致的单核英雄主义者!!

谁说2C4G的VPP性能差,IPsec性能5 Gbps也叫差?

巧用openVPN实现访问云资源池业务

openVPN + VPP = openVPP

IPsec VPN文章及知识点汇总【墙裂建议收藏】

  • 24
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
两台 VPP 设备之间使用 VLAN ID 实现 DHCP 客户端和 DHCP 服务器,可以按照以下步骤进行操作: 1. 创建 VLAN 接口:在两台 VPP 设备上,使用 `create subif` 命令创建 VLAN 接口。例如,以下命令将创建一个 VLAN 接口,其标记为 10,父接口为 GigabitEthernet0/0/0: ``` create subif gigabitethernet0/0/0 vlan 10 ``` 2. 配置 IP 地址:使用 `set interface ip address` 命令为 VLAN 接口配置 IP 地址。例如,以下命令将为 VLAN 接口配置 IP 地址 192.168.1.1/24: ``` set interface ip address gigabitethernet0/0/0.10 192.168.1.1/24 ``` 3. 配置 DHCP 服务器:在其中一台 VPP 设备上,使用 `dhcp server` 命令配置 DHCP 服务器。例如,以下命令将启用 DHCP 服务器并配置地址池: ``` dhcp server dhcp server address pool 192.168.1.2 192.168.1.254 ``` 4. 配置 DHCP 客户端:在另一台 VPP 设备上,使用 `dhcp client` 命令配置 DHCP 客户端。例如,以下命令将启用 DHCP 客户端: ``` dhcp client enable ``` 5. 配置 VLAN 路由:在两台 VPP 设备上,使用 `ip route add` 命令配置 VLAN 路由。例如,以下命令将配置从 VLAN 10 到 VLAN 20 的路由: ``` ip route add 192.168.2.0/24 via 192.168.1.2 ``` 6. 验证配置使用 `show interface` 命令验证 VLAN 接口的配置信息。例如,以下命令将显示 VLAN 接口的配置信息: ``` show interface gigabitethernet0/0/0.10 ``` 以上是在两台 VPP 设备之间使用 VLAN ID 实现 DHCP 客户端和 DHCP 服务器的基本步骤。您可以根据需要进行更改和调整。请注意,为了使 VLAN 路由正常工作,您需要在两台设备之间配置相应的 VLAN 路由。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Danileaf_Guo

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

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

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

打赏作者

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

抵扣说明:

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

余额充值