锐捷—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隧道

相关推荐
Y_Hungry3 小时前
Linux 怎么使用局域网内电脑的网络访问外部
linux·运维·服务器
网硕互联的小客服5 小时前
如何解决服务器文件丢失或损坏的问题
运维·服务器
Shanxun Liao5 小时前
如何在 PowerEdge 服务器上设置 NIC 分组
运维·服务器
开开心心就好5 小时前
提升办公效率的PDF转图片实用工具
运维·服务器·网络·python·智能手机·pdf·ocr
茅坑的小石头6 小时前
linux tar命令详解。压缩格式对比
linux·运维·服务器
球求了6 小时前
Linux 入门:操作系统&&进程详解
linux·运维·服务器·开发语言·学习
李匠20246 小时前
C++负载均衡远程调用学习之负载均衡算法与实现
运维·c++·学习·负载均衡
JAVA学习通6 小时前
[javaEE]网络编程
运维·服务器·网络
钢铁男儿7 小时前
Python 函数装饰器和闭包(闭包)
java·网络·python
alden_ygq7 小时前
/etc/kdump.conf 配置详解
服务器·网络·php