分类: 系统运维
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转换:
如果配置了对相应的协议的特殊转换,当PIX识别到上边这些协议后,它会在转换前将特定协议的数据负载中的网络层IP地址或传输层端口号修改为对应的NAT转换后的地址或端口号(Fix-up操作)。
因为以上协议都是CISCO经过实验采集的协议,已经对其进行了相应的研究,可以准确定位其数据负载中存放IP地址或端口号的位置。并且这些协议都是使用所谓的well-know端口号,PIX可以简单的进行相应的转换实现。
但是如果某协议使用的特殊的方式实现,使其端口号使用非常规的,那就需要对fix-up操作进行手工定义了,我们可以使用cisco提供的fixup protocol命令来实现对这些特殊协议的定制操作。
当以上协议使用非常规端口号时,fixup protocol命令启用Adaptive Security Algorithm来实现对以上协议的特殊操作。
fixup protocol命令为全局的,并且对所有的inbout和outboud都生效。
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