本节书摘来异步社区《Cisco安全防火墙服务模块(FWSM)解决方案》一书中的第1章,第1.5节,作者:【美】Ray Blair ,Arvind Durai,更多章节内容可以访问云栖社区“异步社区”公众号查看
1.5 IP地址重用
Cisco安全防火墙服务模块(FWSM)解决方案
所有防火墙都有一个共同的特性,那就是网络地址转换(NAT)和端口地址转换(PAT)。NAT隐藏了内部使用的IP地址规划,而PAT功能有助于将公共IP地址空间的使用降至最低。
图1-5所示为如何使用防火墙来提供NAT和/或PAT功能。
1.5.1 NAT
NAT能够改变源和/或目的IP地址,通常在内部使用私有地址空间时会用到NAT。NAT在内部IP地址和外部IP地址之间建立一一对应关系。
在图1-6中,两个客户端位于防火墙的内部。客户端1和客户端2的IP地址分别为192.168.1.2和192.168.1.3。已经为防火墙分派了一个NAT地址池,其使用的IP地址为172.16.1.2~172.16.1.254。
当客户端1试图连接Internet时,防火墙已经被配置为从地址池内取出一个IP地址,并把客户端的源地址转换成地址池中取出的地址。注意,当连接通过防火墙时,客户端的源地址已经从192.168.1.2转换成172.16.1.2(地址池中的第一个IP地址)了。
当客户端2建立通过防火墙的连接时,它会获得地址池内的第二个地址。可以看到,地址池的大小是与允许通过防火墙的客户端数量相对应的。当第255个客户端试图通过防火墙建立连接时,由于地址池已完全分配完毕,此连接会被拒绝。这个问题将在“PAT”一节中讲解。
也可以静态配置NAT功能,这称之为静态NAT。通过该特性建立起来的内部地址与外部地址之间的映射关系会永久不变。这样就可以使用映射IP地址来建立由外部到内部的连接。
通过使用共享式的NAT池,可以节省宝贵的公共IP地址空间,还可以支持运行不是很好的应用程序打开随机端口进行通信。静态NAT无法节省公共IP地址,但是它提供了一种机制,使得公网(Internet)上的客户端能够访问具有私有地址的服务。
1.5.2 PAT
从另一方面来说,PAT具有一对多的IP地址对应关系。PAT经常用在内部使用私有地址空间,但是却只有一个公共IP地址的场景中。你的家庭网络可能就是这样的情况。私有地址与公共地址的转换发生在OSI模型的传输层。
图1-7与图1-6类似,不同的是,防火墙上没有配置地址池,而是将防火墙配置为将客户端的地址转换为防火墙外部的IP地址。
当客户端1通过防火墙建立连接时,防火墙把源地址192.168.1.2转换成172.16.1.1。
当客户端2通过防火墙建立连接时,防火墙把源地址192.168.1.3转换成172.16.1.1。
这两个客户端都使用同一个IP地址。那么,防火墙如何分辨该将数据回送到哪个客户端呢?此时,源端口号派上了用场。防火墙会创建一张表,其中记录了源IP地址和端口号与转换后的源IP地址和端口号之间的映射关系。这样,当流量返回共享的外部地址172.16.1.1时,通过端口号就得知其目的地是哪里了。
可以看到,从IP使用的角度来看,PAT具有更好的可扩展性,而且能够降低访问Internet所需要的公共IP地址的数量。第4章将会讲到客户端如何使用PAT来访问具有相同IP地址的多个资源。
本文仅用于学习和交流目的,不代表异步社区观点。非商业转载请注明作译者、出处,并保留本文的原始链接。