什么是 CGNAT(运营商级 NAT)?它为何会影响主机托管、游戏和入站服务?
CGNAT(Carrier-Grade NAT,运营商级网络地址转换)是一种技术,它允许互联网服务提供商让多个客户同时共享同一个公共 IPv4 地址,而不是为每位客户单独分配一个公共 IPv4 地址。 它会在服务提供商的网络内部增加第二层网络地址转换,因此数百甚至数千名用户都位于同一个公共地址之后,而外部互联网看到的只是这个共享的公共地址。
Table of Contents
Toggle对于日常网页浏览、流媒体播放和应用程序使用来说,CGNAT 通常不会被用户察觉。问题会在外部网络需要主动连接到你时出现,例如托管服务器、进行端口转发、运行游戏服务器、接收 VoIP 或 VPN 连接,或启用远程访问。由于你不再拥有属于自己的公共地址——而是与其他陌生用户共享同一个地址——传入连接无法明确知道应该被转发到哪一个用户,因此这些服务可能无法正常工作或变得不稳定。
CGNAT 并不是程序错误或配置错误。它是针对一个结构性现实而采取的有意解决方案:全球 IPv4 地址已经不足,而互联网服务提供商仍需要在公共地址数量有限的情况下继续连接新的客户。这使 CGNAT 成为普通用户最容易接触到的一个明显迹象,说明公共 IPv4 地址是一种有限且竞争激烈的资源;同时也清楚说明了为什么运行对外服务的企业需要拥有自己的专用公共地址空间。本文将介绍什么是 CGNAT、它如何运作、具体会影响哪些功能、如何判断自己是否处于 CGNAT 环境中,以及对于无法接受这些限制的企业来说,有哪些可行的解决方案。
什么是 CGNAT
CGNAT,也写作 CGN,有时也称为 Large-Scale NAT(LSN,大规模网络地址转换),是一种在运营商层面执行的网络地址转换技术,使 ISP 能够让多个客户共享同一个公共 IPv4 地址。 它延伸了家庭路由器中 NAT 的基本原理——多个私有设备共享一个地址——但会在服务提供商的网络层面再次执行一次,并同时覆盖大量客户。
这样一来,处于 CGNAT 后方的客户并不拥有一个唯一的公共地址。外部互联网所看到、并与其流量关联的地址,是与其他用户共享的,而且该地址由 ISP 控制,而不是由客户控制。对于由用户主动发起的出站连接,这通常不会造成问题。但对于任何依赖外部网络能够单独连接到该用户的服务来说,这个由服务提供商控制的共享地址正是问题的根源。
从一开始就明确区分这一点会很有帮助,因为它几乎解释了 CGNAT 会破坏的所有功能:由你主动发起的出站连接通常可以正常工作;而由其他人从外部主动尝试连接到你的入站连接,才是容易失败的部分。 从根本上来说,CGNAT 对客户端友好,却对服务器并不友好。
CGNAT 的工作原理是什么?
为什么互联网服务提供商要使用CGNAT?
ISP 使用 CGNAT,是因为没有足够的 IPv4 地址可以为每位客户分配一个唯一地址,而 CGNAT 能让他们在无需获取更多公共地址的情况下继续增加用户。
全球 IPv4 地址总量大约为 43 亿个,这一数量由协议的 32 位设计所决定,并且在多年前就已经在免费分配层面上基本耗尽。正如我们在 IPv4 地址枯竭 指南中所介绍的,负责分配地址的区域互联网注册管理机构已经逐渐用尽可用地址池,如今新的地址空间主要通过转让市场获得,而不是通过新的分配。对于正在增长的 ISP,尤其是需要新增数百万低使用量用户的移动运营商或住宅宽带提供商来说,为每位客户购买或租赁一个公共地址不仅成本高昂,而且当规模足够大时,实际上也很难获得足够数量的地址。CGNAT 可以让他们将有限的公共地址池扩展给更庞大的客户群体使用。
需要认识到的是,这种稀缺并不完全只是一个技术上的意外,它同样受到政策影响。IPv4 地址如何被分配、注册、转让和管理,是由区域互联网注册管理机构以及塑造整个互联网的更广泛多利益相关方机制共同治理的,这一领域通常被称为 互联网治理。谁能够获得地址空间、以什么条件获得,本质上既是治理决策,也是工程技术问题,而 CGNAT 正是这些决策与底层地址稀缺共同作用后最明显的下游结果之一。如果想进一步了解注册管理机构政策、地址分配与更广泛互联网治理之间的关系,链接中的资料提供了一个很有帮助的概览。
更客观地说,CGNAT 对于它原本设计的用途来说,是一种合理的工具。对于大量主要产生出站流量的用户——例如网页浏览、流媒体、社交应用和移动互联网使用——共享一个公共地址是一种节省稀缺资源的合理方式,而且大多数用户几乎不会察觉。但问题在于,“大多数用户、大多数时间都没有问题”并不等于“所有用户、所有使用场景都没有问题”,而这些例外恰恰往往是企业最关心的使用场景。
CGNAT 破坏了什么
CGNAT 会破坏任何依赖从外部互联网主动访问你的服务,因为它使你失去了接收未经主动发起的入站连接的能力。 具体会受到影响的包括:
- 端口转发。 这是最基础的问题,因为其他许多问题都由此而来。如果你无法控制一个公共地址,就无法将某个端口转发到网络中的设备,因此任何依赖端口转发的服务都将无法正常实现。
- 托管服务器。 Web 服务器、邮件服务器、应用服务器,或任何需要接收外部连接的服务,都无法通过一个稳定的公共地址被访问。对于企业来说,仅这一点就足以让 CGNAT 不适合任何自托管或本地部署服务的使用场景。
- 在线游戏和托管游戏服务器。 如果要为其他玩家托管游戏服务器,就必须具备接受入站连接的能力。即使只是作为普通玩家,CGNAT 也可能导致严格 NAT 问题、匹配失败,以及在依赖直接点对点连接的游戏中出现组队连接问题。
- VoIP 和视频通话。 语音和视频协议通常需要能够接收入站媒体流。CGNAT 的共享地址转换可能导致呼叫建立失败、单向音频以及连接中断,尤其是在企业电话系统中更为明显。
- VPN 服务器和远程访问。 在 CGNAT 环境中运行 VPN 端点,或使用 RDP、SSH 等远程访问工具连接位于该网络中的设备,通常都会失败,因为入站连接无法找到正确目标。对于希望启用远程办公的小型企业来说,这往往是一个出乎意料的问题。
- 点对点和直接连接。 一些需要在用户之间建立直接连接的应用程序——例如某些文件传输、协作工具和 IoT 工具——当连接双方都无法接收入站会话时,性能可能下降,甚至完全无法工作。
- 准确的地理位置和良好的 IP 信誉。 由于你与陌生用户共享同一个公共地址,因此也会受到他们行为的影响。该地址的 IP 信誉 反映的是所有共享该地址用户的整体行为,而它的地理位置通常反映的是运营商 NAT 设备所在的位置,而不是你的实际位置。这可能导致意外出现 CAPTCHA、访问被阻止或位置识别错误等问题;对于任何依赖可信地址开展业务的企业来说,这些问题都可能非常重要。
如何判断你是否落后于 CGNAT
-
- 比较两个地址。 在路由器的状态页面中找到 WAN 地址或 Internet 地址,然后使用连接到该网络的设备搜索“what is my IP”,查看外部互联网所看到的公共地址。如果路由器上的 WAN 地址与网上显示的公共地址不同,就说明你的流量在上游又进行了一次地址转换——这正是 CGNAT 的典型特征。(如果你拥有正常的公共地址,这两个地址通常应该一致。)
-
- 检查共享地址范围。 CGNAT 部署通常会为客户分配专门为此用途保留的地址范围:100.64.0.0/10(即 100.64.0.0 到 100.127.255.255)。如果路由器的 WAN 地址落在这个范围内,那么它就是运营商级 NAT 使用的共享地址,而不是公共地址。如果 WAN 侧显示类似私有地址的范围,例如 10.x,也可能表示运营商正在进行额外的地址转换。
CGNAT 与专用公网 IP
| 功能 | 位于 CGNAT 后方(共享地址) | 专用公共 IP |
|---|---|---|
| 出站网页浏览、流媒体、应用程序 | 可正常使用 | 可正常使用 |
| 端口转发 | 不可用 | 可用 |
| 托管服务器(Web、邮件、应用) | 无法实现 | 可以实现 |
| 托管游戏服务器 / 避免严格 NAT | 失败或性能受限 | 可正常使用 |
| VoIP / VPN 端点 / 远程访问 | 不稳定或无法使用 | 可正常使用 |
| 对地址信誉的控制 | 与陌生用户共享 | 仅由你自己使用 |
| 可预测的地理位置 | 运营商 NAT 所在位置 | 与你的地址分配相关联 |
| 稳定且可寻址的网络身份 | 否 | 是 |
CGNAT 企业版:何时会成为交易决定性因素
摆脱 CGNAT:选项
要摆脱 CGNAT,就需要通过以下三种主要方式之一,获得一个由你自己控制的公共 IP 地址。
- 向你的 ISP 申请公共 IP。 这是最简单的第一步。有些服务提供商会在客户提出申请后,将其移出 CGNAT,并分配一个专用公共地址;有时需要额外付费,有时则只提供给企业套餐。如果你的 ISP 提供这项服务,那么对于单一地点来说,这是投入最少、最直接的解决方案。它的限制在于:并不是所有服务提供商都提供这项服务;该地址仍然由 ISP 分配,因此如果你更换服务提供商,它通常无法随你迁移;而且在大规模使用时,能否获得足够地址完全取决于 ISP 自身的地址资源供应情况。
- 自带或获取属于自己的地址空间。 对于需要长期在多个服务或多个地点使用公共地址的企业来说,越来越多企业会选择获取自己的公共 IPv4 地址空间,而不是依赖服务提供商是否愿意为其分配地址。由企业自己控制的地址空间,可以通过自己的路由或服务提供商的路由进行公告,也可以在更换服务提供商或地点时随企业迁移,同时企业能够自行管理地址信誉,而不是被动继承他人的信誉——一旦入站服务成为企业运营的一部分,这种可迁移性和控制权就会变得非常重要。
- 租赁专用公共 IPv4。 对于大多数企业来说,租赁是获得可控公共地址空间最快的方式,同时无需承担一次性购买地址所需的大额前期成本。租赁的地址块能够提供专用且可路由的地址——不会与陌生用户共享,并可用于 CGNAT 所阻挡的入站服务——同时还可提供生产环境所需要的路由、反向 DNS 以及地址信誉控制能力。这也是为什么 CGNAT 的限制,会成为企业转向 IPv4 租赁 最常见的实际原因之一:它可以把“因为 ISP 把我们放在 CGNAT 后面,所以我们无法托管这个服务”,转变成“我们拥有自己的公共地址空间,可以直接部署服务”。如果企业有长期且稳定的需求,也可以比较永久购买的成本效益,并选择直接购买 IPv4 地址;最合适的选择取决于规模、使用周期,以及企业希望对地址空间拥有多大程度的控制权。
还有一点值得特别注意:普通消费者 VPN 并不能可靠地让你摆脱 CGNAT。通过 VPN 转发出站流量,只会改变外部互联网看到的出站连接地址,但并不会让你自己的所在地获得入站连接能力——你仍然无法在处于 CGNAT 后方的网络中托管服务器或进行端口转发。真正解决入站连接问题,需要的是你在网络端点能够控制的地址,而不仅仅是一条不同的出站流量路径。
实用清单
- 确认你是否处于 CGNAT 环境中:比较路由器的 WAN 地址与公共地址,并检查是否属于 100.64.0.0/10 地址范围。
- 整理哪些需求依赖入站连接:例如托管服务、端口转发、VoIP、VPN 端点、远程访问和游戏服务器。
- 如果你的需求仅限于出站连接,那么 CGNAT 通常已经足够——无需采取额外措施。
- 如果你需要入站连接能力,请向 ISP 询问是否可以提供专用公共 IP,以及具体的申请条件和费用。
- 对于多服务、多地点部署,或对地址信誉较为敏感的需求,可以考虑获取或租赁自己的公共 IPv4 地址空间,而不是完全依赖服务提供商分配地址。
- 不要认为普通消费者 VPN 就能解决问题——它改变的是出站流量显示出来的地址,而不是让你的网络获得入站连接能力。
- 同时考虑地址信誉和地理位置因素:由自己控制的专用地址,可以避免 CGNAT 共享地址所带来的这些问题。
来自 i.lease 的实用提示
CGNAT 让 IPv4 稀缺不再只是一个抽象的行业话题,而变成企业会真正撞上的一道墙。问题出现时,情况往往都很相似:一家公司只是想做一些很普通的事情——部署一台服务器、启用远程访问、托管一项服务,或运行电话系统——结果却发现根本无法正常工作,因为服务提供商为了节省多年前就已经短缺的 IPv4 资源,悄悄把他们放在了一个共享地址后面。问题从来不在他们的配置,而在于他们一开始就根本没有属于自己的公共地址。
这正是为什么公共 IPv4 地址至今仍然具有真实运营价值,而不是一个已经被彻底解决的问题。一个由你自己控制的地址,才能让入站服务真正可用;它承载的是由你自己管理的地址信誉,而不是被动继承他人的信誉;而且随着基础设施变化,它仍然可以继续为你所用。CGNAT 通过拿走这种控制权来节省地址资源;而通过服务提供商分配、使用自己的地址空间,或通过租赁把这种控制权重新拿回来,正是把一个只能“使用”互联网服务的网络,转变成一个也能够“提供”互联网服务的网络。对于业务计划依赖外部可达性的企业来说,这一区别至关重要,因此最好主动解决,而不是等到部署失败时才发现问题。
Final Thoughts
相关阅读
常见问题解答
CGNAT(运营商级NAT)是互联网服务提供商(ISP)用来在多个客户之间共享一个公网IP地址,而不是为每个客户分配独立IP地址的一种方法。它节省了稀缺的IPv4地址,但意味着您没有自己的公网地址,这会影响需要从外部访问的服务。
将路由器状态页面中显示的 WAN/Internet 地址与互联网上显示的您的公网地址进行比较(搜索“我的 IP 地址是什么”)。如果两者不同,则说明您使用的是 CGNAT。路由器 WAN 地址位于 100.64.0.0/10 网段是一个明显的特征,因为该网段通常用于运营商级 NAT。
是的。端口转发需要控制一个公网 IP 地址,而在 CGNAT 环境下,您共享的是由服务提供商控制的地址,而不是拥有自己的地址。如果没有这种控制权,您就无法将端口转发到网络上的设备,这就是为什么自托管服务和许多入站服务在 CGNAT 环境下会失败的原因。
由于 IPv4 地址资源已耗尽,不足以为每个用户分配一个唯一的地址,CGNAT 通过在多个用户之间共享公共地址,使运营商能够在不获取更多公共地址的情况下,持续增加用户数量——尤其适用于大量低流量的移动和住宅用户。
并非如此。对于浏览网页、流媒体播放和应用程序等出站流量较大的应用,CGNAT 工作正常,大多数用户甚至感觉不到它的存在。问题主要出现在入站流量较大的应用场景,例如主机托管、端口转发、游戏服务器、VoIP、VPN 和远程访问,因为共享由服务提供商控制的地址会导致连接中断。
通常情况下是可以的。许多互联网服务提供商 (ISP) 会根据请求分配专用公网 IP 地址,有时会收取费用或包含在商业套餐中。有更广泛需求的企业也会获取或租赁自己的公网 IPv4 地址空间,这样可以提供可控且可移植的地址,而无需依赖单一服务提供商的意愿或地址可用性。
确实如此。为他人架设游戏服务器需要入站连接,而 CGNAT 会阻止这种连接。即使是玩家,CGNAT 也常常会导致“严格 NAT”状态,从而造成匹配失败、组队连接问题,以及难以运行需要直接对等连接的游戏。
这是一个专门为运营商级NAT部署保留的地址范围(定义于RFC 6598),用于ISP分配给CGNAT后方客户的地址。如果您的路由器WAN地址位于此范围(100.64.0.0至100.127.255.255)内,则您位于运营商级NAT之后。
并非针对入站访问。消费级 VPN 会更改外部看到的出站流量地址,但不会阻止他人访问您 CGNAT 连接位置的服务器或服务。要解决入站访问问题,需要在您的终端节点上拥有一个可控的公网地址,而不仅仅是更改出站路径。
是的。租用专用的公共 IPv4 地址可以让企业拥有自己控制的、可路由的地址(不与陌生人共享),这些地址适用于 CGNAT 所涵盖的托管、远程访问、VoIP 和 VPN 服务,同时还能控制地址的信誉和地理位置。这是企业租用 IPv4 地址空间最常见的实际原因之一。
CGNAT (Carrier-Grade NAT) is a technique that lets an Internet service provider share a single public IPv4 address among many Read more
电信公司(Telco Companies),也称为电信运营商(Telecommunications Companies),提供通信与网络连接服务。这些服务包括移动通信网络、宽带互联网、光纤连接、固定电话服务、企业网络连接、云连接、托管网络服务以及数据中心连接等。 对于普通消费者而言,电信公司通常被视为移动通信或宽带互联网服务提供商。对于企业来说,电信公司远不只是一个服务品牌,更是关键的基础设施合作伙伴,帮助企业连接办公室、数据中心、云平台、远程员工、客户应用程序以及各类数字化服务。 随着企业越来越依赖云平台、SaaS 应用、AI 工具、VPN、网络安全系统以及在线服务,电信公司已成为数字基础设施规划中不可或缺的重要组成部分。 电信公司是什么? 电信公司(Telco Companies)是提供电信服务的企业。这些服务让个人、设备、企业和各种系统能够跨越距离进行通信与连接。 一家电信公司可能提供以下服务: 移动通信服务 宽带互联网 光纤连接 固定电话服务 企业互联网接入 企业广域网(WAN)服务 云连接服务 数据中心连接 VPN Read more
TCP 和 UDP 是互联网中最重要的两种传输层协议。它们决定数据如何在设备、服务器、云平台、VPN 网关、DNS 解析器、电子邮件系统、流媒体平台以及企业应用程序之间传输。 对于企业而言,TCP 和 UDP 不仅仅是技术术语,它们会直接影响实际的基础设施性能。公网 IPv4 地址提供可从互联网访问的网络端点,而 TCP 和 UDP 则决定流量如何通过该端点进行传输。 这对于租用或购买 IPv4 地址的企业尤为重要。企业租用 IPv4 Read more
