一些比较专业的用户会注意到,如果 DHCP 服务器为客户端提供了一个 IP 地址,那么这个地址可能不是一个“公共的”、在Internet上唯一的IP地址。只要路由器自己具有在Internet上有效的IP地址,那么路由器就可以成为网络客户端的代理,从客户端接收请求,向Internet地址空间转发这个请求,进而接收来自于Internet地址空间的响应。许多路由器/DHCP设备都可以提供名为网络地址转换(NAT)的服务。
NAT设备能够屏蔽本地网络的所有细节,事实上,也能够隐蔽本地网络。如图所示为一个NAT设备。NAT设备可以作为本地计算机访问Internet的网关。在NAT设备之后,本地网络可以使用任何网络地址空间。当本地计算机需要连接Internet资源时,NAT设备会替这台计算机进行连接。所有从 Internet 资源发送来的数据包都会被转换成本地网络的地址格式,接着被发送给发起连接的本地计算机。
由于 NAT 设备可以阻止外部的攻击者发现本地网络,所以它能够提升网络的安全性。对外部世界而言,NAT设备看上去就好像是一台单独连接在Internet上的主机。即使攻击者知道本地网络上计算机的地址,也不能够打开与本地网络的连接,这是因为本地网络的寻址模式与Internet地址空间是不相关的。我们知道少量的IP地址范围被留给了“私有”网络:
10.0.0.0 ~ 10.255.255.255
169.254.0.0 ~ 169.254.255.255
172.16.0.0~ 172.31.255.255
192.168.0.0 ~ 192.168.255.255
而169.254.0.0~169.254.255.255地址范围是一个不可路由的地址块,它主要用于自动配置的链路本地地址,NAT不能使用它。
NAT设备通常从这些私有地址范围来分配IP地址。这些地址一般意义上是不可路由的,只能通过地址转换来到达NAT客户端计算机。NAT也可以减少各个公司对Internet公共地址的需求。只有充当NAT设备的路由器才需要能够在Internet上使用的真实地址。由于具有节省Internet地址以及私有网络固有的安全性这两大优点,NAT设备在家庭和企业网络中使用得越来越广泛。当然,安全性并不是那么容易做到的。即使看上去具有十分坚固安全性的 NAT 设备也很可能被突破。NAT设备有时会提供通过Internet进行管理的特性,如果不关闭这些特性,就会带来安全漏洞。
随着NAT的增长,有更多的攻击技术被开发出来,以企图绕过私有网络的天然防御。攻击者用来进入私有网络内部的一种常见的方式是,让网络中客户端邀请攻击者进入私有网络。入侵者会发送一个虚假的Web页面链接和一些其他的具有吸引力的内容,诱骗用户连接到一个高风险的服务器系统。因为这种攻击的存在,计算机用户通常会被告诫不要点击那些主动发送来的电子邮件上的链接。现在的Web 浏览器有时能够通过识别网站脚本或者Web 攻击方法来发现攻击。