IPsec 穿越NAT 配置
- 格式:docx
- 大小:318.99 KB
- 文档页数:5
IPsecNAT穿越协议IPsecNAT穿越协议是一种用于解决IPsec(Internet Protocol Security)协议在网络地址转换(Network Address Translation,NAT)环境下遇到的问题的技术。
在传统的网络环境中,NAT设备会修改IP数据包的源地址和目的地址,这会影响IPsec协议的功能和安全性。
为了克服这一问题,IPsecNAT穿越协议应运而生。
1. 协议概述IPsecNAT穿越协议是一种允许IPsec协议在NAT环境下正常运行的技术。
它通过在NAT设备上进行特殊处理,使得IPsec协议能够成功建立安全连接,并确保数据的机密性和完整性。
IPsecNAT穿越协议遵循IPsec协议的标准,但在NAT设备上增加了额外的功能来处理与NAT相关的问题。
2. 协议原理IPsecNAT穿越协议的原理是通过在NAT设备的出口和入口处进行地址转换和端口映射,使得经过NAT的IPsec数据包能够正确地传递到目标主机。
具体而言,IPsecNAT穿越协议使用一种称为IPsec封装(IPsec encapsulation)的技术,将原始的IPsec数据包封装在NAT设备的IP包中,并在目标主机上解封装还原,从而绕过了NAT设备对IPsec数据包的修改。
3. 协议实现IPsecNAT穿越协议的实现需要在NAT设备上进行特殊配置和设置。
首先,NAT设备需要支持IPsecNAT穿越协议,并具备相应的功能和算法。
其次,NAT设备需要在NAT表中维护与IPsec会话相关的信息,以便正确地进行地址转换和端口映射。
此外,NAT设备还需要对IPsec数据包进行检查和处理,确保其完整性和安全性。
综上所述,IPsecNAT穿越协议的实现需要NAT设备和IPsec协议栈共同配合。
4. 协议优势IPsecNAT穿越协议的出现,为在NAT环境下使用IPsec提供了便利和可行性。
它解决了IPsec协议无法穿越NAT设备的问题,允许用户在享受IPsec安全性的同时,无需考虑NAT对IPsec数据包的影响。
IPsecVPN协议的NAT穿透与防火墙配置IPsec VPN协议的NAT穿透与防火墙配置在互联网时代,数据传输的安全性与稳定性成为了企业和个人用户所关注的重要问题。
虚拟私人网络(VPN)的出现有效地解决了这一问题,而IPsecVPN协议则在VPN中扮演着重要的角色。
然而,由于网络环境的复杂性,许多用户在使用IPsec VPN时遇到了NAT穿透和防火墙配置的问题。
本文将探讨这些问题,并提供适当的解决方案。
一、NAT穿透的概念及问题1. NAT穿透的概念NAT穿透指的是在网络中使用了网络地址转换(NAT)设备的情况下,如何实现对IPsec VPN的正常通信。
NAT设备通常会对传输的数据包进行源地址和目的地址的转换,以实现多个内部网络与外部网络的通信。
然而,这种地址转换对IPsec VPN的建立和传输过程产生了一定的影响。
2. NAT穿透的问题及解决方案在进行NAT穿透时,常见的问题包括:a) IPsec VPN的建立问题:由于NAT设备对数据包进行了地址转换,使得原始IP地址无法直接访问到VPN服务端。
为了解决此问题,可以使用NAT-T(NAT Traversal)技术,通过在IPsec数据包中封装额外的数据,以绕过NAT设备的限制。
b) IPsec数据包的加密问题:NAT穿透过程中,由于对数据包进行了地址转换,导致IPsec头部中的源地址和目的地址无法与实际通信双方相匹配。
为了解决此问题,可以使用NAT设备支持的IPsec Passthrough功能,将IPsec头部从转换中豁免,保证加密的完整性。
c) NAT设备与IPsec VPN设备的兼容性问题:不同厂商的NAT设备和IPsec VPN设备对NAT穿透的支持程度各不相同,可能存在兼容性问题。
解决此问题的方法是选择厂商间兼容性较好的设备,或者升级设备的固件以支持更高级的协议。
二、防火墙配置和IPsec VPN协议1. 防火墙的作用防火墙是网络安全的重要组成部分,通过规则配置来控制网络流量的进出,保护内部网络免受外部威胁。
IPSec的NAT穿越详细介绍1. 前言IPSec提供了端到端的IP通信的安全性,但在NAT环境下对IPSec的支持有限,AH协议是肯定不能进行NAT的了,这和AH设计的理念是相违背的;ESP协议在NAT环境下最多只能有一个VPN主机能建立VPN通道,无法实现多台机器同时在NAT环境下进行ESP通信。
关于IPSec在NAT环境下的需求问题在RFC3715中进行了描述。
NAT穿越(NATTraversal,NAT-T)就是为解决这个问题而提出的,在RFC3947,3948中定义,在RFC4306中也加入了NAT-T的说明,但并没废除RFC3947,3948,只是不区分阶段1和阶段2。
该方法将ESP协议包封装到UDP包中(在原ESP协议的IP包头外添加新的IP头和UDP 头),使之可以在NAT环境下使用的一种方法,这样在NAT的内部网中可以有多个IPSec 主机建立VPN通道进行通信。
2. IKE协商使用UDP封装RFC3947主要描述如何检测是否存在NAT设备,并如何在IKE中协商使用UDP来封装IPSec 数据包。
本帖隐藏的内容2.1 检测功能是检测通信中是否存在NAT设备和对方是否支持NAT-T。
正常的IKE协商使用的UDP包的源和目的端口都是500,如果存在NAT设备,大多数情况下该UDP包的源端口部分会改变,只有少数情况不改。
接收方如果发现UDP源端口不是500,那可以确定数据是经过了NAT设备。
另外,确定NAT的位置也是重要的,在检测对方失效(DPD)时,应该尽量由在NAT设备后面的一方主动进行DPD探测,而从另一方探测有可能会失败。
检测对方是否支持NAT-T是通过交换vendor ID载荷来实现的,如果自身支持NAT-T,在IKE 开始交互就要发送这种载荷,载荷内容是“RFC 3947”的MD5值,也就是十六进制的“4a131c81070358455c5728f20e95452f”。
判断是否在NAT设备后面是通过发送NAT-D(NAT-Discovery)载荷来实现的,载荷内容是IP 地址和UDP端口的HASH值,NAT-D载荷格式如下,载荷类型值是20:1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8+---------------+---------------+---------------+---------------+| Next Payload | RESERVED | Payload length |+---------------+---------------+---------------+---------------+~ HASH of the address and port ~+---------------+---------------+---------------+---------------+HASH值的计算方法如下,具体HASH是根据协商来确定的:HASH = HASH(CKY-I | CKY-R | IP | Port)CKY-I和CKY-R是协商发起方和响应方的cookie。
IPsec NAT穿越原理什么是IPsec?IPsec(Internet Protocol Security)是一种网络协议,用于在IP网络上提供安全的数据传输。
它通过加密和认证机制来保护数据的完整性、机密性和身份验证。
IPsec可以在两个主机之间或两个子网之间建立安全的通信链路。
它可以用于远程访问VPN(Virtual Private Network)连接、站点到站点VPN连接以及移动设备的安全通信。
为什么需要NAT穿越?NAT(Network Address Translation)是一种网络技术,用于将私有IP地址转换为公共IP地址,以实现多个设备共享同一个公网IP地址。
然而,由于NAT会改变IP头部信息,导致加密后的数据包无法正确解析。
这就给使用IPsec进行加密通信的应用程序带来了困扰。
因此,需要一种方法来克服NAT 对IPsec的限制,实现安全的通信。
IPsec NAT穿越原理1. NAT Traversal为了解决NAT对IPsec的限制问题,提出了NAT Traversal技术。
NAT Traversal 允许在经过NAT设备时建立和维护安全通道。
a. UDP封装NAT Traversal使用UDP封装技术将原始的IPsec数据包封装在UDP数据包中。
由于UDP是一种无连接的协议,它可以通过NAT设备传输到目标主机。
在发送IPsec数据包之前,发送方会将IPsec数据包封装在UDP数据包中,并将目的端口设置为特定的值(通常是4500)。
这样,NAT设备就会将整个UDP数据包转发到目标主机。
b. NAT检测NAT Traversal还引入了一种称为”keepalive”的机制来检测是否经过了NAT设备。
当IPsec设备与对等方建立连接时,它会周期性地向对等方发送keepalive消息。
如果对等方收到了keepalive消息,则说明没有经过NAT设备。
如果对等方未收到keepalive消息,则说明可能经过了NAT设备,并且需要使用UDP封装技术。
IPSEC NAT 穿越(两种解法)需求分析:如图,R2是上海总公司的路由器,R1是苏州分公司路由器,ISP1是长宽的路由,ISP2是电信路由器。
R2的外部地址是公网地址,R1的外部地址是私网地址。
在实际的工程中我们遇到这种问题太正常了,但恰好我们又需要在R1和R4之间建立IPSEC VPN。
NAT和IPSEC是互相冲突的,因为IPSEC保护私网地址和传输层内容,而NAT需要改这些.OK 我们开始解决这个问题!解法一:基于ESP穿越NAT配置如下R1:interface Loopback0ip address 192.168.12.1 255.255.255.0interface Ethernet0/0ip address 172.16.12.1 255.255.255.0half-duplexip route 0.0.0.0 0.0.0.0 172.16.12.2crypto isakmp policy 10authentication pre-sharecrypto isakmp keepalive 60 ISAKMP的DPDcrypto isakmp nat keepalive 10用于在NAT之后的情況,防止NAT丢弃转发条目crypto isakmp key cisco address 202.100.34.4crypto ipsec transform-set myset esp-des esp-md5-hmaccrypto ipsec nat-transparency spi-matching开启SIP-Matching,跟NAT特性有关access-list 101 permit ip 192.168.12.0 0.0.0.255 192.168.34.0 0.0.0.255 crypto map map 10 ipsec-isakmpset peer 202.100.34.4set transform-set mysetmatch address 101interface Ethernet0/0crypto map mapR2:interface Ethernet0/0ip address 172.16.12.2 255.255.255.0ip nat insideip virtual-reassembly IP分片虚拟重组half-duplexinterface Ethernet0/1ip address 202.100.23.2 255.255.255.0ip nat outsideip virtual-reassemblyhalf-duplexip route 0.0.0.0 0.0.0.0 202.100.23.3ip route 192.168.12.0 255.255.255.0 172.16.12.1ip nat service list 1 IKE preserve-portip nat service list 1 ESP spi-matchip nat inside source list 1 interface Ethernet0/1 overload ip nat inside source list 2 interface Ethernet0/1 overload access-list 1 permit 172.16.12.1access-list 2 permit 192.168.12.0 0.0.0.255R3:interface Ethernet0/0ip address 202.100.23.3 255.255.255.0half-duplexinterface Ethernet0/1ip address 202.100.34.3 255.255.255.0half-duplexR4:interface Loopback0ip address 192.168.34.4 255.255.255.0ip nat insideip virtual-reassembly!interface Ethernet0/0ip address 202.100.34.4 255.255.255.0ip nat outsideip virtual-reassemblyip route 0.0.0.0 0.0.0.0 202.100.34.3crypto isakmp policy 10authentication pre-sharecrypto isakmp keepalive 60 ISAKMP的DPDcrypto isakmp nat keepalive 10用于在NAT之后的情況,防止NAT丢弃转发条目crypto isakmp key cisco address 202.100.23.2crypto ipsec transform-set myset esp-des esp-md5-hmaccrypto ipsec nat-transparency spi-matching开启SIP-Matching,跟NAT特性有关access-list 101 permit ip 192.168.34.0 0.0.0.255 192.168.12.0 0.0.0.255 crypto map map 10 ipsec-isakmpset peer 202.100.23.2set transform-set mysetmatch address 101interface Ethernet0/0crypto map mapip nat inside source route-map nat-map interface Ethernet0/0 overload access-list 102 deny ip 192.168.34.0 0.0.0.255 192.168.12.0 0.0.0.255access-list 102 permit ip 192.168.34.0 0.0.0.255 any route-map nat-map permit 1match ip address 102测试结果解法二:基于UDP穿越NAT将cry ips nat-transparency spi-matching 改成cry ips nat-transparency udp-encapsulation即可测试:注意理解“crypto ipsec nat-transparency”这个命令,后面有两个参数,一个是NAT-T支持,一个是SPI-Matching。
IPSec与NAT穿越:解决地址转换对安全的影响引言在互联网的时代,安全性是一个重要的关键。
随着互联网技术的不断发展,网络安全问题也日益突出。
网络地址转换(NAT)作为一种常用的网络管理手段,为多个设备共享一个公网IP地址提供了便利,但同时也给网络安全带来了一定的挑战。
本文将探讨NAT对安全性的影响,并介绍如何通过IPSec实现NAT穿越,确保网络的安全性。
NAT的工作原理及安全隐患NAT主要通过修改IP数据包的源IP地址和目标IP地址,实现内网与外网之间的通信。
在这个过程中,NAT会对数据包进行检查和改写,这个操作本身可能对网络的安全性产生一定的影响。
首先,NAT会隐藏内网的真实地址,使得攻击者更难追踪攻击来源。
然而,一旦内网中的主机感染了病毒或受到入侵,由于NAT的存在,追踪和定位攻击来源变得更加困难。
另外,由于多个内网设备共享一个公网IP地址,NAT也可能导致端口资源的不足。
当多个内网设备尝试与外网建立连接时,NAT需要在内网和外网之间进行端口映射。
如果网络负载过大,端口资源不足,将会导致连接失败和网络延迟。
此外,NAT也无法提供真正的完全访问控制机制,可能会给恶意用户提供一定的入侵机会。
IPSec的介绍及工作原理IPSec(Internet Protocol Security)是一种常用的网络安全协议,它通过对IP数据包进行加密和身份验证,提供了一种安全的通信机制。
IPSec具有两种工作模式,分别是传输模式和隧道模式。
传输模式主要用于主机到主机的通信,而隧道模式则用于网关到网关之间的通信。
IPSec通过建立安全的加密通道,保护数据的机密性和完整性,并对通信双方进行身份验证。
它通过在IP数据包的封装和解封装过程中,对数据进行加密和解密操作。
IPSec使用安全协议(如ESP和AH)来保护数据的安全性,并通过密钥交换协议(如IKE)来协商加密密钥。
NAT穿越与IPSec的结合尽管NAT对安全性存在一定的挑战,但通过结合IPSec技术,我们可以解决NAT带来的安全隐患。
IPSEC(IKE)穿透nat的典型组网和配置1.1 典型组网和介绍图1 IPSEC(IKE)穿透nat的典型组网路由器A,是分部的出口路由器,只负责nat转换;路由器B,是分部内IPSEC加密的路由器,不做nat;路由器C,是总部路由器,有固定IP。
路由器B和C的IPSEC穿透了路由器A的nat转换。
1.2 中端路由器B和C的版本需要VRP3.3-0021.3 IPSEC的配置介绍此组网的配置用到了IPSEC的野蛮模式,和IKE的nat穿越配置;IPSEC野蛮模式的介绍和配置详见《配置手册》。
IKE的nat穿越配置仅一条命令:nat traversal1.4 配置1.4.1 总部路由器C的配置<Center>disp cur#sysname Center#tcp window 8#ike local id Center#ike peer otherexchange-mode aggressivepre-shared-key abcid-type nameremote-id P2nat traversallocal single-subnetpeer single-subnet#ipsec proposal center-1esp authentication-algorithm sha1 #ipsec policy center_1 2 isakmp security acl 100ike-peer otherproposal center-1#controller E1 3/0channel-set 0 timeslot-list 1#controller E1 3/1#interface Aux0async mode flowlink-protocol ppp#interface Ethernet1/0ip address 169.254.0.1 255.255.0.0 #interface Ethernet1/1#link-protocol pppip address 61.1.1.2 255.255.255.0nat outbound 102ipsec policy center_1#interface NULL0#interface LoopBack1ip address 192.168.2.1 255.255.255.0#acl number 100rule 0 permit ip source 192.168.2.0 0.0.0.255 destination 192.168.0.0 0.0.0.255 rule 2 deny ipacl number 102rule 0 deny ip source 192.168.0.0 0.0.255.255 destination 192.168.0.0 0.0.255.255 rule 1 permit ip source 192.168.2.0 0.0.0.255#ip route-static 0.0.0.0 0.0.0.0 61.1.1.1#user-interface con 0user-interface aux 0authentication-mode noneuser privilege level 3set authentication password simple a #return<Center>1.4.2 分部路由器B的配置<P2-1760> disp cur#sysname P2-1760#tcp window 8#ike local id P2#ike peer part-1exchange-mode aggressivepre-shared-key abcid-type nameremote-id Centerremote-address 61.1.1.2nat traversallocal single-subnetpeer single-subnet#ipsec proposal part-1esp authentication-algorithm sha1 #ipsec policy part_1 1 isakmp security acl 100ike-peer part-1proposal part-1#interface Aux0async mode protocollink-protocol ppp#interface Ethernet0/0ip address 16.1.1.2 255.255.255.252 ipsec policy part_1#interface Serial0/0clock DTECLK1link-protocol ppp#interface NULL0#interface LoopBack0ip address 192.168.0.1 255.255.255.0#acl number 100rule 1 permit ip source 192.168.0.0 0.0.0.255 destination 192.168.2.0 0.0.0.255 rule 2 deny ip#ip route-static 0.0.0.0 0.0.0.0 16.1.1.1#user-interface con 0user-interface aux 0user-interface vty 0 4user privilege level 3set authentication password simple a#return1.4.3 分部路由器A的nat配置<P1>disp cur#sysname P1#super password level 3 simple a#local-user a password simple a local-user a level 3#tcp window 8#controller E1 1/0#controller E1 1/1#interface Aux0async mode flowlink-protocol ppp#interface Ethernet0/0ip address 16.1.1.1 255.255.255.252 ##interface Serial2/0clock DTECLK1link-protocol pppip address ppp-negotiatenat outbound 101#interface Serial2/1clock DTECLK1link-protocol ppp#interface NULL0#acl number 101rule 0 permit ip source 192.168.0.0 0.0.0.255rule 1 permit ip source 16.1.1.0 0.0.0.3rule 2 deny ip#ip route-static 0.0.0.0 0.0.0.0 Serial 2/0ip route-static 192.168.0.0 255.255.255.0 16.1.1.2 #user-interface aux 0user-interface vty 0 4authentication-mode localset authentication password simple a#return此处必须注意的一点是:acl中必须包括路由器B的上行口地址网段,文中是16.1.1.0/30网段。
IPSec穿越NAT实验实验目的: 掌握IPSec基本配置,熟悉IPSec穿越NAT特性原理,并且验证拓扑说明.:R1,NAT,R2设备通过e0/0和e0/1口之间相互连接,如图,具体试验连接接口,按照自己的配置,中间NAT设备提供地址转换功能,保证了R1到R2设备的连通性,这里需要回顾NAT的配置,R1,R2设备上面各自有loopback0口接口地址配置如下:R1-E0/0:192.168.1.2/24,R1-Loopback0:10.1.1.1/24NAT-E0/0-:192.168.1.1/24 NAT-E0/1:202.106.0.20/24R2-E0/0:202.106.0.21/24 R2-Loopack0:10..1.2.1/24最终目标实现10.1.1.1到10.1.2.1地址的通信,保证使用了IPSEC加密,同时穿越了NAT设备并且注意这里的NAT是穿越运营商的NAT配置过程:1,首先配置各个设备的ip地址,保证设备的直连通信,同时保证了nat设备能够正常工作,保证了从R1的192.168.1.2地址可以ping通R2设备的202.106.0.21地址,但是反过来ping却不通,这是属于正常,因为中间有nat设备,做到这个效果,也就是nat 的配置。
2,进行IPSEC的具体配置,感兴趣的数据流使用访问控制列表配置,IKE阶段一的配置,IKE阶段二配置,还有IPSEC策略配置,以及最后把策略运行在接口上面,第一部分:配置所有接口的ip地址保证直连接通信,然后配置NAT特性R1配置:Router(config)#hostname R1 设置R1设备主机名字R1(config)#interface Loopback0 建立loopback口,并且给接口配置地址R1(config-if)#ip address 10.1.1.1 255.255.255.0R1(config-if)#exitR1(config)#interface Ethernet0/0 给e0/0接口配置ip地址保证设备之间连通性R1(config-if)#ip address 192.168.1.2 255.255.255.0R1(config-if)#no shutdownNAT设备配置:Router(config)#hostname NAT 设置NAT设备主机名字NAT (config)#interface Ethernet0/1 给e0/1接口配置ip地址保证与R2设备之间连通性NAT(config-if)#ip address 202.106.0.20 255.255.255.0NAT (config-if)#no shutdownNAT (config-if)#ip nat outside 设置nat外网接口NAT (config-if)#exitNAT (config)#interface Ethernet0/0 给e0/0接口配置ip地址保证与R1设备之间连通性NAT (config-if)#ip address 192.168.1.1 255.255.255.0NAT (config-if)#no shutdownNAT (config-if)#ip nat inside 设置nat内网接口NAT (config)#access-list 10 permit 192.168.1.0 0.0.0.255 配置nat使用的访问控制列表NAT (config)#ip nat inside source list 10 interface Ethernet0/1 overload 配置nat保证网连通R2配置:Router(config)#hostname R2 设置R2设备主机名字R2(config)#interface Loopback0 建立loopback口,并且给接口配置地址R2(config-if)#ip address 10.1.2.1 255.255.255.0R2(config)#interface Ethernet0/0 给E0/0接口配置地址保证与NAT设备之间的连通性R2(config-if)#ip address 202.106.0.21 255.255.255.0R2(config-if)#no shutdown第二部分:1,首先在R1和R2上面配置访问控制列表定义感兴趣的数据流,也就是ipsec需要保护的数据流,镜像配置R1(config)#access-list 101 permit ip 10.1.1.0 0.0.0.255 10.1.2.0 0.0.0.255R2与 R1的互相为镜像R2(config)#access-list 101 permit ip 10.1.2.0 0.0.0.255 10.1.1.0 0.0.0.2552,配置R1与R2的IKE 的第一个阶段所需要的参数R1的配置:R1(config)#crypto isakmp policy 10R1(config-isakmp)#authentication pre-shareR1(config-isakmp)#hash shaR1(config-isakmp)#group 5R1(config-isakmp)#encryption 3desR1(config-isakmp)#exitR1(config)#crypto isakmp key 0 cisco address 202.106.0.21R2配置R2(config)#crypto isakmp policy 10R2(config-isakmp)#authentication pre-shareR2(config-isakmp)#hash shaR2(config-isakmp)#group 5R2(config-isakmp)#encryption 3desR2(config-isakmp)#exitR2(config)#crypto isakmp key 0 cisco address 0.0.0.0 0.0.0.0 这里意思是允许任何人给我建立ike的peer关系3,配置IPSec阶段2里面需要的传输集R1(config)#crypto ipsec transform-set r1 esp-3des esp-md5-hmacR2配置和R1的配置是一样里面的参数必须一致R2(config)#crypto ipsec transform-set r1 esp-3des esp-md5-hmac4,建立IPSEC策略,捆绑访问控制列表IKE PEER,以及传输集R1的配置:R1(config)#crypto map r1_map 10 ipsec-isakmp% NOTE: This new crypto map will remain disabled until a peerR1(config-crypto-map)#match address 101R1(config-crypto-map)#set peer 202.106.0.21R1(config-crypto-map)#set transform-set r1R1(config-crypto-map)#exitR2配置:R2(config)#crypto dynamic-map r2_dymap 10R2(config-crypto-map)#match address 101R2(config-crypto-map)#set transform-set r2R2(config-crypto-map)#exitR2(config)#crypto map r2_map 10 ipsec-isakmp dynamic r2_dymap discover这里需要用动态的map表,因为是一端ip地址是动态的,需要自动发现功能5,应用策略到接口上面R1配置:R1(config)#interface Ethernet0/0R1(config-if)#crypto map r1_mapR2配置:R2(config)#interface Ethernet0/0R2(config-if)#crypto map r2_map最后验证:在R1设备上面扩展PING,R1#ping 10.1.2.1 source 10.1.1.1Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 10.1.2.1, timeout is 2 seconds:Packet sent with a source address of 10.1.1.1!!!!!Success rate is 100 percent (5/5), round-trip min/avg/max = 20/43/96 ms这种IPSEC的建立过程必须有R1触发,可以使用命令clear crypto sa和clear crypto isakmp清空所有设备的sa,然后从R2扩展PING发现不可以建立IPSEC可以在中间的NAT设备上面使用命令看NAT的会话表NAT#sh ip nat translationsPro Inside global Inside local Outside local Outside globaludp 202.106.0.20:500 192.168.1.2:500 202.106.0.21:500 202.106.0.21:500 udp 202.106.0.20:4500 192.168.1.2:4500 202.106.0.21:4500 202.106.0.21:4500发现nat穿越使用了4500端口。
ipsec nat穿越原理IPSec(Internet Protocol Security)是一种在网络通信中提供安全性的协议。
它通过加密和认证机制来保护数据的传输过程,防止数据在传输过程中被窃取或篡改。
而NAT(Network Address Translation)则是一种网络地址转换技术,将私有网络内部的IP地址转换为公共网络地址,以实现内部网络与外部网络的通信。
在网络通信中,当需要在不同私有网络之间建立安全通道时,IPSec 和NAT穿越技术的结合就显得尤为重要。
IPSec本身并不兼容NAT,因为IPSec在传输过程中对IP头部进行了加密,而NAT则需要访问IP头部中的信息来实现地址转换。
因此,如果直接在经过NAT 设备的网络中使用IPSec,就会导致IPSec加密后的IP头部信息被篡改,从而无法正确解密,造成通信失败。
为了解决IPSec和NAT之间的兼容性问题,IPSec NAT穿越技术应运而生。
其基本原理是在经过NAT设备的网络中,将IPSec加密的数据包进行特殊处理,以便在经过NAT设备时能够正确解密。
具体而言,通过在IPSec数据包中添加额外的头部信息,将原始IP头部信息保存在额外头部中,然后在经过NAT设备时,NAT设备只对原始IP头部进行地址转换,而不对额外头部进行操作,从而保证IPSec数据包的完整性和安全性。
在IPSec NAT穿越的过程中,需要考虑到两种情况:一种是在NAT 设备后端的主机是IPSec终端设备,另一种是在NAT设备后端的主机不是IPSec终端设备。
对于第一种情况,需要在NAT设备上配置IPSec穿越规则,以确保IPSec数据包能够正确穿越NAT设备并到达目标IPSec终端设备;对于第二种情况,需要在NAT设备上配置IPSec透明代理,以实现将IPSec数据包正确转发到目标主机上。
总的来说,IPSec NAT穿越技术通过在IPSec数据包中添加额外头部信息,保证了在经过NAT设备时数据包的完整性和安全性。
典型配置示例(对应新版本IPsec模块)
3.2.1组网需求:
某企业总部和分部通过两台路由器实现互联,但由于总部需要和分部建立IPsec VPN通道,总部增加了一台新的路由器用于和分部建立VPN之用,但是又不想改变现有的网络环境,所以把新增的路由器直接挂接在核心交换机下面。
现网络环境描述如下:
●R2605,R4860都支持IPsec穿越NA T功能
●总部(PC 1)通过交换机接入到R2605的F0/1口,网关地址为192.168.1.1;
●分部(PC 2)通过交换机接入到分部R2605的F0/1口,网关为172.16.1.1;
●总部的R2605的F0/0通过核心交换机连接到总部出口路由器R4860的G0/1口;
●总部R4860通过G0/0口接入互联网,分部R2605通过F0/0口接入到互联网;
网络管理员希望通过总部的R2605和分部的R2605通过IPsec VPN建立连接。
使用IPsec 穿越NA T功能实现该需求,进行如下配置:
●总部R2605作为NAT inside侧的IPsec设备,R4860作为NAT网关,分部R2622
作为分部的IPsec设备;
●总部R2605和分部R2622作为VPN设备,配置ipsec vpn与对端建立IPsec通道。
●R4860作为总部的出口路由器配置NAT实现网络地址的转换。
组网图如图1 所示
图1
3.2.2典型实例配置:
(1)分部R2605配置
5.01A
R1#
!
hostname R1
!
crypto isakmp key 0 bdcom address 0.0.0.0 0.0.0.0 //…定义预共享密钥…// crypto isakmp nat keepalive 20
crypto isakmp policy 10
authentication pre-share
encryption 3des
group 2
hash md5
lifetime 60
!
crypto ipsec transform-set ipsec esp-3des esp-md5-hmac //
!
crypto dynamic-map dmap 10 //…定义动态映射注意这里不能指定邻居(即使指定为
0.0.0.0 在这个版本里面也不能表明是以任意为邻
居)…//
match address ipsec
set pfs group2
set security-association lifetime seconds 180
set transform-set ipsec
!
crypto map ipsec 10 ipsec-isakmp dynamic dmap
!
interface FastEthernet0/0
ip address 1.1.1.1 255.255.255.0
crypto map ipsec
!
interface FastEthernet0/1
ip address 172.16.1.1 255.255.255.0
!
ip access-list extended ipsec
permit ip 172.16.1.0 255.255.255.0 192.168.1.0 255.255.255.0
!
(2)总部R4860网关配置
!
hostname R4860
!
interface GigaEthernet0/0
ip address 1.1.1.2 255.255.255.0
ip nat outside
!
interface GigaEthernet0/1
ip address 192.168.2.1 255.255.255.0
ip nat inside
!
ip route default 1.1.1.1
ip route default 192.168.2.2
!
ip access-list standard nat
permit 192.168.2.0 255.255.255.0
!
ip nat inside source list nat interface GigaEthernet0/0
!
(3)总部R2605配置
!
hostname R2
!
crypto isakmp key 0 bdcom address 1.1.1.1 255.255.255.255
crypto isakmp nat keepalive 20 //…NA T keeplive时间间隔为20s…//
crypto isakmp policy 10
authentication pre-share //…认证方式预共享密钥…//
encryption 3des //…加密方式为3DES…//
group 2 //…DH组为2…//
hash md5 //…哈希方式MD5…//
lifetime 60 //…第一阶段SA生存时间为60s…//
!
crypto ipsec transform-set ipsec esp-3des esp-md5-hmac //…定义变换集合…//
!
crypto map ipsec 10 ipsec-isakmp
match address ipsec // …匹配感兴趣数据流…//
set peer 1.1.1.1 //…指定对端邻居…//
set pfs group2 //…指定pfs的DH 组… //
set security-association lifetime seconds 120 //…第一阶段SA生存时间…//
set transform-set ipsec //…调用变换集合…//
!
interface FastEthernet0/0
ip address 192.168.2.2 255.255.255.0
crypto map ipsec //…接口下调用映射…//
!
interface FastEthernet0/1
ip address 192.168.1.1 255.255.255.0
!
ip route default 192.168.2.1
!
ip access-list extended ipsec //…定义感兴趣数据流…//
permit ip 192.168.1.0 255.255.255.0 172.16.1.0 255.255.255.0
!。