CCIE安全:NAT遍历

在这篇博客文章中,我们将遍历Nat遍历和不同的考虑因素思考,即在VPN对等体的路径中进行思考。

我将从上一个站点到网站上的IOS VPN博客文章中使用相同的配置,但有一个差异:我在路径中放置了ASA,PAT配置在它上。此拓扑显示如下。 


当你第一次尝试Isakmp时,它将失败。在调试输出中,原因在于 调试加密isakmp。 在这种情况下, 先前配置的ISAKMP对等体是预先NAT IP地址,因此当主模式消息来自NAT IP时,对等体无法识别它。 

 

为了解决这个问题,我将改变isakmp和crypto地图对等方:

crypto isakmp key cisco123 address 2.2.2.2
crypto map CMAP 10 ipsec-isakmp
no set peer 1.1.1.1
set peer 2.2.2.2

 

现在让我们再次尝试建立IPsec VPN,看看会发生什么。 

我们看着 调试加密isakmp. 输出,我们应该首先看到在响应者MM#3和MM#4期间检测到NAT:

 

响应者将回复封装在UDP报文源和目标端口4500中的下一个主模式消息,因此Pat将在一阶段2开始时在它的PAT绑定表中安装有状态信息

 

此时,启动器将看到封装在UDP中的消息,并开始回复封装在UDP 4500中的自己的数据包,您可以从下面的调试输出到启动器中的调试输出。

 

在这之后, 第1阶段和第2阶段应该完成和沟通应允许通过。

从PC中,您还应该看到Ping流量完成,除了在路由器上建立IPSec VPN隧道时,第一个ping除外。

 

伟大的!当启动器是来自PAT设备内部的对等方时,它看起来一切都完美。让我们发出 清除加密会话 命令并尝试不同的东西。这次我将从防火墙外的网站启动流量。我将在192.168.2.0/24 LAN尝试上Ping另一个电脑。 

这次它将失败,正如您在下面看到的那样。 

 

让我们来看看启动器路由器的调试输出:

它看起来像发起者永远不会让它透过第一个主模式消息。如果您查看响应者上的调试输出,根本不会出现任何展示。 

原因是您正在尝试从较低的安全接口启动流量到更高的接口。默认情况下,ASA应该正在执行它的作业并阻止来自较低安全界面的任何流量。 您需要两件事,以便从外部的对等体上获取主模式消息到内部的对等体:

1.NAT语句 - ASA需要知道即将到达IP地址的流量应映射到内部路由器的IP地址。这可以通过在外部接口上创建具有特定端口映射的NAT语句或具有单独的IP地址而不是接口的IP的NAT语句来完成。 

2. ACL - 为了不被阻止,需要配置ACL以允许UDP 500和4500从另一个对等方面的外部接口上。 

笔记: 如果您使用的是8.3后ASA iOS代码(您必须为CCIE实验室提供,但我知道有很多有很多与旧代码一起的人),请务必使用真实的IP编写您的ACL和NAT语句。 

在ASA上创建NAT语句,允许UDP 4500和500到路由器的外部接口:

object network R1
host 1.1.1.1

object service UDP_4500
service udp source eq 4500

object service UDP_500
service udp source eq 500

nat (inside,outside) 1 source static R1 interface service UDP_500 UDP_500
nat (inside,outside) 1 source static R1 interface service UDP_4500 UDP_4500

NAT陈述不足以让VPN出现。由于流量仍然从较高的安全级别从界面行进到更高的安全级别,因此我们需要配置访问列表,以允许来自我们想要的端口中的对等体的流量。我使用的ACL的配置是:

access-list OUT_IN extended permit udp host 2.2.2.1 eq isakmp host 1.1.1.1 eq isakmp
access-list OUT_IN extended permit udp host 2.2.2.1 eq 4500 host 1.1.1.1 eq 4500


然后将ACL应用于外部接口:

access-group OUT_IN in interface outside

 

现在让我们尝试再次启动来自外部对等体的流量,并查看会发生什么。这次Ping来自PC应该经历。

在路由器的调试中,它将显示阶段2完成。

 

有了这个,我要包装这个博客帖子!谢谢你的阅读!