第一篇:几种方式解决SIP穿越NAT总结[范文模版]
SIP穿越NAT的几种方式
多媒体会话信令协议是在准备建立媒体流传输的代理之间交换信息的协议,媒体流与信令流截然不同,它们所采用的网络通道也不一致。由于协议自身设计上的原因,使得媒体流无法直接穿透网络地址转换/防火墙(NAT/Firewall)。因为它们生存期的目标只是为了建立一个在信息中携带IP地址的分组流,这在遇到NAT/Firewall 时会带来许多问题。而且这些协议的目标是通过建立P2P(Peer to Peer)媒体流以减小时延,而协议本身很多方面却与NAT存在兼容性问题,这也是穿透 NAT/Firewall的困难所在。而NAT仍是解决当前公用IP地址紧缺和网络安全问题的最有力手段,所以解决NAT穿越成为首要问题。
以SIP通信为例,呼叫建立和媒体通信的建立是依赖SIP消息首部和SDP消息所描述的地址和端口信息进行的,呼叫双方分别在内网和外网上,内网是通过NAT设备连接到外网,由于NAT设备工作在IP和TCP/UDP层,所以它不对SDP等应用层数据进行NAT变换,因此会造成寻址失败,从而导致呼叫无法正常建立。另外,VOIP设备的主要通信协议(如SIP和H.323)要求终端之间使用IP地址和端口号来建立端到端的数据侦听外来的呼叫,而防火墙却通常被配置阻止任何不请自到的数据分组通过。需要网络管理者打开防火墙上的一个端口来接收呼叫建立数据分组,例如5060端口(SIP的通信端口),但IP语音和视频通信协议还要求打开许多别的端口接收呼叫控制信息来建立语音和视频通信,这些端口号事先并不知道,是动态分配的,也就是说网络管理者为了允许语音和视频通信将不得不打开防火墙上所有的端口,防火墙就失去了存在的意义。所以当前的问题还有需要解决监听端口的问题。如下图SIP呼叫不成功示意图
分析: d:211.83.100.100:23766 s:192.168.1.166:1010 2 d:211.83.100.100:23766 s:211.83.100.166:9993 3.d:211.83.100.166:9993 s:211.83.100.100:23766 4.d:192.168.1.166:1010 s:211.83.100.100:23766 5.d:211.83.100.110:23788 s:211.83.100.100:2020 6.d:211.83.100.100:3399 s:211.83.100.110:23788 7.d:211.83.100.166:9993 s:211.83.100.100:23766 8.d:192.168.1.166:1010 s:211.83.100.100:23766 9.d:211.83.100.100:3399 s:211.83.100.110:23788 10.d:211.83.100.166:9993 s:211.83.100.100:23766 11.d:192.168.1.166:1010 s:211.83.100.100:23766 12.d:211.83.100.110:23788 s:192.168.1.166:1010 d:211.83.100.110:23788 s:211.83.100.166:9993
13.d:192.168.1.166 s:211.83.100.110:23788 A对B invite 时在SDP中带上了RTP协商的端口和私网IP,B回复200OK时告知RTP时的端口和私网地址,B收到A的RTP包后回复,因为RTP包记录是私网地址,所以RTP包被丢弃。
目前主流的几种解决方式有ALG、STUN、TURN、ICE,我们分别来介绍它们的工作原理及工作流程。1.ALG
1.1工作原理
ALG是指能识别特定应用层协议(如SIP、H.323或MGCP协议)的防火墙。它不是简单地查看分组首部信息来解决数据分组是否可以通过,而是更深层地分析负载内容的数据,也就是应用层的数据。SIP和H.323协议都在负载中放了重要的控制信息。通过分析哪一个端口需要打开。防火墙动态的打开那些被应用的端口,而所有别的端口依然安全地保持关闭状态。ALG是支持VOIP应用最简单的一种方式,但该方案的缺点非常明显:每增加一种新的应用都将需要对 NAT/Firewall进行升级。在安全要求上还需要作一些折衷,因为ALG 不能识别加密后的报文内容,所以必须保证报文采用明文传送,这使得报文在公网中传送时有很大的安全隐患。SIP响应消息用于对请求消息进行响应,指示呼叫或注册的成功或失败状态。在请求与响应报文中需要进行ALG处理的地址字段类型主要有:Via、Record_Route、Contact、SDP。ALG处理流程为如下三个步骤:
首先,ALG根据会话标识的协议类型对报文进行解码,若解码发现报文为不需要做ALG或解码发现为错误字段时退出,解码发现需进行字段转换时进一步处理;其次,ALG查找接口上的NAT配置,根据NAT配置转换报文中的IP地址、端口、call-id等信息并建立关联表,关联表记录了载荷地址的转换关系;最后,ALG调整报文载荷中的长度字段,如sip message header的content-length字段标识message body的长度,ALG对message body中的地址转换后,message body长度可能变化,content-length字段值需要置为变化后的值。1.2工作流程示意图
分析: d:211.83.100.100:23766 s:192.168.1.166:1010 2 d:211.83.100.100:23766 s:211.83.100.166:9993 9.d:211.83.100.166:9993 s:211.83.100.100:23766 10.d:192.168.1.166:1010 s:211.83.100.100:23766 11.d:211.83.100.110:23788 s:211.83.100.100:2020 12.d:211.83.100.100:3399 s:211.83.100.110:23788 13.d:211.83.100.166:9993 s:211.83.100.100:23766 14.d:192.168.1.166:1010 s:211.83.100.100:23766 9.d:211.83.100.100:3399 s:211.83.100.110:23788 10.d:211.83.100.166:9993 s:211.83.100.100:23766 11.d:192.168.1.166:1010 s:211.83.100.100:23766 12.d:211.83.100.110:23788 s:192.168.1.166:1010 d:211.83.100.110:23788 s:211.83.100.166:9993 ALG NAT对A发给B的RTP包中的内容进行解码,发现私网地址就转换为公网IP,并做映射建立关联表,最后调整报文载荷中的长度字段。13.d:211.83.100.166:9993 s:211.83.100.110:23788 A对B invite 时在SDP中带上了RTP协商的端口和私网IP,B回复200OK时告知RTP时的端口和私网地址,B收到A的RTP包是经过ALG NAT修改后的数据包,就知道目的地址发给211.83.100.166:9993 14.d:192.168.1.166:1010 s:211.83.100.166:9993
2.STUN 2.1工作原理
STUN的全称是Simple Traversal of UDP Through NAT,即UDP对NAT的简单穿越方式。是一种网络协议它允许位于NAT(或多重NAT)后的客户端找出自己的公网地址,查出自己位于哪种类型的NAT之后以及NAT为某一个本地端口所绑定的Internet端端口。这些信息被用来在两个同时处于NAT 路由器之后的主机之间建立UDP通信。该协议由RFC 3489定义。
1)应用程序(即STUN CLIENT)向NAT外的STUN SERVER通过UDP发送请求STUN 消息询问自身的转换后地址,2)STUN SERVER收到请求消息,产生响应消息,响应消息中携带请求消息的源端口,即STUN CLIENT在NAT上对应的外部端口。响应消息通过NAT发送给STUN CLIENT,3)STUN CLIENT通过响应消息体中的内容得知其在NAT上对应的外部地址,并且将其填入以后呼叫协议的UDP负载中,告知对端,同时还可以在终端注册时直接注册这个转换后的公有IP地址,这样就解决SIP穿越NAT的通信建立问题以及作为被叫时的问题。
4)本端的接收地址和端口号为NAT外的地址和端口号。由于通过STUN协议已在NAT上预先建立媒体流的NAT映射表项,故媒体流可顺利穿越NAT。2.2网络结构图
2.3工作流程示意图
A:192.168.0.10
A NAT:192.168.1.1
211.83.100.100 STUN SERVER:211.83.100.110 B:192.168.11.11 B NAT:192.168.11.1
211.83.100.120 分析: d:211.83.100.110:1111 s:192.168.0.10:1010 2 d:211.83.100.110:1111 s:211.83.100.100:2020 3 d:211.83.100.100:2020 s:211.83.100.100:2020 4 d:192.168.0.10:1010 s:211.83.100.100:2020 5 d:211.83.100.120:2222 s:192.168.11.11:3030 6 d:211.83.100.120:2222 s:211.83.100.120:4040 7 d:211.83.100.120:4040 s:211.83.100.120:2222 8 d:192.168.11.11:3030 s:211.83.100.120:2222 A与B接收到STUN的响应消息就得到信令和媒体流在NAT上的映射地址,并将这些地址写到SIP消息中的Via,Contact字段以及SDP中的媒体流传送地址,代替原有的私网地址。如A的SDP带的端口为10000,B的SDP带的端口为20000,A、B相互告知对端它的端口,最后终端注册时直接用这个转换后的公有IP地址注册。所以端口10000 B NAT是打开的,端口20000 A NAT是打开的,所以RTP包可路由。d:211.83.100.120:4040 s:211.83.100.100:8888 10 d:211.83.100.100:8888 s:211.83.100.120:4040
2.4需要注意
1)NAT/PAT对于地址转换关系是有一定生命期的,某个地址转换后在一段时间内没有被使用将会被清除,当这个业务流再次出现时,将会建立一个新的地址转换关系,这就意味着STUN的询问过程以及终端的注册过程都需要再执行一遍才能保证通信的正确。解决这个问题一个比较通行的方案是采用某种方式保持NAT/PAT的转换关系,例如在NAT/PAT生命期内重复注册一次,比如NAT/PAT的生命期是3分钟,那么就将注册重复周期设置为2分钟。2)另外STUN server并非指一个专用的服务器,而是指一种功能、一个协议,我们可以在softswitch或者任何一个需要此功能的服务器上内置此协议, 后面代码也包含一个简单的Server实现。
3)但是在NAT采用对称模式(symmetric NAT)工作时,STUN的方案就会出现问题。假如我们在softswitch上提供STUN server功能,终端A通过STUN可以获得NAT为终端A与softswitch之间通信分配的地址A',并将这个地址注册在softswitch上,当一个公网上的终端B呼叫终端A时,A'和B通过softswitch完成呼叫建立过程。当B试图向A'发送媒体流时,问题就出现了。因为对称NAT只允许从softswitch发送数据给地址A',从B发送的媒体流将被丢弃。所以STUN无法应用于工作在对称模式的NAT.4)STUN协议最大的优点是无需现有NAT/FW设备做任何改动,同时STUN方式可在多个NAT串联的网络环境中使用.STUN的局限性在于STUN并不适合支持TCP连接的穿越,同时STUN方式不支持对对称NAT(Symmetric NAT).5)解决穿透NAT问题的另一思路是,私网中的VOIP终端通过某种机制预先得到出口NAT上的对外地址,然后在净载中所填写的地址信息直接填写出口 NAT上的对外地址,而不是私网内终端的私有IP地址,这样净载中的内容在经过NAT时就无需被修改了,只需按普通NAT流程转换报文头的IP地址即可,净载中的 IP地址信息和报文头地址信息是一致的。STUN协议就是基于此思路来解决应用层地址的转换问题。
6)一旦客户端得知了Internet端的UDP端口,通信就可以开始了。如果NAT是完全圆锥型的,那么双方中的任何一方都可以发起通信。如果NAT是受限圆锥型或端口受限圆锥型,双方必须一起开始传输。
7)需要注意的是,要使用STUN RFC中描述的技术并不一定需要使用STUN协议——还可以另外设计一个协议并把相同的功能集成到运行该协议的服务器上。
8)SIP之类的协议是使用UDP分组在Internet上传输音频和/或视频数据的。不幸的是,由于通信的两个末端往往位于NAT之后,因此用传统的方法是无法建立连接的。这也就是STUN发挥作用的地方。
9)STUN是一个客户机-服务器协议。一个VoIP电话或软件包可能会包括一个STUN客户端。这个客户端会向STUN服务器发送请求,之后,服务器就会向STUN客户端报告NAT路由器的公网IP地址以及NAT为允许传入流量传回内网而开通的端口。
10)以上的响应同时还使得STUN客户端能够确定正在使用的NAT类型——因为不同的NAT类型处理传入的UDP分组的方式是不同的。四种主要类型中有三种是可以使用的:完全圆锥型NAT、受限圆锥型NAT和端口受限圆锥型NAT——但大型公司网络中经常采用的对称型NAT(又称为双向NAT)则不能使用。
3.TURN 3.1工作原理
TURN的全称为Traversal Using RelayNAT,即通过Relay方式穿越NAT,TURN应用模型通过分配TURNServer的地址和端口作为客户端对外的接受地址和端口,即私网用户发出的报文都要经过TURNServer进行Relay转发。这种方式又称SPAN(Simple Protocol for Augmenting NATs)方式.TURN方式解决NAT问题的思路与STUN相似,也是基于私网接入用户通过某种机制预先得到其私有地址对应在公网的地址(STUN方式得到的地址为出口NAT上的地址,TURN方式得到地址为TURNServer上的地址),然后在报文负载中所描述的地址信息直接填写该公网地址的方式,实际应用原理也是一样的。这种方式除了具有STUN方式的优点外,还解决了STUN应用无法穿透对称NAT(Symmetric NAT)以及类似的Firewall设备的缺陷,即无论企业网/驻地网出口为哪种类型的NAT/FW,都可以实现NAT的穿透,同时TURN支持基于TCP的应用,如H323协议。此外TURN Server控制分配地址和端口,能分配RTP/RTCP地址对(RTCP端口号为RTP端口号加1)作为私网终端用户的接受地址,避免了STUN方式中出口NAT对RTP/RTCP地址端口号的任意分配,使得客户端无法收到对端发来的RTCP报文(对端发RTCP报文时,目的端口号缺省按RTP端口号加 1发送)。
TURN的局限性在于需要VOIP终端支持TURN Client,这一点同STUN一样对网络终端有要求。此外所有报文都必须经过TURN Server转发,增大了包的延迟和丢包的可能性。3.2网络拓扑图
3.3工作流程示意图
A:192.168.0.10
A NAT:192.168.1.1
211.83.100.100 STUN SERVER:211.83.100.110 B:192.168.11.11 B NAT:192.168.11.1
211.83.100.120 分析:
d:211.83.100.110:1111 s:192.168.0.10:1010 2 d:211.83.100.110:1111 s:211.83.100.100:2020 3 d:211.83.100.100:2020 s:211.83.100.100:2020 4 d:192.168.0.10:1010 s:211.83.100.100:2020 5 d:211.83.100.120:2222 s:192.168.11.11:3030 6 d:211.83.100.120:2222 s:211.83.100.110:4040 7 d:211.83.100.110:4040 s:211.83.100.120:2222 8 d:192.168.11.11:3030 s:211.83.100.120:2222 A与B接收到TURN的响应消息就得到信令和媒体流在NAT上的映射地址,并将这些地址写到SIP消息中的Via,Contact字段以及SDP中的媒体流传送地址,代替原有的私网地址。如A的SDP带的端口为10000,B的SDP带的端口为20000,A、B相互告知对端它的端口,所以端口10000 B NAT是打开的,端口20000 A NAT是打开的,所以RTP包可路由。d:211.83.100.110:1111 s:211.83.100.100:5556 10 d:211.83.100.120:2222 s:211.83.100.110:1111 d:192.168.11.11:3030 s:211.83.100.120:2222 11 d:211.83.100.110:4040 s:211.83.100.120:6555 12 d:211.83.100.100:5556 s:211.83.100.110:4040 d:192.168.0.10:1010 s:211.83.100.100:2020
4.ICE 4.1工作原理
交互式连通建立方式ICE(Interactive Connectivity Establishment)并非一种新的协议,它不需要对STUN、TURN或RSIP进行扩展就可适用于各种NAT。ICE是通过综合运用上面某几种协议,使之在最适合的情况下工作,以弥补单独使用其中任何一种所带来的固有缺陷。ICE跟STUN和TURN不一样,ICE不是一种协议,而是一个framework,它整合了STUN和TURN。使用ICE方式穿透NAT,必须映射ICE定义的参数到SIP消息格式中,同时对其SDP属性进行简单扩展—在SDP的Media块中定义一个新的属性“alt”来支持ICE。它包含一个候选IP地址和端口,SDP的接受端可以用该地址来替换m和c中的地址。Media块中可能会有多个alt属性,这时每个alt应该包括不重复的IP地址和端口。对于SIP来说,ICE只需要定义一些SDP(Session Description Protocol)附加属性即可,对于别的多媒体信令协议也需要制定一些相应的机制来实现。其思想是:建立媒体流信道时,发出很多种选择,有本地端口,STUN端口,TURN端口,并给出这些端口的优先级,由被叫方自主选择端口,根据一定的算法和联通性测试,选出最好的端口来通信。
ICE算法流程分为以F几个过程:
(1)收集本地传输地址
会话者从服务器上获得主机上一个物理(或虚拟)接口绑定一个端口的本地传输地址。
(2)启动STUN 与传统的STUN不同,ICE用户名和密码可以通过信令协议进行交换。
(3)确定传输地址的优先级
优先级反映了UA在该地址上接收媒体流的优先级别,取值范围0到1之间,按照被传输媒体流量来确定。
(4)构建初始化信息(Initiate Message)初始化消息由一系列媒体流组成,每个媒体流的任意Peer之间实现最人连通可能性的传输地址是由公网L转发服务器(如TURN)提供的地址。
(5)响应处理
连通性检查和执行ICE算法中描述的地址收集过程。(6)生成接受信息(Accept Message)若接受则发送Accept消息,其构造过程与InitiateMessage类似。
(7)接受信息处理
接受过程需要发起者使用Send命令,由服务器转发至响应者。(8)附加ICE过程
Initiate或Accept消息交换过程结束后,双方可能仍将继续收集传输地址。
(9)ICE到SIP的映射
4.2网络拓扑图
4.3工作流程示意图
举例:通信双方同时处于对称式NAT/FW内部,现在SIP终端A要与B进行VoIP通信。A所在的内部地址是10.0.1.9,外部地址是211.35.29.30;B的内部地址是192.168.1.6,外部地址是202.205.80.130;STUN/TURN服务器的地址是218.65.228.110。
首先A发起请求,进行地址收集,如下图,收集了STUN服务映射的地址M:211.36.2930:9988,第二次收集了TURN服务映射的地址M:218.65.228.110:8076,第二次的IP和端口都改变了是因为NAT是对称型,重新映射一条路径。
B进行地址收集,和A的过程是一致的。如下图,收集了STUN服务映射的地址M:202.205.80.130:10892,第二次收集了TURN服务映射的地址M:218.65.228.110:8078
B的连通性检查,如图,第1步,B对于A的私有地址是不可路由的
第3步,由于目标地址d:211.35.29.30:9988被源地址S:218.65.228.110:3478所映射,所以B对于A又不可路由,所以B到A的媒体流将发送至218.65.228.110:8076地址。
A的联通性检查,如图,与B原理一样,A对于B的私有地址和STUN来源地址的连通性检查结果均为失败,而到B的TURN来源地址和到B的peer-derived地址成功(本例中它们都具有相同的优先级0.4)。相同优先级下我们通常采用peer-derived地址,所以A发送到B的媒体流将使用218.65.228.110:5556地址。
第二篇:SIP优势总结
SIP优势总结
1、自动回呼功能。
启用该功能后,如果您呼叫的对象没有接听到电话,系统会记录下此次呼叫,一旦对方使用了VOIP电话,系统就会判定该对象已经回来并向双方的电话发起振铃,摘机后就可以建立通话。该功能解决了中国人不爱使用电话留言功能的问题。
2、语音点播功能。
说明如下:
1、将重要文件或通知录制成文件存放在VOIP系统中并挂接上特殊的号码,用户只要拨打该号码并输入密码验证,就可以收听录音;
2、如果企业有常用的培训录音,也可以放在系统中,用户拨打培训电话号码,就可以远程反复收听培训录音了;
3、对于紧急重要的通知,也可以通过系统制作录音,并通过群呼的方式向所有VOIP话机呼叫。
3、企业统一通信录应用。
公司内部网页可集成“企业统一通信录”,其中包含各部门员工通信录名片,甚至合作单位通信录名片,通讯录名片可以链接多个用户号码(如VOIP分机号码、普通固定电话号码、移动手机号码等)。
员工上班时以专有用户身份登录系统,除了可以查询公共通讯录外,还可以建立自己私人的通讯录。员工需要电话呼叫同事或客户时,只需要在“企业统一通信录”上找出呼叫对象,点击后,双方听到电话振铃后摘机便可开始对话。
该应用革新了企业的通信管理概念,避免了传统电话通信中找号码、拨电话的麻烦,解决了企业传统通信录在更新、管理过程中容易泄密的问题。
4、邮件自动呼叫应用
将企业的邮件系统集成自动呼叫功能,员工在阅读邮件的时候,只需点击邮件相关人员,系统就可在该员工和相关人员之间建立语音连接,甚至可同时连接多方电话,组成电话会议共同讨论邮件内容。
该应用的显著特点是提高业务处理效率。员工不必翻查通信录,直接点击相关联系人即可快速解决问题。
5、电话会议应用。
系统提供基于Web的电话会议系统,该系统以功能模块方式集成在软交换服务器中,不需要额外添加电话会议设备。
利用此套电话会议系统可方便的召开跨部门、跨地区会议,而无需占用会议室、无需长途旅行费用开支、无需向运营商支付通讯费用。
此外,针对黑龙江人寿目前应用的PLOYCOM和AVCON视频会议系统,VOIP通信系统也可以通过三种方式实现其价值:
第一种,由于PLOYCOM能够提供模拟接口,所以VOIP系统可通过语音网关的模拟接口与之对接,作为VOIP系统的任何一部分机都可以加入视频会议系统(只有语音);
第二种,通过PLOYCOM和AVCON视频会议系统的媒体服务器所提供的标准H.323协议,与VOIP系统互联也可加入视频会议系统(只有语音)。
第三种,由于视频会议系统价格昂贵,在部署时只是有针对性的部署在重点地市。而相对来讲VOIP通信系统所提供的电话会议成本低、部署广,可以作为视频电话会议系统的一个有效补充。
6、网络安全。
1、号码认证体系。我们的系统提供了严格的号码认证体系,除了针对用户名、密码进行认证外,还可以针对对方的IP地址进行认证。
2、加密体系。我们的系统有一套非常完善的加密措施来保证通话安全。
3、跨网间通话质量保证。我们的系统有措施确保在不同网络运营商之间通话质量良好。
7、电话录音功能。
保险行业通常有一些业务是需要录音的,比如电话回访,目的是保证回访员的工作质量;此外对于一些催款部门,电话录音也可以作为催款参考凭据。我们的系统可以方便实现这种应用,软交换服务器录音后可保存当本地硬盘。服务器上安装数据库工具,可以实现对录音文件的查询管理。如果录音文件过大,还可以设置定期将录音文件传送到公司其它存储设备上。
8、“帮助单系统”自动呼叫应用。
给IT部门的“帮助单系统”集成自动呼叫功能,当IT部门员工收到“帮助请求单”后,可以直接点击帮助请求人,系统将自动呼叫并接通对方电话。
9、IT部门专用Call Center 该应用利用软交换服务器集成的多级可编程IVR功能,可以把企业IT应用系统的故障帮助请求分门别类,分别引导;企业员工只需要拨打IT部门公布的服务号码(VOIP号码),其呼叫请求即被引导、转接到合适的IT服务坐席或语音录音。通过“IT部门专用Call Center”应用,可以将各地市人寿分公司的IT部门员工都纳入到统一的服务体系,实现多中心联网服务,形成网络服务的优势。
该应用无需特别的设备投资,却可以充分利用各地区的IT人力资源,给企业创造更多的服务价值,体现IT部门高效、完美的服务形象。
此外,我们系统即将推出高智能终端,可以通过液晶触摸屏实现通讯录查找、自动呼叫、电话录音等功能。这些功能在H323系统中是不容易实现的。
第三篇:NAT个人学习总结
个人学习总结---NAT
1、NAT本原理
NAT即网络地址转换,最初是由RFC1631(目前已由RFC3022替代)定义,用于私有地址向公有地址的转换,以解决公有IP地址短缺的问题。后来随着NAT技术的发展及应用的不断深入,NAT更被证明是一项非常有用的技术,可用于多种用途,如:提供了单向隔离,具有很好的安全特性;可用于目标地址的映射,使公有地址可访问配置私有地址的服务器;另外还可用于服务器的负载均衡和地址复用等。
NAT分为源NAT和目的NAT。源NAT是基于源地址的NAT,可细分为动态NAT、PAT和静态NAT。动态NAT和PAT是一种单向的针对源地址的映射,主要用于内网访问外网,减少公有地址的数目,隐藏内部地址。动态NAT指动态地将源地址转换映射到一个相对较小的地址池中,对于同一个源IP,不同的连接可能映射到地址池中不同的地址;PAT是指将所有源地址都映射到同一个地址上,通过端口的映射实现不同连接的区分,实现公网地址的共享。静态NAT是一种一对一的双向地址映射,主要用于内部服务器向外提供服务的情况。在这种情况下,内部服务器可以主动访问外部,外部也可以主动访问这台服务器,相当于在内、外网之间建立了一条双向通道。
基于目标地址的NAT,我们称为目的NAT,可分为目标地址映射、目标端口映射、服务器负载均衡等。基于目标地址的NAT也称为反向NAT或地址映射。目的NAT是一种单向的针对目标地址的映射,主要用于内部服务器向外部提供服务的情况,它与静态NAT的区别在于它是单向的。外部可以主动访问内部,内部却不可以主动访问外部。另外,可使用目的NAT实现负载均衡的功能,即可以将一个目标地址转换为多个内部服务器地址。也可以通过端口的映射将不同的端口映射到不同的机器上。另外,掌握NAT的基本原理之后,NAT不仅仅可用于公有地址和私有地址之间的转换,还可用于公有地址与公有地址之间、私有地址与私有地址之间的转换。
2、Nat功能
NAT不仅能解决了lP地址不足的问题,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机。1.宽带分享:这是 NAT 主机的最大功能。
2.安全防护:NAT 之内的 PC 联机到 Internet 上面时,他所显示的 IP 是 NAT 主机的公共 IP,所以 Client 端的 PC 当然就具有一定程度的安全了,外界在进行 portscan(端口扫描)的时候,就侦测不到源Client 端的 PC。
3、Nat的分类
系统中把NAT的配置分为: 源地址转换(Source)、目的地址转换(Destination)及静态地址转换(Static)三种类型。
每条NAT规则都是和某个特定的接口关联的,需要注意的是,源地址转换是在离开接口时进行转换的,目的地址转换是在进入接口时进行转换的,所以配置源地址转换的时候必须和对应的出接口关联,而配置目的地址转换的时候需要和对应的入接口关联。
内网环境:PC1----ge0/1口 外网环境:PC2----ge0/7口
外部地址:需要转换的外部地址:101.1.1.101 内部地址:需要转换的内部地址:100.1.1.77 内部接口:和内部网络连接的接口名 ge0/1 外部接口:和外部网络相连的接口名ge0/7 3.1 源NAT:
源地址转换是一种单向的针对源地址的映射,主要用于内网访问外网,减少公有地址的数目,隐藏内部地址。
ips# show ip nat source
ip nat source ge0/7 yuanip mudi any interface enable log 1
ips#
PC1和PC2进行通信,在内网主机PC1上显示,源IP为:100.1.1.77,目的IP为101.1.1.101 报文的处理流程:接口收包,交三层处理,然后对其查路由,找到下一跳出接口,在出接口检查是否做源地址转换。如果要做源地址转换,查NAT表,检查nat表中是否有对应的转换条目,如果有,做转换;如果没有,从设置的全局地址中找要转换的地址,对源地址做转换。转换后,重新封装报文,交下层处理,将报文从出接口转发。
在外网主机上面显示源IP为:101.1.1.1,目的IP为101.1.1.101
内部客户机向外部网络发送一个请求时,本来源地址是100.1.1.77,而目标地址应该是101.1.1.101。但经过源NAT的转换之后,源地址就变成了101.1.1.1,目标地址仍会是101.1.1.101。
反过来,外部网络会回应我们的请求,那么这时源地址将会是101.1.1.101,目标地址是101.1.1.1。同样地,IPS会处理这一请求,变成了源地址是101.1.1.1,目标地址是101.1.1.101。
实际上,网络中数据的传输总是双向的,那么IPS会同时转换请求与应答设备的源地址,以达到路由目的。
3.2 目的NAT 目的地址转换根据应用场不同,可以分为以下三种: 服务器地址、端口映射:实现外网地址和内部地址的单向映射或同时实现转换端口;
服务器业务分流:根据访问的业务不同,系统把目的地址转换为内部不同的服务器地址;
服务器负载分担:把一个外部IP映射到内部的一个地址池中,即一到多的映射功能;
接口映射:根据外网出接口的IP自动更改目的NAT规则,主要用于PPPoE等拨号上网获得动态IP的情况。配置目的nat
ips# show ip nat destination ip nat destination ge0/1 yuan d any f enable log 1 ips# PC1和PC2进行通信,在内网主机PC1上显示,源IP为:100.1.1.77,目的IP为100.1.1.1 报文的处理流程:接口收包,在入接口检查是否做目的地址转换。如果要做目的地址转换,查NAT表,检查nat表中是否有对应的转换条目,如果有,做转换;如果没有,从设置的全局地址中找要转换的地址,对目的地址做转换。转换后,重新封装报文,交下层处理,将报文从出接口转发。
内部客户机向外部网络发送一个请求时,本来目的地址是100.1.1.77,而目标地址应该是100.1.1.1。但经过目的NAT的转换之后,目的地址就变成了101.1.1.101,源地址仍会是100.1.1.77。3.3静态NAT 静态地址转换是一对一的双向地址映射。在这种情况下,被映射的内部主机可以主动访问外部,外部也可以主动访问这台内部主机,相当于在内、外网之间建立了一条双向通道。
外部地址:需要转换的外部地址。101.1.1.102 内部地址:需要转换的内部地址。100.1.1.77 外部接口:和外部网络相连的接口名。ge0/7
ips# show ip nat static ip nat static ge0/7 100.1.1.77 101.1.1.102 enable log 1 ips#
PC1和PC2进行通信,在内网主机PC1上显示,源IP为:100.1.1.77,目的IP为101.1.1.101
在外网主机PC2上抓包显示,源IP已经变为:101.1.1.102。
4、NAT的意义
1,环境ip资源的紧缺
2,通过nat的使用,可以很好的隐藏内网的内部网络结构,避免来自外网的攻击,保护内网的安全。
3,当两个使用相同的私网网段的私网进行互通时,可以解决地址重叠的问题
4,当内网存在多个服务器时,可以将外网对服务器的访问映射到不同的服务器上面,这样可以达到负载分担的效果。
5、问题补充
5.1我们的设备端口映射在哪里配置
端口映射配置在目的NAT。目标端口映射是目的NAT的一种。基于目标地址的NAT也称为反向NAT或地址映射。目的NAT是一种单向的针对目标地址的映射,主要用于内部服务器向外部提供服务的情况。外部可以主动访问内部,内部却不可以主动访问外部。另外,可使用目的NAT实现负载均衡的功能,即可以将一个目标地址转换为多个内部服务器地址。也可以通过端口的映射将不同的端口映射到不同的机器上。
PC1(client)-------------------IPS-------------------PC2(server)100.1.1.77
100.1.1.1
101.1.1.1
101.1.1.101 在PC2创建http server,端口号设置成1234
配置目的地址转换,源ip为100.1.1.77 目的ip为100.1.1.1 转换之后的ip为101.1.1.101,转换后的端口配置成1234
在PC1上面的浏览器上面访问http://100.1.1.1:4444 若目的NAT不配置端口转换是无法访问成功的 配置之后可访问成功
在PC1上面抓包,查看端口是原来的端口
经过IPS的目的地址转换,转换之后的端口号变成了1234 在server上面抓包观察报文如下;
5.2为什么源NAT不支持端口映射?
端口映射是基于目的NAT生效,转换端口之后才能正常访问server。假如源NAT配置了端口映射,本身client的源端口号在访问server的时候是不关心的,所以源端口号转换不转换对server是没有任何意义的。
5.3Http和ftp在经过NAT时有没有区别?如果有,区别在哪里?
FTP客户端的报文经过了路由器NAT之后,服务器端看到的报文的客户端的报文的IP源地址和端口都已经被改变了,当然对于控制连接来说这没有影响,因为有网关或者路由器的NAT模块在中间做管理,但是对于正要通过控制连接建立的数据连接就有问题了,因为NAT改变的仅仅是IP报文头,而对于因为报文中PORT命令中包含的地址和端口信息没有做任何改动,这样服务器是无法和一个内部地址建立连接的,所以这个时候就出现了ALG这个功能。ALG就是在发现如果报文头做了NAT,在这个时候如果发现这个是一个FTP的连接的时候,就需要同时改变PORT命令中的地址和端口。HTTP在经过NAT网关时只需要使用普通的NAT转换处理,但是对于FTP,由于FTP在应用层中携带了IP地址或端口等信息,因此需要ALG的帮助才能正常穿越NAT网关。FTP协议PORT模式的FTP在经过NAT时需要ALG的处理,因此NAT网关需要关注用户的每一个FTP命令,并识别需要进行ALG处理的命令,进行相应的ALG处理
第四篇:Juniper Netscreen NAT简单总结
Juniper Netscreen NAT简单总结
1、源网络地址转换
执行源网络地址转换(NAT-src)时,安全设备将初始源 IP 地址转换成不同的地址。已转换地址可以来自动态 IP(DIP)池或安全设备的出口接口。如果从 DIP 池中提取已转换的地址,安全设备可以随机提取或提取明确的地址,也就是说,既可以从DIP 池中随机提取地址,也可以持续提取与初始源 IP 地址有关的特定地址。可以配置安全设备,在接口级或策略级应用 NAT-src。如果配置策略以应用 NAT-src,且入口接口处于 NAT 模式下,则基于策略的 NAT-src 设置会覆盖基于接口的 NAT。基于策略的NAT-SRC优先级高于接口级的NAT-src。
2、目标网络地址转换
基于策略的 NAT-dst:
MIP:MIP的地址转换双向执行,因此安全设备可以将到达 MIP 地址的所有信息流中的目标
IP 地址转换成主机 IP 地址,并将主机 IP 地址发出的所有信息流中的源 IP 地址转
换成 MIP 地址。
VIP:是从一个 IP 地址到基于目标端口号的另一个 IP 地址的映射。在同一子网中定义为接口的单个 IP 地址可以托管从若干服务(使用不同的目标端口号标识)到同样多主机的映射。VIP 还支持端口映射。与 MIP 不同,VIP的地址转换将单向执行。安全设备可以将到达VIP 地址的所有信息流中的目标 IP地址转换成主机 IP 地址。
ScreenOS 不支持同时将基于策略的 NAT-dst 与 MIP、VIP 配合使用。如果您配置了 MIP 或 VIP,安全设备会在应用了基于策略的 NAT-dst 的任何信息流上应用MIP 或 VIP。换言之,如果安全设备偶然将 MIP 和 VIP 应用于同一信息流,则MIP 和 VIP 将禁用基于策略的 NAT-dst。感觉是MIP,VIP优先级高于基于策略的NAT-DST。
虽然 MIP 和 VIP 的地址转换机制是双向的,但基于策略的 NAT-src 和 NAT-dst 能够将入站和出站信息流的地址转换分开,以提供较好的控制与安全性能。基于策略的 NAT-src 和 NAT-dst 各提供一种单一方法,加起来可以取代基于接口的 MIP 和 VIP 功能,而且超过了后者。这一点太重要了,也就是在Netscreen可以用基于策略的NAT-src,NAT-dst实现所有的NAT功能,而且安全性、灵活性、控制粒度都优于其他方法。
Comment:
1、个人从不让接口工作在NAT模式,不论是trust, untrust zone,还是DMZ Zone的接口都工作在route mode。
2、对于转换的IP地址,一定要检查是否存在该IP的路由。
eg 把trust zone的一台服务器 10.180.0.25 对外发布为 59.42.5x.6x, 除了配置相应的NAT策略外,还一定 要添加路由59.42.5x.6x/32
set vrouter trust-vr route 59.42.5x.6x/32 interface ethernet13、在工作中尝试用基于策略NAT-src,NAT-dst完成所有的NAT
第五篇:SIP点滴工作经验和教训总结
(2013-09-10)3650SHHXHelbakoNingbo Huaxiang ElectronicCo.LtdBillliu)
今天帮bill liu做很简单的tender submission receipt,为下午的开标会议做准备,一共四家总包,被邀请投标,其实这个receipt是个很简单的事情,但是今天做的很不好,主要体现在1,字体格式要统一,整体协调。
2、office办公操作需要加快速度和准确性。
3、做receipt时对contactor的资料阅读不仔细,把投标人的缩写写错,以后一定要加强相关资料的阅读能力,做到耐心细心,胆大心细。
4、对word中页脚的修改也是个大问题今天,自己只是在在页面内修改,保存后又恢复原来样子,应该另存修改文件名,然后再页脚处更新。
5、时间表示错误,下午一点半写成13:30pm,pm只适用于十二小时制,所以应该为1:30pm。好糟糕的一天,必须吸取教训。
文件扫描:流程性操作,及时没用过,只要按步骤来很简单的,要增强新事物的动手能力。
(2013-09-11)3650 SHHXHelbakoGC tenderproject teamand organizations)
今天做的这个team and organization 其实就是信息的汇总整合和分析,本身难度不大,但是对投标者的标书的内容理解要透彻,专业,分析需要客观,并且需要渗透到标书内容的精髓,分辨出施工单位的质量,这个需要有专业性的素质,尤其是对施工单位的组织结构的理解要透彻。
(2013-09-12)3650 SHHXHelbako
今天好囧,word中cell插入多条斜线头一开始竟然不会,由于版本问题,这个word表格菜单下没有插入多条斜线头的按钮,用画图的直线用具只能画一条,最后得出只能用insert中的shape中的line命令,这些都是很简单也最常用的,其实在一个正规的外企中办公,office,ps,autocad等软件的娴熟运用是最好的能展现职业能力和素养的方式,工程经验和知识的展现需要一个长期的on-going的积累过程,但是这些职业能力将直接展现你的办公效率,昨天帮bill做那个tender submission receipt 出现的那么多错误,给别人的印象真的比较差,这个是个警示,希望利用周末时间要快速的提高,这个是基础,也将主导人脉和工作事物的资源导向性,好好把握,像张辉哥哥说的那样,可以犯错但是同样的错误绝对不犯第二次,bill liu那个submission receipt犯了四次,真的要好好反思。