娱乐新地带论坛

娱乐新地带论坛 (https://bbs.1819.net/index.php)
-   『网络家园』 (https://bbs.1819.net/forumdisplay.php?f=13)
-   -   在ros中做nat时指明ip或接口和不指定时的差异 (https://bbs.1819.net/showthread.php?t=75276)

Tony 2012-11-11 05:55 PM

在ros中做nat时指明ip或接口和不指定时的差异
 
NAT在IPV4的时代应用很广泛,它是解决IPV4地址资源紧张的权宜之计。我相信,每个单位都在使用着NAT功能。
在思科等路由器中,配置NAT时,有几个重要因素:指定内部外部接口、指定内要NAT的地址列表、指定转换后的地址列表等。在接口配置模式下输入 ip nat inside或ip nat outside,指明内部接口和外部接口后,路由器就知道地址翻译应该发生在数据包流经哪个接口时进行地址转换;全局模式下,ip nat inside xxx 是对内部地址(包括内部私有和内部全局地址)进行转换,ip nat outside xxx 是对外部地址(一般只有外部全局地址)进行转换;ip nat inside source xxx 是对数据包的源地址进行转换;ip nat insde destination xxx 是对数据包的目的地址进行转换。
比如,内部(私有地址)到外部网络的访问,此时需要将数据包的源地址(内部私有地址)转换为内部全局地址,进行的是内部地址转换(内部私有地址转换为内部全局地址),因此使用的是:ip nat inside source xxx 。
比如,外部PC通过内部全局地址来访问内部的某台服务器(内部私有地址),此时需要将数据包的目的地址(内部全局地址)转换为内部私有地址,进行的是内部目标地址的转换,因此使用的命令是:ip nat inside destination。
言归正传,下面我们来说明ROS中NAT时指明IP或接口和不指明时的差异:
看如下拓扑:
内部有一台FTP服务器,在ROS上通过NAT映射到外部192.168.202.133地址。外部192.168.202.1访问192.168.202.133 21端口,在FTP服务器上可以看到三种连接来源,如下图示:
也就是说,到达FTP服务器的数据包的源IP地址可能是ROS的LAN接口IP、ROS的WAN接口IP、外部访问者的IP。
下面我们一一来查看各种情况的ROS上的NAT配置:
一:FTP服务器上看到用户会话连接方为172.16.0.1(ROS的LAN接口IP)时的ROS配置:
http://img.bimg.126.net/photo/6Bd9mb...9101160988.jpg
DSTNAT:dst address为ROS的WAN口IP
http://img.bimg.126.net/photo/WQaITR...9101160989.jpg
ACTION:DST-NAT,映射到FTP服务器的IP
http://img.bimg.126.net/photo/Ld_tev...9101160990.jpg
SRCNAT:将内部地址伪装
http://img.bimg.126.net/photo/20Zw9E...9101160991.jpg
SRCNAT:将内部地址伪装
此配置的特点是:使用masquerade(伪装),不指定要NAT的源IP地址列表,也不指定 In Interface和Out Interface。
:FTP服务器上看到用户会话连接方为192.168.202.133(ROS的WAN接IP)时的ROS配置:
DSTNAT和上面的一样,只有SRCNAT不一样:
此配置的特点是:SRCNAT时使用 Src-Nat ACTION,将内部要NAT的地址映射为ROS的WAN口IP,不指定要映射的src address,也不指定要映射的In Interface和Out Interface。
:FTP服务器上看到用户会话连接方为192.168.202.1(FTP客户端IP)时的ROS配置:
DSTNAT和上面的一样,只有SRCNAT不一样:
此配置的特点是:SRCNAT时指定Out Interface。
下面将上述结果进行理论分析:


所有时间均为北京时间。现在的时间是 05:20 AM

©2003-2024 1819.net All rights reserved. © 2024