CGNAT: что это такое и почему это важно для пользователей VPN

Если вы когда-либо пытались настроить проброс портов и у вас ничего не получалось — что бы вы ни делали — причиной может быть CGNAT. Это одно из тех закулисных сетевых решений, принимаемых вашим провайдером, которое имеет вполне реальные последствия для того, как вы пользуетесь интернетом.

Что такое CGNAT?

Carrier-Grade NAT (также называемый Large-Scale NAT или CGN) — это метод, который интернет-провайдеры используют для растягивания иссякающего запаса IPv4-адресов. Вместо того чтобы выдавать каждому клиенту собственный уникальный публичный IP-адрес, провайдер одновременно назначает один публичный IP большой группе клиентов. С точки зрения внешнего мира десятки и даже сотни домохозяйств используют один и тот же IP-адрес.

Представьте себе многоквартирный дом с одним почтовым адресом. У самого здания есть этот единственный публичный адрес, однако внутри находятся десятки отдельных квартир. Почта (интернет-трафик) приходит в здание, а система внутри направляет её в нужную квартиру. CGNAT и есть эта система маршрутизации — только в значительно большем масштабе, на уровне провайдера.

Как работает CGNAT

Стандартный NAT, который уже выполняет большинство домашних роутеров, транслирует ваш локальный приватный IP (например, 192.168.x.x) в публичный IP вашего роутера. CGNAT добавляет поверх этого ещё один уровень. Вашему роутеру назначается приватный IP из диапазона 100.64.0.0/10 (зарезервированного специально для CGNAT), а система провайдера затем транслирует его в единый общий публичный IP-адрес.

Таким образом, путь выглядит следующим образом:

Ваше устройство → NAT домашнего роутера → система CGNAT провайдера → публичный интернет

Именно эта двойная NAT-конфигурация и создаёт столько проблем. Любой отправленный вами запрос может получить ответ, направленный обратно к вам, поскольку система отслеживает исходящие соединения. Но входящие соединения — инициированные извне — просто некуда направить. Система CGNAT не знает, кто из её многочисленных клиентов должен получить незапрошенный входящий запрос.

Почему CGNAT важен для пользователей VPN

CGNAT создаёт ряд практических проблем, которые напрямую влияют на производительность и функциональность VPN:

Проброс портов становится практически невозможным. Запуск домашнего сервера, игрового сервера или любого другого сервиса, требующего подключения извне, блокируется CGNAT. Правила проброса портов, настроенные на домашнем роутере, не работают, поскольку уровень CGNAT провайдера находится перед ним.

Соединения peer-to-peer деградируют. Торрентинг, игры с прямыми соединениями между пользователями и приложения на основе WebRTC плохо работают в условиях CGNAT. Эти технологии требуют доступности из-за пределов вашей сети, а CGNAT это предотвращает.

Проблемы с репутацией общего IP. Поскольку сотни пользователей делят один публичный IP, если кто-то из них занимается рассылкой спама или злоупотреблениями, этот IP может попасть в чёрный список. Все, кто его использует, затем страдают от последствий — заблокированных сайтов, CAPTCHA или помеченных аккаунтов.

Размещение VPN-сервера дома заблокировано. Если вы хотите самостоятельно развернуть сервер WireGuard или OpenVPN дома, чтобы подключаться к домашней сети в поездках, CGNAT полностью заблокирует входящие VPN-соединения.

Чем помогает VPN (и в чём его ограничения)

Использование коммерческого VPN-сервиса позволяет обойти многие проблемы CGNAT. При подключении к VPN ваш трафик выходит через сервер VPN-провайдера, у которого есть реальный, публично маршрутизируемый IP-адрес. Это позволяет обойти проблему общего IP и восстановить более прямое интернет-соединение.

Некоторые VPN-провайдеры также предлагают проброс портов в качестве функции, что позволяет входящим соединениям достигать вас через VPN-туннель — решая именно ту проблему, которую создал CGNAT. Выделенный IP-адрес от VPN-провайдера — ещё одно решение, если вас затрагивают проблемы с репутацией общего IP.

Однако VPN не исправит автоматически CGNAT для входящих соединений, если конкретная функция проброса портов не включена и не настроена.

Общая картина

CGNAT существует потому, что IPv4-адреса закончились. Долгосрочным решением является IPv6, который предоставляет достаточно уникальных адресов для каждого устройства на планете. Многие провайдеры постепенно внедряют IPv6, но до тех пор пока его распространение не станет всеобщим, CGNAT остаётся распространённым решением — и распространённым источником разочарования для технически грамотных пользователей.