Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1286963
  • 博文数量: 464
  • 博客积分: 9399
  • 博客等级: 中将
  • 技术积分: 6364
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-19 09:15
文章分类

全部博文(464)

文章存档

2014年(12)

2013年(123)

2012年(173)

2011年(156)

我的朋友

分类: 系统运维

2014-03-10 11:25:08

PIX上可以实现/PAT操作,然而有些不支持NAT

主要因为其IP层或更高层负载中含有IP地址或传输层端口号,这样PIX完成NAT后,IP报头的地址被修改为内部全局地址,但是数据负载中的IP地址或端口号没有被修改,数据包被传递到对端的应用后,对端的应用程序检测数据负载后,一般会使用相应的检测到的地址返回数据包,但这个可能是一个私有地址,进而导致返回的数据包被丢弃或错误传输。

1>     NAT

数据包在被PIX NAT转换前的格式:

数据包在被PIX NAT转换后的格式:

 

2>

数据包被PIX PAT转换后的格式:

 

 

PIX对以下协议进行特殊的NAT/PAT转换:

  • DNS
  • RTSP
  • FTP
  • HTTP
  • H323
  • RSH
  • SMTP
  • SQLNET
  • SIP
  • Skinny
  • NetBIOS over IP (several different functions)

如果配置了对相应的协议的特殊转换,当PIX识别到上边这些协议后,它会在转换前将特定协议的数据负载中的网络层IP地址或传输层端口号修改为对应的NAT转换后的地址或端口号(Fix-up操作)。

因为以上协议都是CISCO经过实验采集的协议,已经对其进行了相应的研究,可以准确定位其数据负载中存放IP地址或端口号的位置。并且这些协议都是使用所谓的well-know端口号,PIX可以简单的进行相应的转换实现。

 

但是如果某协议使用的特殊的方式实现,使其端口号使用非常规的,那就需要对fix-up操作进行手工定义了,我们可以使用cisco提供的fixup protocol命令来实现对这些特殊协议的定制操作。

当以上协议使用非常规端口号时,fixup protocol命令启用Adaptive Security Algorithm来实现对以上协议的特殊操作。

fixup protocol命令为全局的,并且对所有的inboutoutboud都生效。

no fixup protocol {protocol}命令可以取消对特定服务的特殊转换操作。

fixup protocol命令有一些默认配置存在,即使没有手工配置,也有一些默认的对well-know端口的指定。

配置实例:

1>     对开启233端口的FTP服务器进行NAT配置

fixup protocol ftp 233

2>     WEB服务器指定80/8080端口的进行NAT配置

fixup protocol http 80

fixup protocol http 8080

3>     取消对h323的特殊NAT转换,即不检测数据负载中的下层地址或端口。在有大量的数据流,且对NAT不敏感的,可以取消特殊转换,进而可以减少PIX的消耗。

no fixup protocol h323 1720

阅读(1519) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~