IPSEC NAT 穿越 (两种解法) 小余出品
直连IPSEC的野蛮模式NAT穿越

直连IPSEC的野蛮模式NAT穿越IPsec(Internet Protocol Security)是一种网络协议套件,用于实现网络通信的加密和认证。
野蛮模式(Aggressive Mode)是IPsec的一种传输模式,不需要建立安全通道即可交换密钥。
NAT(Network Address Translation)是用于在网络中分配和转换IP地址的技术。
在传统的IPsec通信中,通常使用隧道模式(Tunnel Mode)来传输IP数据包。
但是,当通信双方之间存在NAT设备时,隧道模式会受到限制。
为了解决这个问题,就出现了野蛮模式NAT穿越。
野蛮模式NAT穿越指的是在存在NAT设备的网络环境中,使用IPsec 的野蛮模式进行通信,并成功穿越NAT设备,实现加密和认证的目的。
下面将详细介绍野蛮模式NAT穿越的原理和实现过程。
野蛮模式NAT穿越的原理:1. NAT设备的限制:NAT设备通过转换IP地址和端口号来实现对网络地址的转换,但这会导致IPsec报文中的IP地址和端口号不一致,从而导致通信失败。
2. 野蛮模式的优势:野蛮模式不需要建立安全通道即可交换密钥,因此可以在初始的IKE(Internet Key Exchange)阶段就完成阶段一和阶段二的协商,减少了通信的时间和开销。
3.NAT穿越的技术:为了实现野蛮模式的NAT穿越,需要使用一些技术手段来绕过NAT设备的限制,包括端口映射和引导报文。
野蛮模式NAT穿越的实现步骤:1. 发起方(Initiator)向响应方(Responder)发送IKE_INIT请求。
该请求包含了发起方的随机数和IP地址等信息。
2.响应方收到IKE_INIT请求后,生成响应方的随机数和IP地址等信息,并使用这些信息生成哈希值和共享密钥。
3.发起方收到响应方的IKE_INIT响应后,生成发起方的哈希值和共享密钥。
4.握手阶段一结束后,发起方和响应方交换生成的哈希值和共享密钥。
IPsecVPN协议的NAT穿透与防火墙配置

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穿越详细介绍

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 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穿越配置举例

下,配置ACL规则
port1 [ port2 ] ] [ icmp-type {icmp-type icmp-code | icmp-message} ]
[ precedence precedence ] [ dscp dscp ] [ established ] [ tos tos ] [ time-
Copyright © 2007 杭州华三通信技术有限公司
IPsec NAT穿越配置举例
3.2 配置步骤
配置野蛮模式下IPsec穿越NAT,需要以下步骤:
z 配置访问控制列表 z 配置 IKE 对等体 z 定义安全提议 z 创建安全策略 z 在接口上应用安全策略
1. 配置访问控制列表
在IPsec/IKE组建的VPN隧道中,若存在NAT网关设备,且NAT网关设备对VPN业务数据流进 行了NAT转换的话,则必须配置IPsec/IKE的NAT穿越功能。该功能删去了IKE协商过程中对UDP 端口号的验证过程,同时实现了对VPN隧道中NAT网关设备的发现功能,即如果发现NAT网关设 备,则将在之后的IPsec数据传输中使用UDP封装(即将IPsec报文封装到IKE协商所使用的UDP连 接隧道里)的方法,避免了NAT网关对IPsec报文进行篡改(NAT网关设备将只能够修改最外层的 IP和UDP报文头,对UDP报文封装的IPsec报文将不作修改),从而保证了IPsec报文的完整性 (IPsec数据加密解密验证过程中要求报文原封不动地被传送到接收端)。目前仅在IKE野蛮模式 下支持NAT穿越,主模式下不支持。
操作命令
在系统视图下,创建一个
1
高级访问控制列表
[H3C] acl number acl-number [ match-order { config | auto } ]
IPSEC(IKE)穿透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穿越问题研究

( 林 学 院 计 算机 与 网络 工程 系 , 西 榆林 790 ) 榆 陕 100
摘
要: 网络地址转换( A ) N T 是为 了应对 网络地址资源不足而提 出的解决方案, I e 是 实现 网络层 而 P c S
虚拟专用网( P ) V N 的重要技术, 但是它们之 间却有诸 多的的不兼容性。首先说 明了 N T和 ISc两种 A Pe 协议的基本原理 , 对两者的不兼容性进行 了分析 , 并讨论 了原有用户数据报 协议 ( D ) 装法 实现 UP封 N T透 明 穿越 的不 足和局 限 , 出 了一 种 结 合 Itre 密钥 交换 (K 协 商 的 U P封 装 实现 ISc的 A 提 ne t n I E) D Pe
维普资讯
20 0 8年 7嗣 第 1 卷 第 4期 8
J OURNAL OFYUL N COLL GE I E
榆 林 学 院 学 报
J l. 0 8 uy 2 0 Vo. 8 N 4 11 .
ISc N T穿越 问题研究 Pe 的 A
全 问题 , 由于用户 越 来越依 赖 于 网络 , 而很 多企业 用
2 1 N T原 理 . A
N T是 一 种将 I 址 从 一个 编 A P地
户 的数 据 是需要 有安 全传输 保 障 的 , 是传统 的 I— 但 n
址 域 映 射 到 另 一 个 编 址 域 的 方 法 。 R C 6 1 F 13 、
要进行修改。因此 , 研究 如何使 ISc Pe 报文可 以经
由 N T设备 实现 透 明传 输具 有重 要 的现实 意义。 A
2 N T原理 和 IS c 议 族 A Pe 协
均衡性 , 我 国当前 网络 应用 快速 发展 的情况 下 , 在 I P 地址 资源 显得 尤为 贫 乏 ; 二 是 网 络 信息 传 输 的安 其
IPSec和NAT工作模式的冲突和解决办法

不错的。
如何将两个好技术共用但又使它们相安无事,是很多人正在思考的问题。
网络安全IPsec(IP Security)和网络地址转换NAT(Net Address Translation)应用已经十分广泛了,但是要使它们运行在一起,却不是一件容易的事。
从IP的角度来看,NAT对IP的低层进行了修改,对IP是一种背叛;而从应用的角度来看,网络管理人员必须要处理网络地址的问题,NAT使用户可以采取多种方式把自己的网络和主机对外部公共网络隐藏起来,是一种好的工具,现在,无论是大企业还是中小企业都在使用它。
与NAT类似,IPsec也是一种好工具,它使用户可以安全地通过Internet联接到远程终端。
然而,由于IPsec协议架构本身以及缺乏支持IPsec的NAT设备,当IPsec和NAT在一起运行时就会出现很多问题。
解决这些问题最简单的办法,就是再增加一个路由器来运行NAT和虚拟专用网VPN。
可是,对于多数情况来说并没有多余的路由器来执行这一功能,因此,要解决两者共存的问题,就必须对IPsec和NAT 有一定的了解。
NAT的基本原理和类型NAT能解决令人头痛的IP地址紧缺的问题,而且能使得内外网络隔离,提供一定的网络安全保障。
它解决问题的办法是:在内部网络中使用内部地址,通过NAT把内部地址翻译成合法的IP地址在Internet上使用,其具体的做法是把IP包内的地址域用合法的IP地址来替换。
NAT功能通常被集成到路由器、防火墙、ISDN路由器或者单独的NAT设备中。
NAT设备维护一个状态表,用来把非法的IP地址映射到合法的IP地址上去。
每个包在NAT设备中都被翻译成正确的IP地址,发往下一级,这意味着给处理器带来了一定的负担。
但对于一般的网络来说,这种负担是微不足道的。
NAT有三种类型:静态NAT、动态地址NAT、网络地址端口转换NAPT。
其中静态NAT 设置起来最为简单,内部网络中的每个主机都被永久映射成外部网络中的某个合法的地址。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
IPSEC NAT 穿越(两种解法)
需求分析:如图,R2是上海总公司的路由器,R1是苏州分公司路由器,ISP1是长宽的路由,ISP2是电信路由器。
R2的外部地址是公网地址,R1的外部地址是私网地址。
在实际的工程中我们遇到这种问题太正常了,但恰好我们又需要在R1和R4之间建立IPSEC VPN。
NAT和IPSEC是互相冲突的,因为IPSEC保护私网地址和传输层内容,而NAT需要改这些.OK 我们开始解决这个问题!
解法一:基于ESP穿越NAT
配置如下
R1:
interface Loopback0
ip address 192.168.12.1 255.255.255.0
interface Ethernet0/0
ip address 172.16.12.1 255.255.255.0
half-duplex
ip route 0.0.0.0 0.0.0.0 172.16.12.2
crypto isakmp policy 10
authentication pre-share
crypto isakmp keepalive 60 ISAKMP的DPD
crypto isakmp nat keepalive 10
用于在NAT之后的情況,防止NAT丢弃转发条目
crypto isakmp key cisco address 202.100.34.4
crypto ipsec transform-set myset esp-des esp-md5-hmac
crypto 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-isakmp
set peer 202.100.34.4
set transform-set myset
match address 101
interface Ethernet0/0
crypto map map
R2:
interface Ethernet0/0
ip address 172.16.12.2 255.255.255.0
ip nat inside
ip virtual-reassembly IP分片虚拟重组
half-duplex
interface Ethernet0/1
ip address 202.100.23.2 255.255.255.0
ip nat outside
ip virtual-reassembly
half-duplex
ip route 0.0.0.0 0.0.0.0 202.100.23.3
ip route 192.168.12.0 255.255.255.0 172.16.12.1
ip nat service list 1 IKE preserve-port
ip nat service list 1 ESP spi-match
ip 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.1
access-list 2 permit 192.168.12.0 0.0.0.255
R3:
interface Ethernet0/0
ip address 202.100.23.3 255.255.255.0
half-duplex
interface Ethernet0/1
ip address 202.100.34.3 255.255.255.0
half-duplex
R4:
interface Loopback0
ip address 192.168.34.4 255.255.255.0
ip nat inside
ip virtual-reassembly
!
interface Ethernet0/0
ip address 202.100.34.4 255.255.255.0
ip nat outside
ip virtual-reassembly
ip route 0.0.0.0 0.0.0.0 202.100.34.3
crypto isakmp policy 10
authentication pre-share
crypto isakmp keepalive 60 ISAKMP的DPD
crypto isakmp nat keepalive 10
用于在NAT之后的情況,防止NAT丢弃转发条目
crypto isakmp key cisco address 202.100.23.2
crypto ipsec transform-set myset esp-des esp-md5-hmac
crypto 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-isakmp
set peer 202.100.23.2
set transform-set myset
match address 101
interface Ethernet0/0
crypto map map
ip 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.255
access-list 102 permit ip 192.168.34.0 0.0.0.255 any route-map nat-map permit 1
match 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。