此示例配置演示一个通过执行网络地址转换 (NAT) 的防火墙的 IPSec VPN 隧道。如果所用 Cisco IOS® 软件版本早于且不包括 12.2(13)T,则此配置不适用于端口地址转换 (PAT)。此类型的配置可以用于通过隧道传输 IP 流量。此配置不能用于对不通过防火墙的流量(如 IPX 或路由更新)进行加密。通用路由封装 (GRE) 隧道是更加合适的选择。在此示例中,Cisco 2621 和 3660 路由器是连接两个私有网络的 IPsec 隧道终点,并且在之间的 PIX 上具有管道或访问控制列表 (ACL) 以允许传输 IPsec 流量。
注意:NAT是一对一地址转换,不要与PAT混淆,PAT是许多(防火墙内部)对一转换。有关 NAT 操作和配置的详细信息,请参阅验证 NAT 操作和基本的 NAT 故障排除或 NAT 的工作原理。
注意:带有PAT的IPsec可能无法正常工作,因为外部隧道终端设备无法处理来自一个IP地址的多个隧道。请与供应商联系以确定隧道终点设备是否适用于 PAT。此外,在 Cisco IOS 软件版本 12.2(13)T 及更高版本中,NAT 透明模式功能可以用于 PAT。有关详细信息,请参阅 IPSec NAT 透明模式。若要了解有关 Cisco IOS 软件版本 12.2(13)T 及更高版本中这些功能的详细信息,请参阅通过 NAT 支持 IPSec ESP。
注意:在通过Cisco技术支持建立案例之前,请参阅NAT常见问题,其中包含许多常见问题解答。
有关如何在 PIX 版本 6.x 及更低版本中,配置通过使用 NAT 的防火墙的 IPsec 隧道的详细信息,请参阅配置通过使用 NAT 的防火墙的 IPSec 隧道。
本文档没有任何特定的要求。
本文档中的信息基于以下软件和硬件版本:
Cisco IOS 软件版本 12.0.7.T(最高为 Cisco IOS 软件版本 12.2(13)T 但不包括该版本)
对于更新版本,请参阅 IPSec NAT 透明模式。
Cisco 2621 路由器
Cisco 3660 路由器
运行 7.x 及更高版本的 Cisco PIX 500 系列安全设备。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
有关文档约定的更多信息,请参考 Cisco 技术提示约定。
本文档还可用于软件版本为7.x及更高版本的Cisco 5500系列自适应安全设备(ASA)。
此部分存在您与您能使用配置功能本文描述的信息。
注意:要查找有关本文档使用的命令的其他信息,请使用命令查找工具(仅限注册客户)。
本文档使用以下网络设置:
本文档使用以下配置:
Cisco 2621 |
---|
Current configuration: ! version 12.0 service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname goss-2621 ! ip subnet-zero ! ip audit notify log ip audit po max-events 100 isdn voice-call-failure 0 cns event-service server ! !--- The IKE policy. crypto isakmp policy 10 hash md5 authentication pre-share crypto isakmp key cisco123 address 99.99.99.2 ! crypto ipsec transform-set myset esp-des esp-md5-hmac ! crypto map mymap local-address FastEthernet0/1 !--- IPsec policy. crypto map mymap 10 ipsec-isakmp set peer 99.99.99.2 set transform-set myset !--- Include the private-network-to-private-network traffic !--- in the encryption process. match address 101 ! controller T1 1/0 ! interface FastEthernet0/0 ip address 10.2.2.1 255.255.255.0 no ip directed-broadcast duplex auto speed auto ! interface FastEthernet0/1 ip address 10.1.1.2 255.255.255.0 no ip directed-broadcast duplex auto speed auto !--- Apply to the interface. crypto map mymap ! ip classless ip route 0.0.0.0 0.0.0.0 10.1.1.1 no ip http server !--- Include the private-network-to-private-network traffic !--- in the encryption process. access-list 101 permit ip 10.2.2.0 0.0.0.255 10.3.3.0 0.0.0.255 line con 0 transport input none line aux 0 line vty 0 4 ! no scheduler allocate end |
Cisco 3660 |
---|
version 12.0 service timestamps debug uptime service timestamps log uptime no service password-encryption ! hostname goss-3660 ! ip subnet-zero ! cns event-service server ! !--- The IKE policy. crypto isakmp policy 10 hash md5 authentication pre-share crypto isakmp key cisco123 address 99.99.99.12 ! crypto ipsec transform-set myset esp-des esp-md5-hmac ! crypto map mymap local-address FastEthernet0/0 !--- The IPsec policy. crypto map mymap 10 ipsec-isakmp set peer 99.99.99.12 set transform-set myset !--- Include the private-network-to-private-network traffic !--- in the encryption process. match address 101 ! interface FastEthernet0/0 ip address 99.99.99.2 255.255.255.0 no ip directed-broadcast ip nat outside duplex auto speed auto !--- Apply to the interface. crypto map mymap ! interface FastEthernet0/1 ip address 10.3.3.1 255.255.255.0 no ip directed-broadcast ip nat inside duplex auto speed auto ! interface Ethernet3/0 no ip address no ip directed-broadcast shutdown ! interface Serial3/0 no ip address no ip directed-broadcast no ip mroute-cache shutdown ! interface Ethernet3/1 no ip address no ip directed-broadcast interface Ethernet4/0 no ip address no ip directed-broadcast shutdown ! interface TokenRing4/0 no ip address no ip directed-broadcast shutdown ring-speed 16 ! !--- The pool from which inside hosts translate to !--- the globally unique 99.99.99.0/24 network. ip nat pool OUTSIDE 99.99.99.70 99.99.99.80 netmask 255.255.255.0 !--- Except the private network from the NAT process. ip nat inside source route-map nonat pool OUTSIDE ip classless ip route 0.0.0.0 0.0.0.0 99.99.99.1 no ip http server ! !--- Include the private-network-to-private-network traffic !--- in the encryption process. access-list 101 permit ip 10.3.3.0 0.0.0.255 10.2.2.0 0.0.0.255 access-list 101 deny ip 10.3.3.0 0.0.0.255 any !--- Except the private network from the NAT process. access-list 110 deny ip 10.3.3.0 0.0.0.255 10.2.2.0 0.0.0.255 access-list 110 permit ip 10.3.3.0 0.0.0.255 any route-map nonat permit 10 match ip address 110 ! line con 0 transport input none line aux 0 line vty 0 4 ! end |
完成这些步骤可使用 ASDM 配置 PIX 防火墙版本 7.0。
通过控制台连接到 PIX。基于原始配置,使用交互式提示启用高级安全设备管理器 GUI (ASDM),以便从工作站 10.1.1.3 管理 PIX。
PIX 防火墙 ASDM 引导 |
---|
Pre-configure Firewall now through interactive prompts [yes]? yes Firewall Mode [Routed]: Enable password [<use current password>]: cisco Allow password recovery [yes]? Clock (UTC): Year [2005]: Month [Mar]: Day [15]: Time [05:40:35]: 14:45:00 Inside IP address: 10.1.1.1 Inside network mask: 255.255.255.0 Host name: pix-firewall Domain name: cisco.com IP address of host running Device Manager: 10.1.1.3 The following configuration will be used: Enable password: cisco Allow password recovery: yes Clock (UTC): 14:45:00 Mar 15 2005 Firewall Mode: Routed Inside IP address: 10.1.1.1 Inside network mask: 255.255.255.0 Host name: OZ-PIX Domain name: cisco.com IP address of host running Device Manager: 10.1.1.3 Use this configuration and write to flash? yes INFO: Security level for "inside" set to 100 by default. Cryptochecksum: a0bff9bb aa3d815f c9fd269a 3f67fef5 965 bytes copied in 0.880 secs |
从工作站 10.1.1.3 打开 Web 浏览器并使用 ADSM(在此示例中为 https://10.1.1.1)。
在出现证书提示时选择 Yes,并使用 PIX 防火墙 ASDM 引导配置中所配置的启用口令登录。
如果这是在 PC 上首次运行 ASDM,则系统会提示您是使用 ASDM 启动程序还是使用 ASDM 作为 Java 应用程序。
在此示例中会选择 ASDM 启动程序并安装这些提示。
前进到 ASDM 主窗口并选择 Configuration 选项卡。
突出显示 Ethernet 0 Interface 并单击 Edit 以配置外部接口。
出现编辑接口提示时,单击 OK。
输入接口详细资料,并在完成后单击 OK。
出现更改接口提示时,单击 OK。
单击 Apply 以接受接口配置。此配置也将被推送到 PIX 上。此示例使用静态路由。
在 Features 选项卡下单击 Routing,突出显示 Static Route,然后单击 Add。
配置默认网关并单击 OK。
单击 Add 以将路由添加到网络内部。
确认配置的路由正确,然后单击 Apply。
在本示例中,使用 NAT。取消选中 Enable traffic through the firewall without address translation 对应的复选框,然后单击 Add 以配置 NAT 规则。
配置源网络(此示例使用任意网络)。然后单击 Manage Pools 以定义 PAT。
选择外部接口并单击 Add。
此示例使用一个采用接口 IP 地址的 PAT。
如果配置了 PAT,请单击 OK。
单击 Add 以配置静态转换。
在 Interface 下拉列表中选择 inside,然后输入 IP 地址 10.1.1.2 和子网掩码 255.255.255.255,选择 Static,并在 IP Address 字段中键入外部地址 99.99.99.12。完成后单击 OK。
点击 Apply 接受接口配置。此配置也将被推送到 PIX 上。
在 Features 选项卡下选择 Security Policy 以配置安全策略规则。
单击 Add 以允许 esp 流量,然后单击 OK 以继续。
单击 Add 以允许 ISAKMP 流量,然后单击 OK 以继续。
单击 Add 以允许 NAT-T 的 UDP 端口 4500 流量,然后单击 OK 以继续。
单击 Apply 以接受接口配置。此配置也将被推送到 PIX 上。
配置现已完成。
选择 File > Show Running Configuration in New Window 以查看 CLI 配置。
PIX 防火墙 |
---|
pixfirewall# show run : Saved : PIX Version 7.0(0)102 names ! interface Ethernet0 nameif outside security-level 0 ip address 99.99.99.1 255.255.255.0 ! interface Ethernet1 nameif inside security-level 100 ip address 10.1.1.1 255.255.255.0 ! enable password 2KFQnbNIdI.2KYOU encrypted passwd 2KFQnbNIdI.2KYOU encrypted hostname pixfirewall domain-name cisco.com ftp mode passive access-list outside_access_in remark Access Rule to Allow ESP traffic access-list outside_access_in extended permit esp host 99.99.99.2 host 99.99.99.12 access-list outside_access_in remark Access Rule to allow ISAKMP to host 99.99.99.12 access-list outside_access_in extended permit udp host 99.99.99.2 eq isakmp host 99.99.99.12 access-list outside_access_in remark Access Rule to allow port 4500 (NAT-T) to host 99.99.99.12 access-list outside_access_in extended permit udp host 99.99.99.2 eq 4500 host 99.99.99.12 pager lines 24 mtu inside 1500 mtu outside 1500 no failover monitor-interface inside monitor-interface outside asdm image flash:/asdmfile.50073 no asdm history enable arp timeout 14400 nat-control global (outside) 1 interface nat (inside) 0 0.0.0.0 0.0.0.0 static (inside,outside) 99.99.99.12 10.1.1.2 netmask 255.255.255.255 access-group outside_access_in in interface outside route inside 10.2.2.0 255.255.255.0 10.1.1.2 1 route outside 0.0.0.0 0.0.0.0 99.99.99.2 1 timeout xlate 3:00:00 timeout conn 1:00:00 half-closed 0:10:00 udp 0:02:00 icmp 0:00:02 sunrpc 0:10:00 h323 0:05:00 h225 1:00:00 mgcp 0:05:00 mgcp-pat 0:05:00 sip 0:30:00 sip_media 0:02:00 timeout uauth 0:05:00 absolute http server enable http 10.1.1.3 255.255.255.255 inside no snmp-server location no snmp-server contact snmp-server enable traps snmp telnet timeout 5 ssh timeout 5 console timeout 0 ! class-map inspection_default match default-inspection-traffic ! ! policy-map asa_global_fw_policy class inspection_default inspect dns maximum-length 512 inspect ftp inspect h323 h225 inspect h323 ras inspect netbios inspect rsh inspect rtsp inspect skinny inspect esmtp inspect sqlnet inspect sunrpc inspect tftp inspect sip inspect xdmcp ! service-policy asa_global_fw_policy global Cryptochecksum:0a12956036ce4e7a97f351cde61fba7e : end |
应在 MPF(模块化策略框架)中使用 inspect ipsec-pass-thru 命令使 IPsec 流量通过 PIX/ASA 安全设备,而不是使用访问列表。
此检查会配置为 ESP 流量打开针孔。存在转发流时,会允许所有 ESP 数据流,对于可以允许的最大连接数没有限制。不允许 AH。ESP 数据流的默认空闲超时在默认情况下设置为 10 分钟。此检查可以应用于能应用其他检查的所有位置,包括类和 match 命令模式。IPSec Pass Through 应用程序检查提供对与 IKE UDP 端口 500 连接关联的 ESP(IP 协议 50)流量的方便遍历。它无需冗长的访问列表配置即可允许 ESP 流量,并且还通过超时和最大连接数来提供安全性。使用 class-map、policy-map 和 service-policy 命令可定义流量类,将检查命令应用于该类,以及将策略应用于一个或更多接口。在启用时,inspect IPSec-pass-thru 命令允许不受限制的 ESP 流量,并且超时为 10 分钟(不可配置)。允许 NAT 和非 NAT 流量。
hostname(config)#access-list test-udp-acl extended permit udp any any eq 500 hostname(config)#class-map test-udp-class hostname(config-cmap)#match access-list test-udp-acl hostname(config)#policy-map test-udp-policy hostname(config-pmap)#class test-udp-class hostname(config-pmap-c)#inspect ipsec-pass-thru hostname(config)#service-policy test-udp-policy interface outside
本部分提供的信息可帮助您确认您的配置是否可正常运行。
命令输出解释程序工具(仅限注册用户)支持某些 show 命令,使用此工具可以查看对 show 命令输出的分析。
show crypto ipsec sa - 显示阶段 2 的安全关联。
show crypto isakmp sa - 显示第 1 阶段的安全关联。
show crypto engine connections active - 显示加密的数据包和解密的数据包。
本部分提供的信息可用于对配置进行故障排除。
注意:在发布 debug 命令之前,请参阅有关 Debug 命令的重要信息。
debug crypto engine - 显示已加密的流量。
debug crypto ipsec - 显示第 2 阶段的 IPsec 协商。
debug crypto isakmp—显示第 1 阶段的 Internet 安全连接和密钥管理协议 (ISAKMP) 协商。
clear crypto isakmp — 清除 Internet Key Exchange (IKE) 安全关联。
clear crypto ipsec sa — 清除 IPsec 安全关联。
命令输出解释程序工具(仅限注册用户)支持某些 show 命令,使用此工具可以查看对 show 命令输出的分析。
注意:在发布 debug 命令之前,请参阅有关 Debug 命令的重要信息。
logging buffer debugging - 显示正在建立和已拒绝的连接,这些连接通过 PIX 指向主机。信息存储在 PIX 日志缓冲器中,使用 show log 命令可查看输出。
如这些步骤所示,ASDM 可用于启用日志记录以及查看日志。
选择 Configuration > Properties > Logging > Logging Setup > Enable Logging,然后单击 Apply。
选择 Monitoring > Logging > Log Buffer > On Logging Level > Logging Buffer,然后单击 View。
下面是一个 Log Buffer 示例。
版本 | 发布日期 | 备注 |
---|---|---|
1.0 |
27-Jan-2005 |
初始版本 |