我最近才知道 IPv4 公共 IP 地址池即将耗尽。如果 IPv6 地址得到充分使用,所有设备供应商(如 Cisco、Fortinet、Palo Alto)都必须重新设计他们的防火墙和路由器,以使其兼容配置 IPv6 地址。那么已经部署并在生产中工作的防火墙的情况如何?我们可以使用 IPv4 私有 IP 范围 NAT IPv6 公共 IP 吗?
IPv4 公网 IP 短缺对现有防火墙有何影响?
你来晚了:IPv4 地址已经用完了,而且已经用了很多年了。一段时间以来,所有主要制造商都在其产品中包含 IPv6 功能(在不同程度上)。
我们可以使用 ipv4 私有 ip 范围对 IPv6 公共 ip 进行 NAT。
由于 IPv6 地址很丰富并且分配为 /56,即使对于私人访问,也绝对不需要 NAT(这是处理 IPv4 公共地址稀缺的麻烦事)。为 IPv6 定义了 NAT64,但几乎没有支持 - 这是一件好事。
最近才知道ipv4公网ip地址池快用完了。
根据您对“精疲力竭”的定义,它们已经是。
不过,这并不是说您无法获得 IPv4,只是价格在上涨。
实际上,随着价格上涨,公司将重新评估他们在何处使用 IPv4。以前以公共 v4 地址作为标准的连接可能最终会落后于某种形式的 IPv4 地址共享机制。如果您想要一个块,以前带有一个块作为标准的连接可能只带有一个作为标准的地址,需要额外费用。
如果 ipv6 地址被完全使用。所有设备供应商,如 cisco、fortinet、Paloalto,都必须重新设计他们的防火墙和路由器,以兼容配置 IPv6 地址。
大多数供应商现在确实支持 IPv6,尽管支持的功能可能会有所不同。
那么防火墙已经部署并在生产中工作的情况如何。
高度可变:(
我们可以使用 ipv4 私有 ip 范围对 IPv6 公共 ip 进行 NAT。
问题是,虽然您可以轻松地将 IPv4 地址封装在 IPv6 地址中,但您不能反过来。对于连接到 v4 服务器的 v6 客户端,这意味着丢失客户端的真实 IP 地址。对于连接到 v6 服务器的 v4 客户端,这意味着您的 DNS 网关必须有状态地绑定到您的 NAT 实现(我不确定是否有人实际实现了这一点,或者是否每个人都认为它太可怕了)。
那么已经部署并在生产中工作的防火墙的情况如何?
大多数专业设备似乎已经支持 IPv6。家庭设备制造商会告诉您购买新设备。(不幸的是,不支持IPv6的设备仍在销售!)
我们可以使用 IPv4 私有 IP 范围 NAT IPv6 公共 IP 吗?
“传统”IPv4 NAT 有一个主要区别:
使用传统的 IPv4 NAT,本地网络中的 IP 数据包包含 Web 服务器的公共地址。NAT 仅更改客户端(本地计算机)的地址。
使用具有不同地址长度的两种不同协议这当然是不可能的;NAT 必须替换这两个地址。
问题是第一个数据包被发送到某个 Web 服务器(以建立连接)。既不使用“传统”IPv4 NAT 也不使用 IPv6 到 IPv6 NAT 这是一个问题:
如果您想连接到某个网站,本地计算机会向该网站的地址发送一个 IP 数据包。因为本地网络中IP包中的目的地址与服务器的公网IP地址相同,所以NAT知道服务器的公网地址:就是本地IP包中的目的地址。
从 IPv6 客户端(NAT64 或 464xlat)连接到 IPv4 服务器有点棘手,但仍然可行:
因为本地网络的IP地址是128位长,而服务器的公网IP地址只有32位长,所以地址不能相等。但是,Web 服务器的 32 位 IP 地址可以简单地添加到某个 96 位前缀,以获得网络内部使用的服务器的 128 位 IPv6 地址。NAT 可以简单地找出服务器的公共 IP 地址:它是本地 IP 数据包中 128 位目标地址的最后 32 位。
反过来更难:
本地网络中的网络数据包将仅包含 32 位地址,但 Web 服务器的公共 IP 地址将是 128 位地址。这意味着不可能在本地数据包中发送服务器的完整公共 IP 地址。
当新连接的第一个 IP 数据包必须从本地网络路由到 Internet 时,NAT 必须有一些表来查找服务器的公共 IP 地址。
NAT46/DNS46 确实存在;当使用 DNS 查询某个仅支持 IPv6 的服务器的 IPv4 地址时,我看到的软件(它的来源可在 Internet 上获得)分配一个 IPv4 地址(可能在 10.xxx 范围内)给该服务器的 IPv4 地址。
这是相当复杂的,并且只有在使用的 DNS 服务器也位于 NAT 路由器上时才有效。
另一件事是代理服务器,因为它们被许多公司使用:
与 NAT 不同,代理服务器路由 TCP 有效负载(OSI 第 5 层及以上)。因此,即使是使用完全不同协议的两个网络之间的代理服务器(例如,在一个网络中使用 TCP/IP,而在另一个网络中使用 AppleTalk 数据流协议),其工作方式也与两个 IPv4 网络之间的代理服务器完全相同。如果一个网络使用 TCP/IPv4 而另一个网络使用 TCP/IPv6,情况也是如此。
当 Internet 仅支持 IPv6 时,可能有使用代理服务器的公司在本地网络中仍将使用仅支持 IPv4 的服务器。