CISCO 在NAT下做IPsec VPN常见的问题及配置实例详解

前言:

VPN作为一项成熟的技术,广泛应用于组织总部和分支机构之间的组网互联,其利用组织已有的互联网出口,虚拟出一条“专线”,将组织的分支机构和总部连接起来,组成一个大的局域网。IPSEC引进了完整的安全机制,包括加密、认证和数据防篡改功能。

IPsec的协商分为两个阶段:

第一阶段:验证对方,协商出IKE SA ,保护第二阶段IPSEC Sa协商过程

第二阶段:保护具体的数据流

拓扑如下:

(测试结果用红色字体展现)

在这种情况下,不做NAT的时候,VPN可以正常使用,两边的私网是不能访问互联网的。

那么在做了NAT之后,私网可以访问互联网了,但是 VPN 却不能通信了。那么要怎么解决呢?

VPN的配置这里就不再做过多的说明了,之前写的博客里面有做详细的配置讲解。要看的小伙伴们可以查看 http://10999721.blog.51cto.com/10989721/1853989 哦!

下面我们直接开始做NAT吧!

首先测试一下IPSec VPN的联通性

CQ#ping 2.2.2.2 so lo 0

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:

Packet sent with a source address of 1.1.1.1

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 36/61/80 ms

CQ#

是可以通的哦!

测试与互联网的连通性

CQ#ping 202.1.1.1

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 202.1.1.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 16/24/44 ms

CQ#ping 202.1.1.1 so lo 0

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 202.1.1.1, timeout is 2 seconds:

Packet sent with a source address of 1.1.1.1

.....

Success rate is 0 percent (0/5)

CQ#

可以看出,私网是不能ping通互联网的哈!

做NAT的配置

CQ(config)#ip access-list extended pat

CQ(config-ext-nacl)#permit ip 1.1.1.0 0.0.0.255 any   //允许网段1.1.1.0访问所有的网段。因为互联网上的地址很多,不可能一个个的配置。

CQ(config)#ip nat inside source list pat interface f0/0 overload  //做基于接口的pat

CQ(config)#int f0/0

CQ(config-if)#ip nat outside

CQ(config-if)#int lo 0

CQ(config-if)#ip nat inside

//应用到接口,那么NAT已经做完了,下面来测试一下结果

CQ#ping 202.1.1.1 so lo 0

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 202.1.1.1, timeout is 2 seconds:

Packet sent with a source address of 1.1.1.1

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 8/13/24 ms

CQ#

测试VPN

CQ#ping 2.2.2.2 so lo 0

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:

Packet sent with a source address of 1.1.1.1

UUUUU

Success rate is 0 percent (0/5)

CQ#

可以看得出,显示的是不可达。为什么会这样呢?

我们来查看一下ACL

CQ#sh ip access-lists

Extended IP access list pat

10 permit ip 1.1.1.0 0.0.0.255 any (8 matches)

Extended IP access list vpn

10 permit ip 1.1.1.0 0.0.0.255 2.2.2.0 0.0.0.255 (20 matches)

CQ#

有两个ACL,一个是VPN的,一个是NAT的

其实,cisco路由器上的ACL是有优先级的,那么在cisco中,认为NAT的规则要优先于map的规则。

那么在这种情况下就会出现一个很有趣的现象

一开始 1.1.1.0 的网段进入路由器,匹配的显示名为pat的策略,而这条策略是做NAT转换的,转换了之后,互联网上不存在私网 2.2.2.0 的地址,所以就会显示不可达。实际上,因为策略 pat 已经匹配了这股流量,那么 vpn 就不会再匹配了。

那要怎么解决呢?

其实我们可以根据他的规则做出相应的改变,我们可以在规则 pat 剔除去往 2.2.2.0 的流量(VPN流量),从而让 vpn 的策略匹配这股流量。

配置如下:

CQ(config)#ip access-list extended pat

CQ(config-ext-nacl)#5 deny ip 1.1.1.0 0.0.0.255 2.2.2.0 0.0.0.255  //定义的序号为5 序号要在 10 permit ip 1.1.1.0 0.0.0.255 any 的前面,因为acl是从上往下匹配的

这样的话,在pat这条策略里面,就不会去匹配vpn的流量了,转而让vpn的策略匹配

测试结果:

CQ#ping 2.2.2.2 so lo 0

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 2.2.2.2, timeout is 2 seconds:

Packet sent with a source address of 1.1.1.1

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 16/32/44 ms

CQ#ping 202.1.1.1 so lo 0

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 202.1.1.1, timeout is 2 seconds:

Packet sent with a source address of 1.1.1.1

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 4/24/44 ms

CQ#

这样问题就解决了。

时间: 2024-08-07 18:56:46

CISCO 在NAT下做IPsec VPN常见的问题及配置实例详解的相关文章

Linux下高并发socket最大连接数所受的各种限制(详解)

1.修改用户进程可打开文件数限制 在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄).可使用ulimit命令查看系统允许当前用户进程打开的文件数限制: [[email protected] ~]$ ulimit -n1024 这表示当前用户的每个进程最多允许同时打开1024个文件,这1024个文件中

tco/iP协议族——IP工作原理及实例详解(下)

 IP协议详解 上一篇文章文章主要介绍了IP服务的特点,IPv4头部结构IP分片,并用tcpdump抓取数据包,来观察IP数据报传送过程中IP的格式,以及分片的过程.本文主要介绍IP路由,IP转发,重定向和IPv6头部结构. IP路由 IP协议的一个核心任务是数据报的路由,即决定发送数据报到目标机器的路径.为了理解IP路由过程,我们先简要分析IP模块的基本流程. IP模块工作流程 从右往左分析上图,它首先对该数据报的头部做CRC校验,确认无误之后就分析其头部的具体信息. 如果该IP数据报的头

Linux下FFMPEG--H264--编码&&解码的C实现与相关原理详解

FFMPEG是很强大的一套视频音频处理库,不过,强大的功能一般免不了复杂的实现,或者更加现实地说,"麻烦"的部署和使用流程 关于"FFMPEG怎么部署"这事就放在另一篇文章啦,下面入正题.. 编码encoder模块和解码decoder模块都有init初始化方法和资源free方法 init初始化方法主要是进行ffmpeg所必需的编解码器的初始化和部分功能方法的参数配置,而free资源释放方法则是相应地进行必要的回收 Encoder模块的实现和细节分析 #include

CentOS7下Firewall防火墙配置用法详解

官方文档地址: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Security_Guide/sec-Using_Firewalls.html#sec-Introduction_to_firewalld1 修改防火墙配置文件之前,需要对之前防火墙做好备份 重启防火墙后,需要确认防火墙状态和防火墙规则是否加载,若重启失败或规则加载失败,则所有请求都会被防火墙拦截 1 2 3 4 5 6 7

indows下PHP通过ffmpeg给上传的视频截图详解

windows下PHP通过ffmpeg给上传的视频截图详解,php_ffmpeg.dll安装下载,找了很久php_ffmpeg.dll的下载地址和应用,发现有用的资源很少,现在问题解决了,贴出来跟大家分享一下: 首先要安装PHP的ffmpeg扩展,我们需要php_ffmpeg.dll文件和一些其他的辅助文件,        这里整理了一下提供给大家: ffmpeg-php-win32-all.rar: 解压后你将得到5个文件,将avcodec-51.dll, avformat-51.dll, a

常见26个jquery使用技巧详解(比如禁止右键点击、隐藏文本框文字等)

来自:http://www.xueit.com/js/show-6015-1.aspx 本文列出jquery一些应用小技巧,比如有禁止右键点击.隐藏搜索文本框文字.在新窗口中打开链接.检测浏览器.预加载图片.页面样式切换.所有列等高.动态控制页面字体大小.获得鼠标指针的X值Y值.验证元素是否为空.替换元素.延迟加载.验证元素是否存在于Jquery集合中.使DIV可点击.克隆对象.使元素居中.计算元素个数.使用Google主机上的Jquery类库.禁用Jquery效果.解决Jquery类库与其他J

基于cisco路由器做IPSec VPN隧道

实验要求:拓扑图如下所示,R1和R5作为internet中两端内部局域网,通过在网关设备R2和R4上设置IPsec VPN,使两端的局域网之间建立一种逻辑上的虚拟隧道. 实验步骤:首先配置所有理由器接口的IP地址(略),并指定默认路由(因为是末梢网络). R1上面的默认路由如下所示. R2上面的默认路由如下所示. ISP是运营商,在这里用来模拟外部网络,只需要配置IP地址就行. R4上面的默认路由如下所示. R5上面的默认路由如下所示. 此时配置完成两个局域网是不能够通信的.下面就需要分别在R2

RouteOS与ASA ipsec vpn进行多段隧道配置

一.概述 教育网分支[RoutOS2]要访问处在其他运营商的公司总部[ASA]的内部资源,速度太慢,无法正常应用.通过在教育网中托管的一个多线路服务器来变相进行加速. 拓扑结构如下: ip地址规划: ASA[公司总部防火墙]:          outside : 182.48.112.130 内网 :       172.16.1.124 routeOS1[托管服务器] :    e1: 1.1.1.2 [BGP线路] e2: 2.2.100.3[教育网线路] routeOS2 [教育网路由器

cisco PIX防火墙 基本命令配置及详解

企业安全策略的一个主要部分都是实现和维护防火墙,因此防火墙在网络安全的实现当中扮演着重要的角色.防火墙通常位于企业网络的边缘,这使得内部网络与Internet之间或者与其他外部网络互相隔离,并限制网络互访从而保护企业内部网络.设置防火墙目的都是为了在内部网与外部网之间设立唯一的通道,简化网络的安全管理. 在众多的企业级主流防火墙中,Cisco PIX防火墙是所有同类产品性能最好的一种.Cisco PIX系列防火墙目前有5种型号PIX506,515,520,525,535.其中PIX535是PIX