锐捷—NAT地址映射+IPsec隧道

任务目标

在出口路由器R3上将R5私网地址1对1映射的公网地址与R1建立IPsec隧道,使得R4在访问R5的映射公网地址时,可以进行IPsec隧道的转发

要求:

1、R4和R5可通过NAT转换正常访问互联网地址(R2的lo0)

2、R5的私网地址在R3上映射为20.1.1.3/29

3、R1与R5映射后的地址建立IPsec隧道进行私网流量的转发

4、R1的IPsec隧道要求为动态隧道,R3为静态隧道

配置

1、配置各设备的IP地址,并保证各设备间的互联互通,R2的lo0接口模拟互联网

R1

php 复制代码
int g0/1
ip add 10.1.1.1 30
int g0/0
ip add 192.168.10.254 24
exit
ip route 0.0.0.0 0.0.0.0 10.1.1.2

R2

php 复制代码
int g0/1
ip add 10.1.1.2 30
int g0/3
ip add 20.1.1.1 29
int lo0
ip add 2.2.2.2 32
exit

R3

php 复制代码
int g0/3
ip add 20.1.1.2 30
int g0/0
ip add 192.168.20.254 24
exit
ip route 0.0.0.0 0.0.0.0 20.1.1.1

R4

php 复制代码
int g0/0
ip add 192.168.10.1 24
exit
ip route 0.0.0.0 0.0.0.0 192.168.10.254

R5

php 复制代码
int g0/0
ip add 192.168.20.1 24
exit
ip route 0.0.0.0 0.0.0.0 192.168.20.254

2、在R1和R3上配置NAT,使得R4和R5可通过NAT访问互联网

R1

php 复制代码
ip access-list extended 101
 10 permit ip 192.168.10.0 0.0.0.255 any
 deny ip any any
ip nat pool PC_to_Internet 10.1.1.1 10.1.1.1 netmask 255.255.255.252
ip nat inside source list 101 pool PC_to_Internet overload
int g0/1
ip nat outside
int g0/0
ip nat inside
exit

R3

php 复制代码
ip access-list extended 101
 10 permit ip 192.168.20.0 0.0.0.255 any
 deny ip any any
ip nat pool PC_to_Internet 20.1.1.1 20.1.1.1 netmask 255.255.255.248
ip nat inside source list 101 pool PC_to_Internet overload
int g0/1
ip nat outside
int g0/0
ip nat inside
exit

3、配置NAT地址映射,在R3的G0/3接口上将192.168.20.1映射至公网地址20.1.1.3/29

R3

php 复制代码
ip nat inside source static 192.168.20.1 20.1.1.3 permit-inside

4、建立IPsec隧道

R1

php 复制代码
crypto isakmp policy 1
 encryption 3des
 authentication pre-share
 hash md5
 group 2

crypto isakmp key 7 ruijie@123 address 0.0.0.0 0.0.0.0
crypto ipsec transform-set myset esp-3des esp-md5-hmac

crypto dynamic-map dymymap 5
 set transform-set myset

crypto map mymap 10 ipsec-isakmp dynamic dymymap
interface GigabitEthernet 0/1
 crypto map mymap

R3,这里IPsec感兴趣流量的源地址需要匹配的是NAT映射后的地址,因为R5的流量经过接口后会优先进行地址映射,然后再进行其他服务模块的操作

php 复制代码
ip access-list extended 110
 10 permit ip 20.1.1.0 0.0.0.7 192.168.10.0 0.0.0.255
 20 deny ip any any
!
crypto isakmp policy 1
 encryption 3des
 authentication pre-share
 hash md5
 group 2
!  
crypto isakmp key 7 ruijie@123 address 10.1.1.0 255.255.255.252
crypto ipsec transform-set myset esp-3des esp-md5-hmac
!
crypto map mymap 5 ipsec-isakmp
 set peer 10.1.1.1
 set transform-set myset
 match address 110
!
interface GigabitEthernet 0/3
 crypto map mymap

隧道建立完成后尝试使用R5 ping R4进行测试,这里的PC-2就是R5

php 复制代码
PC-2# ping 192.168.10.1
Sending 5, 100-byte ICMP Echoes to 192.168.10.1, timeout is 2 seconds:
  < press Ctrl+C to break >
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 3/9/28 ms.
PC-2#

R3上可以查看隧道的详细信息

R1上同样也会出现隧道信息

虽然此时R1上以及有了去往R3的隧道,但此时R4 ping 20.1.1.3时还是会进行地址转换,因为R1出接口的NAT模块优先于IPsec执行

这里有个很奇怪的现象:R4的流量通过NAT从R1发往R5了,R5也回复了,但R1的NAT转换表上并没有相应的记录,回程流量到R1上以后就被R1接收了,不发给R4

暂时先不想那么多,最起码我们目前知道需要在NAT流量中拒绝10.1去往20.1.1.3的流量

R1

php 复制代码
ip access-list ex 101
 5 deny ip 192.168.10.0 0.0.0.255 20.1.1.3 0.0.0.0
exit

再次进行测试

php 复制代码
PC-1# ping 20.1.1.3
Sending 5, 100-byte ICMP Echoes to 20.1.1.3, timeout is 2 seconds:
  < press Ctrl+C to break >
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 3/4/8 ms.
PC-1#

这里可以看到都是加密后的流量

总结

当NAT与IPsec同时在接口上应用时,会优先进行NAT转换,然后再进行IPsec,但NAT转换后的地址也可以进入IPsec隧道,因此可直接配置NAT后的地址与对端建立隧道

但这样划分进入隧道的流量并不精细,现网中更多的是规定只有某个网段的流量可以进入IPsec隧道

相关推荐
大霞上仙32 分钟前
Ubuntu系统电脑没有WiFi适配器
linux·运维·电脑
weixin_442643421 小时前
推荐FileLink数据跨网摆渡系统 — 安全、高效的数据传输解决方案
服务器·网络·安全·filelink数据摆渡系统
阑梦清川1 小时前
JavaEE初阶---网络原理(五)---HTTP协议
网络·http·java-ee
Karoku0661 小时前
【企业级分布式系统】Zabbix监控系统与部署安装
运维·服务器·数据库·redis·mysql·zabbix
为什么这亚子1 小时前
九、Go语言快速入门之map
运维·开发语言·后端·算法·云原生·golang·云计算
布值倒区什么name1 小时前
bug日常记录responded with a status of 413 (Request Entity Too Large)
运维·服务器·bug
FeelTouch Labs2 小时前
Netty实现WebSocket Server是否开启压缩深度分析
网络·websocket·网络协议
。puppy2 小时前
HCIP--3实验- 链路聚合,VLAN间通讯,Super VLAN,MSTP,VRRPip配置,OSPF(静态路由,环回,缺省,空接口),NAT
运维·服务器
颇有几分姿色2 小时前
深入理解 Linux 内存管理:free 命令详解
linux·运维·服务器
光芒再现dev3 小时前
已解决,部署GPTSoVITS报错‘AsyncRequest‘ object has no attribute ‘_json_response_data‘
运维·python·gpt·语言模型·自然语言处理