最顶  

CGNAT:运营商级 NAT 完全指南 [2024]

音频版本(按下播放并无缝滚动浏览文章 ▶️🎶)

运营商级 NAT(CGNAT)允许互联网服务提供商使用有限的公共 IP 地址为大量客户提供互联网接入服务。它是解决 IPv4 地址耗尽问题的 "临时 "方案,预计一旦 IPv4 地址耗尽,它将被完全淘汰。 IPv6 已被广泛采用.

CGNAT 为互联网服务供应商带来了巨大的好处。它可以帮助互联网服务供应商节省公共 IPv4 地址的费用,保护他们的 IP 池。遗憾的是,CGNAT 也有一些需要考虑的缺点。 

在本博文中,我们将讨论 CGNAT 的基本知识、其优点和缺点,以及如何确定您是否正在使用 CGNAT。我们还将讨论 CGNAT 的一些替代方案和变通方法。

CGNAT 指南

免责声明: 免责声明:本材料仅供参考。它并不构成对任何活动(包括非法活动)、产品或服务的认可。在使用我们的服务或依赖此处的任何信息时,您全权负责遵守适用的法律,包括知识产权法。对于因以任何方式使用我们的服务或此处包含的信息而造成的损害,我们不承担任何责任,除非法律明确要求。

目录 

  1. IPv4 枯竭:电信运营商面临的问题
  2. CGNAT 简介。
    1. NAT 101
    2. CGNAT 101 
  3. CGNAT 的好处。
  4. CGNAT 的缺点。
  5. CGNAT 替代方案和变通方法。
    1. 运营商(和互联网服务提供商)的 CGNAT 替代方案。 
    2. 为最终用户提供 CGNAT "变通方法"。
  6. 确定您(作为家庭用户)是否在 CGNAT 后面。 
  7. 常见问题(FAQ)
  8. 结语。 

1.IPv4 枯竭:电信运营商面临的问题

IPv4 是互联网上最主要的连接协议。总共有 4,294,967,296 个可能的 IPv4 地址--这个数字在 20 世纪 80 年代 IPv4 刚诞生时似乎还不少。但从那时起,互联网的发展却出乎意料地迅猛。

尽管如此,为了避免 IPv4 地址耗尽,还是有各种措施,如 CIDR、私有寻址(......)、......等。RFC1918)、NAT、IPv6 采用等。 

尽管这些举措已经实施了一段时间,但正式的 IPv4 已经结束。在 IANA (管理 IPv4 地址的全球性组织)的 IPv4 地址池已经用完,因此只有区域互联网注册管理机构(RIR)可以分配新的 IPv4 地址。目前,只有少数区域互联网注册管理机构的 IPv4 地址池中仍有 IPv4 地址,但它们已经开始 IPv4 的轮换。此外,印度和中国等一些国家已经面临 IPv4 地址短缺的问题。

要应对这些挑战,长期和唯一的解决办法就是全面迁移到 IPv6。虽然 IPv6 已在一些国家得到使用,但由于种种原因,全面采用 IPv6 需要很长时间。

全额扣款 IPv6迁移 并利用 老式 NAT 提供的大量可用 IPv4 空间, 电信运营商和服务提供商已开始在其网络中更大规模地实施双 NAT。

这种解决方案被称为运营商级 NAT (CGNAT) 

2.CGNAT 简介。 

运营商级 NAT(CGN 或 CG-NAT)在 2014 年左右开始被移动网络运营商大量使用。当这些运营商看到移动网络对 IPv4 地址的需求急剧增加时,他们迅速采用了双 NAT-CGNAT 技术。 

要了解运营商级 NAT,我们必须先了解一下 NAT(其低级版本)。

a.NAT 101

注意::如果您已经了解 NAT 的基础知识,请跳至下一节。

NAT 是一种网络工具,它允许专用局域网上的多个设备共享一个公共 IP 地址进行公共通信。 它作为一个中介,在私人域和公共域之间转换 IP 地址和端口。NAT 是暂时解决 IPv4 可用性有限问题的完美解决方案。

NAT 如何工作?请参考下图。 

  1. 一台在专用网络中拥有专用 IP 地址(10.0.0.1)的 "主机 "希望与互联网上拥有公共 IP 地址 200.100.10.1 的外部 "服务器 "通信。 
  2. 启动请求。 主机 "通过路由器 + NAT 与外部 "服务器 "通信,路由器有专用和公用接口(端口)。路由器的专用网络接口位于同一个 10.0.0.0 /8 网络上,而它的接口则配置了公共 IP(150.150.0.1)。路由器 + NAT 服务器接收到数据包后,会使用 NAT 协议将内部/源 IP 10.0.0.1 映射到外部/源 IP (150.150.0.1),同时保留目标 IP 地址不变。 
  3. 收到回复。 外部 "服务器 "收到数据包后,会响应路由器的 IP(150.150.0.1),而不是内部的 10.0.01(因为 "服务器 "不知道专用网络)。路由器 + NAT 服务器接收到外部/目标 IP (150.150.0.1) 上的数据包后,会将其再次映射到内部/目标 IP 10.0.0.1,同时保留源 IP 地址不变。 
NAT 如何工作
图片来源:维基百科 公共领域

NAT 的一些优点和缺点。

正如本节开头提到的,NAT 允许私人使用数千到数百万个 IPv4(取决于使用的 IP 地址类别)。NAT 因其固有的安全性,一直被用于私人网络(家庭到小型企业)。此外,NAT 还能让网络管理员或客户对其内部设备如何访问外部网络进行更多控制,并简化操作。 

对于电信运营商和服务提供商来说,NAT 的一个缺点是节省 IPv4 的效率不高。 为了向所有客户提供互联网服务,他们需要为每个客户设备(CPE)的外部接口分配一个唯一的公共 IPv4 地址。

为了避免 IPv4 枯竭问题,并为更多的人提供互联网,他们恢复了 CGNAT 解决方案。

b.CGNAT 101 

如前所述,CGNAT 是一种提供大规模 NAT 的 IPv4 网络解决方案。事实上,它也被称为大规模可扩展 NAT 或大规模 NAT (LSN)。运营商使用 CGNAT 为多个通信端点(CPE)配置私有 IPv4 地址,以便在一个(或几个)共享公共 IPv4 地址下将它们连接到互联网。

CGNAT 如何工作? 

CGNAT 的工作原理与传统的 NAT 类似(但有一些例外)。它遵循正常的私有到公有的转换(反之亦然),但最大的区别是 CGNAT 对更多设备执行双 NAT。 

为了更清楚起见,让我们参考下图。 

CGNAT 如何工作

(1) 客户专用网络

客户 1、客户 2 和客户 3 各自运营自己的专用 IPv4 网络 ( RFC1918).每个用户家中都有自己独一无二的用户端设备 (CPE),由其执行第一次 NAT。该 NAT 过程包括将 RFC1918 将客户的私有 IP 地址分配到指定用于运营商级 NAT(CGN)的预留 IP 地址空间。在专用网络内,每个用户的 CPE 都被分配一个唯一的端口号,称为端口分配。端口分配有助于区分共享同一公共 IP 地址的不同用户,并帮助管理他们的个人通信。

(2) 提供商专用网络:CGNAT 在行动!

CPE 将出站流量转发到 ISP 的网络,也就是 CGNAT 服务器所在的网络。CGNAT 使用预留的 IP 地址空间(......)执行第二次 NAT。RFC6598) 100.64.0.0/10.它将出站流量的私有源 IP 和端口替换为其池中的公网 IP 和端口。此外,为确保共享同一公共 IP 地址的多个用户的流量能被正确识别和路由,CGNAT 还为每个 CPE 分配了唯一的端口号。

注 1: 服务提供商的网络使用 "100.64.0.0/10 "区块(2012 年由 IANA 分配)。该区块明确保留给 CGNAT 使用,既不用于公共互联网的全球路由,也不用于专用网络。相反,它纯粹用于服务提供商的基础设施。该区块最大限度地减少了 IP 地址冲突,有助于向 IPv6 过渡。

注 2: 值得注意的是,CGNAT 是有状态的。这意味着 CGNAT 路由器会维护一个映射表,其中包含每个连接的状态信息以及私有 IP 地址和公有 IP 地址之间的转换信息。    

(3) 公共 IP 地址。

提供商的专用网络(RFC6598 或 100.64.0.0/10)会被转换为公共地址 203.0.113.1。这样,多个客户就可以共享这个 IP 或数量有限的公共 IP 地址。在本例中,公共地址 203.0.113.1 是一个用于说明和记录的地址。

3.CGNAT 的好处。 

CGNAT 的出现是为了解决 IPv4 枯竭的痛苦。虽然 CGNAT 本身对电信运营商和互联网服务提供商(在他们接受 IPv6 的同时)是一个巨大的优势,但它并不是一个长期的解决方案。

a.解决 IPv4 稀少的问题。

CGNAT 是应对 IPv4 地址稀缺挑战的创新解决方案。该解决方案的理念在于,它能够让多个用户(不是单个居住地或建筑物的用户,而是整个地区的用户)共享一组较小的公共地址。有了这种解决方案,互联网服务提供商和运营商就有了更大的可扩展性。它们可以使用一组较小的公共 IP 地址来满足更多用户的需求。在全球慢慢过渡到 IPv6 的过程中,CGNAT 只是一个临时解决方案。

b.加强安全

与 NAT 一样,CGNAT 也为互联网连接带来了额外的安全保护。由于它能将私有 IP 转换为公用 IP,因此能加强连接和路由器的安全性。它可以隔离内部网络设备,防止外部实体未经授权的访问。它能保护客户的设备免受针对特定公共 IP 地址的潜在攻击。

c.简化网络管理。 

CGNAT 简化了 ISP 专用网络的网络寻址和分配管理。单个 CGNAT 可将客户的专用地址转换为较小的公共 IP 池。此外,CGNAT 还能集中管理地址分配。它减少了为每个客户管理单个公共 IP 的复杂性。

4.CGNAT 的缺点。

CGNAT 有很多缺点,尤其是对最终用户--客户而言。 

a.客户对网络安全性和可靠性的关注。

与其他形式的 NAT 类似,CGNAT 破坏了端到端通信原理。这一挑战涉及与安全性和可靠性相关的问题。CGNAT 提供的共享环境意味着多个用户和设备使用同一个公共 IP 地址进行互联网通信。一方面,CGNAT 为攻击者瞄准网络内的特定设备提供了一种烟幕,但另一方面,它也扩大了攻击面。因此,如果攻击者以该内部网络中的一台设备为目标,那么攻击可能会影响到共享相同 IP 的所有其他设备。 此外,共享 IP 地址还可能导致共享该 IP 地址的其他客户 "声誉受损"。如果共享同一 IP 的其他用户被禁止访问网站,可能会导致被 "不公平地 "阻止或限制访问网站。如果您被不公平地禁用,请学习如何解决"我的 IP 已被禁用" 错误。

b.依赖互联网直接通信的设备、应用程序或服务面临的挑战。

同样,CGNAT 打破了家庭设备与互联网服务的端到端通信。它限制了客户从外部接入家庭网络的能力。由于 CGNAT 增加了一个新的中间层,因此会影响任何直接的互联网连接。使用 CGNAT 连接的客户在使用依赖于直接互联网连接的设备、应用程序或服务时可能会遇到问题。 

使用 CGNAT 时,客户通常无法自主执行端口转发或点对点连接等任务。 他们的 CPE 实际上是运营商控制下的受管虚拟路由器。如果没有端口转发和点对点(使用公共 IP),客户将很难建立基于家庭的服务器,如虚拟主机、在线游戏、视频流和 VoIP 服务。此外,客户也无法在家庭环境中轻松集成各种互联网连接设备,如物联网(IoT)(如家庭自动化)。

c.监控、调查和追踪互联网访问和活动

实施 CGNAT 还可能导致电信运营商和互联网服务提供商测量、监控和记录访问的方式更加复杂。这一问题会阻碍有效的刑事调查和对可疑活动的监控。如果无法记录、跟踪和记录与公共 IP(标识)相关联的私人通信,执法机构将很难追查犯罪活动。任何使用共享 IPv4 公共 IP 的人都可能从事网络犯罪活动,如在线欺诈、非法内容传播、网络欺凌、垃圾邮件等。不过,虽然在双 NAT 情况下追踪连接是一项挑战,但在互联网服务供应商的配合下(通过 IP 地址和时间戳的关联),还是有可能实现的。 

d.延迟挑战。 

CG-NAT 带来的最大挑战之一就是延迟问题。这种不可避免的时间延迟会对用户体验产生不利影响,尤其是那些依赖于在线游戏、直播流或视频会议等实时应用程序的用户。额外的网络处理层--CGNAT(执行额外的 NAT 并将流量路由至碎公网 IP)不可避免地会增加时间。不幸的是,CG-NAT 的部署会让 ISP 的客户,尤其是在线游戏玩家感到沮丧。

5.CGNAT 替代方案和变通方法。 

a.运营商(和互联网服务提供商)的 CGNAT 替代方案。 

虽然运营商可以继续扩展其 IPv4 寻址计划、重复使用 IPv4 或简单地扩展其 CGNAT 域,但真正能替代 CGNAT 的最佳方案(在运营商或承运商层面)是 IPv6.毫无疑问,IP 版本 6 将解决臭名昭著的 IPv4 枯竭问题。它将为大量用户提供互联网接入,并使 NAT 和 CGNAT 永远消失。然而,IPv6 的全面普及和过渡还需要很长的时间。 迁移到 IPv6 的原因和好处). 

b.为最终用户提供 CGNAT "变通方法"。

如何前往 CGNAT? 在家庭用户层面,有许多 CGNAT 替代方案可供家庭用户使用,不一定要绕过 CGNAT(因为该中介机构提供互联网接入),但可以将家庭网络暴露在互联网上。唯一的例外情况(这不是一种变通办法,而是一种解决方案)是获得一个静态 IP 地址。

  • 获取静态 IP
  • 虚拟专用网络
  • SSH 隧道
  • SOCK5 代理
  • 托尔
  • 动态 DNS
变通办法说明优势局限性
静态 IP从 ISP 获取一个静态 IP 地址。直接接入,适合托管服务需要配置;不需要 CGNAT。
虚拟专用网络绕过 CGNAT,通过远程服务器加密和路由流量的安全隧道。提供隐私和安全保护;隐藏真实 IP 地址。可能会带来一些延迟;需要可靠的 VPN 服务。
SSH 隧道使用 SSH 在计算机和远程服务器之间创建隧道,允许使用真实 IP 进行访问。提供直接访问互联网的安全连接。需要技术知识;可能不支持所有应用程序。
SOCKS5 代理通过代理服务器路由流量,掩盖真实 IP 地址。易于设置;可用于特定应用。仅限于代理支持的应用程序。
托尔通过中继网络路由流量,以匿名方式连接并绕过某些限制。匿名性、访问被屏蔽内容的潜力性能影响,并非所有网站都支持 TOR。
动态 DNS更新 DNS 记录,以反映不断变化的 IP 地址,这对托管资源很有帮助。适用于托管服务;可绕过 CGNAT 的某些限制。需要配置;不需要 CGNAT。

6.如何确定您(作为家庭用户)是否坐在 CGNAT 后面。 

a. 检查路由器的 WAN IP 地址。 

如果路由器的广域网 IP 地址在 100.64.0.0/10 范围内,那么您很可能在 CGNAT 后面。 如前所述,该 IP 地址范围保留给 CGNAT 使用。 

  • 要检查广域网,请登录家用路由器的界面。方法是在浏览器中输入路由器的 IP 地址(如 192.168.0.1 或 192.168.1.1)。 
  • 登录后,查看路由器的状态页面,找到您的 WAN IP 地址。
检查 CGNAT

b. 使用在线工具检查您的公共 IP 地址。 

有许多免费的公共 IP 查询网站,如 Whatismyip我的 IP 地址是什么? IPChicken 可以用来检查您的公共 IP 地址。 

  • 如果您获得的 IP 地址与路由器广域网接口的 IP 地址不同,那么您很可能处于 CGNAT 的后方。 
  • 如果您在这里看到的 IP 地址与分配给路由器广域网接口的 IP 地址一致,那么您可能不在 CGNAT 后面。
IP 查询
照片来自 ip鸡

c. 使用跟踪路由工具。 

运行跟踪路由到你的公共 IP 地址。跟踪路由是所有常见操作系统内置的网络实用工具。它可以用来查看流量到达目的地的路径。如果跟踪路由显示从您的公网 IP 地址到您的私有 IP 地址有两个或两个以上的重复跳转,那么您很可能在 CGNAT 后面。

让我们模拟一次跟踪路由(不使用 CGNAT)。  

路线追踪
  • 在上例中,没有重复的私有 IP 地址。从路由器的私有 IP 到 ISP 的路由器 IP (2),再到 ISP 的网关 IP (3),最后到 ISP 的公网 IP,然后到达目的地 IP,可以看到一个清晰的过程。这种模式表明路径中没有中间 CGNAT 网关。

我们来模拟一次跟踪路由(使用 CGNAT)。  

路线追踪
  • 在本例中,第 2、3 和 4 跳重复出现的私有 IP 地址表明,您的流量在到达 ISP 的公网 IP 之前,会经过一系列内部 CGNAT 网关。重复的私有 IP 地址表明,您的流量在到达互联网之前要经过多层 CGNAT。

追踪我们自己的公共 IP 时的真实 traceroute 结果。 

为 CGNAT 追踪路线
  • 第一跳(192.168.1.1)是本地路由器的私有 IP 地址(RFC1918)。
  • 第二跳,两个 (*) 未响应跟踪路由请求(可能是由于防火墙或 ICMP 过滤)。这一跳可能是路由器的接口 WAN IP、中间设备或任何其他 ISP 或 CGNAT 基础设施。 
  • 下面的第 3 跳和第 4 跳显示了 A 类专用网络的存在。这两个专用 IP 地址可能是 ISP 网络的内部路由点(与广域网 IP 位于同一网络内)。 

根据跟踪路由结果,我们可以得出结论,流量在到达公共 IP(接口)之前,正在穿越 ISP 的内部网络。 这在 ISP 网络设置中是完全正常的,正在使用的专用 IP 地址并不一定表示 CGNAT 的存在。 

7.常见问题(FAQ)

a.电信运营商、运营商或互联网服务提供商为什么要采用 CGNAT?

CGNAT 的采用与 IPv4 地址的稀缺性密切相关。由于对移动电话等 IPv4 设备的需求增加,运营商不得不更大规模地采用 NAT。他们采用双 NAT 或 CGNAT 不仅能为自己节省一些 IPv4 空间,还能在 IPv4 地址有限的情况下继续为更多设备提供连接。

b.涉及 CGNAT 的常见情况有哪些?

运营商可将 CGNAT 用于 IPv4 地址共享(在固定运营商或移动网络中),也可用于轻型双协议栈(或过渡到 IPv6)。 

c.如何建立 CGNAT?

CGNAT 的实施属于运营商或 ISP 层面的任务(不在本指南的讨论范围内)。但一般来说,要建立 CGNAT,运营商需要适当的硬件(路由器、交换机或服务器)、软件解决方案和强大的网络基础设施来容纳多个用户。配置 CGNAT(与 NAT 类似)需要端口映射、会话跟踪和地址分配策略(如分配 IP 池)。 

d.什么是 NAT444? 

是一种网络架构,旨在应对 IPv4 地址稀缺和向 IPv6 过渡所带来的挑战。它包括使用两个网络地址和端口转换器(NAPT)以及三种类型的 IPv4 地址块,以促进不同网络设备之间的通信。使用 NAT4444 时,网络流量在到达目的地之前要经过三次 NAT。 

e.什么是 NAT64,为什么与 CGNAT 相关? 

NAT64 可促进纯 IPv6 网络和纯 IPv4 网络之间的通信。它允许纯 IPv6 设备通过 NAT 与纯 IPv4 服务器通信,将 IPv6 数据包转换为 IPv4,反之亦然。当互联网服务提供商的网络主要使用 IPv6 但需要提供 IPv4 资源访问时,这与 CGNAT 尤为相关。

f.VPN 作为 CGNAT 的变通办法有多有效?

总之,VPN 是一种有效的 CGNAT 解决办法。只要您选择可靠、值得信赖的 VPN 服务,VPN 就能绕过 CGNAT。不过,在决定使用哪种 VPN 作为变通办法之前,考虑自己的具体需求(如速度要求、隐私问题和绕过 CGNAT 的能力)始终是至关重要的。

g.如何在 CGNAT 后面执行端口转发?

由于对公共 IP 地址和网络配置的控制有限,在 CGNAT 后面执行端口转发可能具有挑战性。一些潜在的解决方案包括使用 UPnP(如果支持)、利用端口转发服务或考虑使用具有端口转发功能的 VPN,将设备上的特定端口暴露给互联网。不过,这些方法的效果可能各不相同,而且它们可能无法提供与非 CGNAT 环境中传统端口转发相同的控制水平。

8.最后的话 

CGNAT 是一种有争议的技术。使用它既有好处也有坏处。最终,是否使用 CGNAT 由每个 ISP 决定。虽然 CGNAT 可以帮助互联网服务供应商节省 IPv4 公共寻址空间的费用,但对于最终用户来说,它也有很多潜在的缺点,互联网服务供应商应该加以考虑。 

总之(针对客户): 

  • 如果您使用的是 CGNAT,您的家庭网络将无法获得自己的公共 IP 地址。这可能会影响某些应用程序的性能,并增加访问某些在线服务的难度。
  • 此外,如果您在 CGNAT 后面,您可能无法托管家庭服务器或使用在线游戏、网络电话或文件共享而不会出现滞后和延迟。
  • 尝试本指南中提出的任何绕过 CGNAT 的变通解决方案。使用 VPN 或代理.或者最好向 ISP 询问是否有可用的静态 IPv4 公共地址。 

利用 RapidSeedbox 的 IPv6 租赁解决方案超越 CGNAT 🌍

通过我们的 IPv6 解决方案,成为极少数能够直接连接并完全覆盖您的 IP 的企业之一。获得全天候支持和透明定价。

今日独家优惠:

关于作者 Diego Asturias

Diego Asturias的头像

Diego Asturias是一位科技记者,将复杂的技术术语转化为引人入胜的内容。他拥有美国华盛顿特区的互联网技术学位,并获得了思科、麦克菲和Wireshark的技术认证。他在拉丁美洲、韩国和西非拥有实际工作经验。他的作品曾出现在SiliconANGLE Media、Cloudbric、Pcwdld、Hackernoon、ITT Systems、SecurityGladiators、Rapidseedbox等媒体上。

加入 40K+ 新闻通讯订阅者行列

定期获取有关 Seedbox 使用案例、技术指南、代理服务器以及 隐私/安全提示。

把你的想法说出来

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注