—— 网络 地址转换,是通过将专用网络地址(如企业内部网 Intranet )转换为公用地址(如互联网 Internet ),从而对外隐藏了内部管理的 IP 地址。" name="description" />
NATMILY: 宋体; mso-ascii-font-family: 'Times New Roman'; mso-hansi-font-family: 'Times New Roman'">——网络地址转换,是通过将专用网络地址(如企业内部网Intranet)转换为公用地址(如互联网Internet),从而对外隐藏了内部管理的 IP 地址。这样,通过在内部使用非注册的 IP 地址,并将它们转换为一小部分外部注册的 IP 地址,从而减少了IP 地址注册的费用以及节省了目前越来越缺乏的地址空间(即IPV4)。同时,这也隐藏了内部网络结构,从而降低了内部网络受到攻击的风险。
NAT功能通常被集成到路由器、防火墙、单独的NAT设备中,当然,现在比较流行的操作系统或其他软件(主要是代理软件,如WINROUTE),大多也有着NAT的功能。NAT设备(或软件)维护一个状态表,用来把内部网络的私有IP地址映射到外部网络的合法IP地址上去。每个包在NAT设备(或软件)中都被翻译成正确的IP地址发往下一级。与普通路由器不同的是,NAT设备实际上对包头进行修改,将内部网络的源地址变为NAT设备自己的外部网络地址,而普通路由器仅在将数据包转发到目的地前读取源地址和目的地址。
NAT分为三种类型:静态NAT(staticNAT)、NAT池(pooledNAT)和端口NAT(PAT)。其中静态NAT将内部网络中的每个主机都被永久映射成外部网络中的某个合法的地址,而NAT池则是在外部网络中定义了一系列的合法地址,采用动态分配的方法映射到内部网络,端口NAT则是把内部地址映射到外部网络的一个IP地址的不同端口上。
废话说了不少,让我们转入正题,看一下如何利用NAT保护内部网络。
使用网络地址转换NAT,使得外部网络对内部网络的不可视,从而降低了外部网络对内部网络攻击的风险性。
在我们将内部网络的服务使用端口映射到NAT设备(或是软件)上时,NAT设备看起来就像一样对外提供服务器一台服务器一样(如图一)。这样对于攻击者来讲,具有一定的难度,首先他要攻破NAT设备,再根据NAT设备连接到内部网络进行破坏。
图一
由图一我们可以看出,内部网络中的A、B和C提供相应的MAIL、FTP和HTTP服务。我们利用NAT将所提供服务机器的对应的服务端口25、110、20、21和80映射到NAT服务器上(IP:88.88.88.88,域名:5imax.net上,其中端口及服务对应如下:
SMTP<->25
POP3<->110
FTP<->20,21
HTTP<->80
说到20,我来加一个小插曲。我们都知道FTP对应的端口应该是21,为什么又冒出来一个20呢?其实,我们们进行FTP文件传输中,客户端首先连接到FTP服务器的21端口,进行用户的认证,认证成功后,当我们要传输文件时,服务器会开一个端口为20来进行传输数据文件,也就是说,端口20才是真正传输所用到的端口,端口21只用于FTP的登陆认证。我们平常下载文件时,会遇到下载到99%时,文件不完成,不能成功的下载。其实是因为文件下载完毕后,还要在21端口再行进行用户认证,而我们下载文件的时间如果过长,客户机与服务器的21端口的连接会被服务器认为是超时连接而中断掉,就是这个原因。解决方法就是设置21端口的响应时间。
话题扯远了(别拿柿子、鸡蛋……扔我啊),我们继续我们的NAT吧。由图一为例,当外部访问者访问http://www.ltesting.net时,NAT会自动把请求提交到内部的192.168.0.102的80端口上,反之也一样,我们所收到的信息也是内部的192.168.0.102通过NAT来传输给外部访问者的。同样FTP及MAIL的服务也是如此。
其中的NAT既可以用操作系统和代理软件,又可以用路由器及NAT设备。下面我们用软件的方法来具体实现具体的NAT设置。