NAT 通过维护(internal IP, internal port)
和之间的映射表来工作(external IP, external port)
。但是UDP和TCP都有16位的端口号,这意味着该表最多可以有65536*2个条目(假设只有一个公共IP分配给这个私有网络)。既然每台电脑都有很多连接,一个不是很大的私有网络很快就会填满这张表,对吧?那么如何处理外部IP上缺少端口呢?
NAT 如何为大型专用网络工作?
网络工程
纳特
2021-08-02 04:19:32
2个回答
根据经验,我将防火墙的大小设置为每个用户 250 个 tcp 会话。这现在偏高,但随着人们开始使用越来越多的云服务(Dropbox、Office365 等),每个用户的会话数量只会在不久的将来增加,所以我更愿意在安全的一面。这意味着单个公共 IP 足以为 250 个用户进行 NAT。
如果您有更多用户,则需要为 NAT 使用更多公共 IP 地址。这称为 NAT 池。您的防火墙将根据需要使用池中的 IP 分配 IP/端口组合。
在 Cisco IOS 中,您可以这样配置 NAT 池:
ip nat pool <name> <start-ip> <end-ip>
{netmask <netmask> | prefix-length <prefix-length>}
[type {rotary}]
如果您想了解有关 NAT 的所有信息,请查看Cisco 文档。这是一个很好的阅读。
他们不进行 NAT,使用多个 WAN IP 进行 NAT,或者使用代理、WAN 加速器或更多级别的 NAT 来减少出站连接的数量。