LPX

CGNAT и публичный IP: диагностика входящих подключений

Короткий ответ

Как отличить CGNAT от double NAT, сравнить WAN и внешний IP, а затем выбрать public IPv4, IPv6, VPN, relay или reverse tunnel.

Содержание статьисвернуть ▾
  1. Начните не с порта, а с того, кому нужен доступ
  2. Восстановите цепочку от сервиса до Интернета
  3. Классифицируйте WAN до сравнения
  4. Сверьте адреса в одном временном окне
  5. Интерпретатор наблюдений и вариантов доступа
  6. Почему проброс порта не является полной проверкой
  7. Четыре результата и их практический смысл
  8. Альтернативы CGNAT: разные свойства и риски
  9. IPv6 как самостоятельная дорога
  10. Безопасность важнее статуса «порт открыт»
  11. Диалог с поддержкой без неоднозначного слова «белый»
  12. Финальная контрольная карта
  13. Источники

CGNAT и публичный IP: диагностика входящих подключений

Короткий ответ: сначала определите, нужен ли приватный вход к одному устройству или публикация сервиса для всех. Затем в одной сессии сравните WAN IPv4 роутера с IPv4, видимой внешнему узлу. Диапазон 100.64.0.0/10 при разных адресах убедительно указывает на операторский CGN. Адрес WAN из RFC 1918 сообщает о верхнем NAT, но им может оказаться ваш модем. Проброс на домашнем роутере не управляет транслятором провайдера. Выходом может стать подтверждённый public IPv4, IPv6 с точным firewall, исходящая overlay-сеть, vendor relay или обратный туннель — в зависимости от задачи и модели доверия.

Начните не с порта, а с того, кому нужен доступ

Панель домашнего NAS для двух владельцев, видеопоток камеры в фирменном приложении, игровой peer-to-peer и публичный webhook — четыре разных требования. Для первого разумна приватная сеть с идентификацией устройств. Второй может уже использовать облачный relay. Третий зависит от транспортов конкретной игры. Четвёртому нужен публично разрешённый endpoint и защита веб-приложения. Универсальное «открыть все порты» ухудшает безопасность и не устраняет CGN.

Запишите цель одним проверяемым предложением: «ноутбук из мобильной сети должен подключиться к SSH домашнего мини-ПК по приватному overlay» или «внешний HTTPS-клиент должен доставить webhook на один hostname». Укажите TCP либо UDP, целевой процесс, порт и допустимую зависимость от посредника. Такая формулировка сразу отсекает ненужный static IP, если достаточно relay, и не маскирует требование публичности, когда сервис предназначен незнакомым клиентам.

Для камеры выясните, что именно делает приложение. Инструкция о том, как проверить сетевые требования IP-камеры, помогает разделить локальную запись, просмотр через аккаунт и прямой поток. Если приложение работает при закрытом inbound, вероятнее всего устройство само соединяется с облаком; этот факт не подтверждает публичный адрес на роутере.

Восстановите цепочку от сервиса до Интернета

На листе отметьте сервер, его LAN-адрес и default gateway. Дальше нарисуйте домашний роутер, отдельный ONT или modem-router, распределительную сеть здания, если она известна, и границу ISP. Для каждой управляемой коробки запишите режим, LAN subnet, WAN address class и владельца DHCP. Полные внешние адреса и учётные данные в рабочем журнале не нужны.

Чтобы открыть локальные настройки роутера, подключайтесь из своей LAN и не включайте remote management. WAN может скрываться под названиями Internet status, IPv4 connection или uplink. Не перепутайте его с LAN IP панели, DNS resolver, default gateway провайдера либо MAC.

Если modem-router выдаёт вашему роутеру 192.168.0.2, а второй роутер создаёт 192.168.50.0/24, это домашний double NAT. У пользователя потенциально есть административный контроль над обеими границами. Если WAN уже 100.73.8.14, следующая трансляция обычно находится в сети оператора. Обе ситуации могут существовать одновременно: переключение домашнего устройства в AP уберёт одну границу, но операторский CGN останется.

Локальный double NAT и CGNAT провайдера
Иллюстративная схема: при локальном double NAT оба шлюза могут быть под вашим контролем; операторским CGN управляет ISP.

Классифицируйте WAN до сравнения

RFC 1918 отводит для частных сетей 10.0.0.0/8, 172.16.0.0/12 и 192.168.0.0/16. Они не предназначены для глобальной маршрутизации. Частный WAN доказывает наличие upstream-адресации, но не определяет администратора: это может быть ваша первая коробка, домовая сеть или ISP.

Shared Address Space 100.64.0.0/10 введён RFC 6598 для операторского NAT. Диапазон охватывает 100.64.0.0–100.127.255.255 и формально не относится к RFC 1918. Его появление на абонентском WAN — сильный сигнал CGN, особенно если внешний сервер одновременно видит другой IPv4. Нельзя расширять правило на весь 100/8: адреса за пределами указанного /10 имеют иной статус.

Глобально выглядящий WAN тоже не равен работающему входу. Он может изменяться, фильтроваться тарифом или не иметь нужного mapping; host firewall и listener остаются обязательными. Подробное объяснение помогает различить локальный и внешний IP-адрес, но фактическую доступность проверяет отдельная соединительная попытка.

Что означает класс WAN-адреса
Иллюстративная справка: класс адреса служит диагностическим сигналом, но сам по себе не проверяет открытый порт.

Сверьте адреса в одном временном окне

Сначала отключите клиентский VPN или proxy, иначе сайт покажет их выходной узел. Откройте явную проверку IPv4, зафиксируйте маскированный результат и сразу перечитайте WAN. После reconnect повторите оба шага, не сравнивая сегодняшнее значение роутера со вчерашним скриншотом. При отсутствии IPv4 у проверки отметьте состояние unknown, а не подставляйте IPv6.

Совпадающие global WAN и external IPv4 означают, что на наблюдаемом участке не видно дополнительной IPv4-трансляции. Это не обещание открытого порта. Shared WAN с отличающейся external IPv4 образует характерную картину CGN. Private WAN и управляемый upstream ведут к локальному double NAT; private WAN без доступного upstream требует вопроса оператору.

Traceroute полезен для общей картины пути, но промежуточные маршрутизаторы могут не отвечать или использовать адреса, не отражающие NAT-политику. Не называйте CGN подтверждённым только из-за первого private hop. Самые надёжные бытовые признаки — класс WAN, одновременная внешняя IPv4, известная топология и ответ ISP.

Интерпретатор наблюдений и вариантов доступа

Этот селектор ничего не измеряет и не сохраняет. Он требует семь явных наблюдений, а неизвестное состояние направляет на контрольный сбор данных. Вывод объясняет причину и следующий шаг, но не обещает конкретную услугу оператора или функцию прошивки.

На какой границе теряется вход?

Почему проброс порта не является полной проверкой

Правило связывает внешний порт домашнего NAT с внутренним адресом и транспортом. Оно должно указывать на стабильный LAN IP, поэтому для сервера обычно создают DHCP reservation. Но правило действует только на выбранной коробке. Если перед ней остаётся modem-router, mapping требуется и там либо нужен документированный bridge/pass-through. Если выше находится CGN, его таблица не управляется домашним интерфейсом.

Сервис обязан слушать во время попытки. Проверьте socket локально, host firewall и bind address: процесс, привязанный только к 127.0.0.1, не примет пакет с LAN. Не смешивайте TCP и UDP. После этого тестируйте с мобильной сети, отключив Wi-Fi. Использование внешнего имени из той же LAN зависит от hairpin support и не заменяет настоящий вход.

DDNS решает только соответствие имени меняющемуся адресу. Он не создаёт route, firewall rule или CGN mapping. Если hostname правильно обновился до внешнего IPv4, а WAN остаётся в shared space, DNS выполняет свою задачу, но вход всё равно заканчивается на операторской границе.

Четыре результата и их практический смысл

WAN 100.64/10, внешний IPv4 другой

Сохраните маскированные значения и время, затем спросите провайдера о глобально маршрутизируемом IPv4 и native IPv6. Уточните, будет ли IPv4 динамическим или статическим, разрешён ли inbound и существуют ли ограничения портов. Не предполагайте, что услуга есть во всех регионах одного бренда; условия зависят от сети, технологии доступа и тарифа.

WAN RFC 1918, а перед роутером стоит ваш modem-router

Это локальный double NAT. Выберите единственного владельца routing, DHCP и firewall. Обычно собственный роутер переводят в AP, либо modem-router — в поддерживаемый bridge, сохраняя требования PPPoE, VLAN, IPTV и телефонии. DMZ-forward к нижнему роутеру может упростить тест, но не ликвидирует второй NAT и увеличивает ответственность нижнего firewall.

WAN global и совпадает с внешним IPv4

CGN на этой границе не подтверждается. Проверьте внутренний адрес mapping, TCP/UDP, listener, firewall ОС и фильтрацию ISP. Динамический global IPv4 может измениться, поэтому DDNS полезен после успешной доступности. Static address облегчает стабильное именование, но не открывает порт автоматически.

Адреса неизвестны, но vendor app камеры работает

Не делайте вывод о public IP. Приложение может инициировать исходящие сессии и использовать облачный relay. Проверьте работу из другой сети, статус direct/relay, если продукт его показывает, и сценарий при недоступном облаке. Для локального архива отделите поток камеры к recorder от удалённого просмотра через account.

Альтернативы CGNAT: разные свойства и риски

Public IPv4 от провайдера

Это привычный путь для самостоятельного VPN endpoint, game host или сервера. Перед подключением уточните условия интернет-провайдера: адрес может быть динамическим, статическим, общим только по названию или ограниченным filtering. Попросите точное описание текущего тарифа, стоимость, срок включения и способ отмены. После активации заново сравните WAN и внешний IPv4.

Исходящий overlay для своих устройств

Overlay-клиенты устанавливают исходящие соединения, обмениваются ключами и получают приватные маршруты. NAT traversal может построить прямой путь, а relay — поддержать связь, когда прямой невозможен. Чтобы понять устройство VPN-туннеля, различайте шифрование, контроль доступа, discovery и фактический data path.

Self-hosted WireGuard на домашнем узле не магически проходит CGN: его внешний peer endpoint должен быть достижим либо соединение инициируется наружу к доступному серверу. Managed mesh упрощает rendezvous, но добавляет доверие к control plane и иногда relay. Ограничьте маршруты нужными хостами, включите MFA для учётной записи и заранее проверьте отзыв ключа потерянного устройства.

Reverse tunnel для выбранного приложения

Агент внутри LAN открывает outbound-соединение к публичному узлу, который принимает запросы к заданному hostname. Входного port mapping дома не требуется. Зато публичная сторона и identity policy становятся частью периметра: включите TLS, authentication, rate limit, журналирование и обновления origin. Не публикуйте весь subnet, если нужен один webhook.

Vendor relay

Relay удобен для бытовой камеры или NAS, когда производитель поддерживает продукт и аккаунт защищён. Цена удобства — зависимость от облака, политики хранения metadata, региона и срока поддержки. Проверьте export локального архива, поведение без Интернета, уведомления о входе и возможность удалить привязанные устройства.

IPv6 как самостоятельная дорога

Глобальный IPv6 на целевом устройстве может сделать IPv4 CGN несущественным для клиентов с IPv6. Однако адрес на WAN роутера ещё не доказывает, что prefix делегирован в LAN. Проверьте global address хоста, default route, DNS AAAA и внешний клиент с настоящей IPv6-связностью. ULA fc00::/7 и link-local fe80::/10 не являются глобальными endpoint.

Отсутствие NAT не означает открытый firewall. Правило должно разрешать конкретный protocol/port на конкретный host, а не весь inbound. Если делегированный prefix меняется, DNS automation и firewall objects должны корректно обновляться. Не отключайте stateful protection ради проверки; создайте временное узкое правило, зафиксируйте результат и удалите лишнее.

Клиент только с IPv4 не подключится к IPv6-only сервису без переводчика или посредника. Поэтому аудитория публичного сайта и приватный набор ваших устройств приводят к разным решениям. Dual stack тестируют раздельно, указывая family: иначе браузер выберет исправный путь и скроет неисправность второго.

Путь доступа зависит от цели
Иллюстративное дерево: опции ISP, relay, VPN и tunnel проверяют отдельно; ни один вариант не отменяет аутентификацию и firewall.

Безопасность важнее статуса «порт открыт»

CGN — механизм экономии адресов и управления трансляцией, а не полноценный security product. Вредоносное приложение внутри сети может само выйти наружу; украденная vendor account откроет relay; уязвимость облачного сервиса не зависит от домашнего port forwarding. Сохраняйте host firewall, обновления и отдельные credentials при любом типе адреса.

Публичный IPv4 тоже не выставляет устройство автоматически: unsolicited traffic может блокировать роутер. Открывая сервис, минимизируйте source ranges, применяйте TLS, MFA или ключи, ограничивайте попытки и следите за журналом. Панель роутера, камера со старой прошивкой и SMB не должны становиться голыми Internet endpoints только потому, что оператор выдал адрес.

IoT можно изолировать от доверенных домашних устройств, если режим действительно запрещает lateral access и при этом оставляет нужный путь к recorder. Название Guest само по себе не гарантирует VLAN или client isolation. Проверьте политику тестовым соединением между сегментами.

Внешнюю попытку выполняйте со своего телефона через mobile data или с контролируемого VPS. Не вводите пароль администратора через случайную сеть: материал о том, почему опасен публичный Wi-Fi в кафе и отеле, полезен именно для выбора безопасной контрольной точки. Сохраняйте только время, transport и результат, а не секреты.

Диалог с поддержкой без неоднозначного слова «белый»

Сообщите тип доступа и тариф, класс WAN, факт одновременного несовпадения с external IPv4 и желаемый inbound protocol. Спросите: выдаётся ли CPE глобально маршрутизируемый IPv4; адрес динамический или static; есть ли фильтрация; доступен ли native IPv6 с prefix delegation; нужна ли замена CPE. Формулировка позволяет получить проверяемый ответ вместо общего «Интернет работает».

Если public IPv4 недоступен, уточните правила договора, но не требуйте обхода операторской безопасности. Сравните outbound overlay для приватного управления, reverse tunnel для одного web endpoint и vendor relay для поддерживаемого устройства. Для каждого варианта отдельно запишите владельца ключей, посредника, точки отказа, журналы и способ отключения.

Отдельно спросите о сроке аренды динамического адреса: слово public не обещает неизменность, а static не означает отсутствия firewall. Если адрес меняется, DDNS обновляет имя после смены, но короткое окно со старой записью возможно из-за TTL и задержки клиента. Для webhook важнее стабильный hostname и проверяемый TLS, а для allowlist партнёра может потребоваться действительно постоянный source address.

Финальная контрольная карта

Исправная локальная служба — нулевая точка. Затем идут карта шлюзов, class WAN, одновременный external IPv4 и внешний тест правильного транспорта. Shared 100.64/10 с несовпадением адресов ведёт к разговору с ISP или исходящей альтернативе. Private WAN с собственной верхней коробкой ведёт к устранению double NAT. Совпавший global WAN переносит поиск на mapping, listener и firewall.

Не подменяйте маршрут именем DDNS и не считайте cloud app доказательством direct access. Выбирайте архитектуру по аудитории: свои устройства — private overlay; неизвестные веб-клиенты — защищённый public endpoint; IPv6-клиенты — отдельный firewall-controlled путь. После успешного теста удалите временные широкие правила и сохраните короткую схему для следующей диагностики.

Источники

ОМ
Олег Марченко
Редактор LPX
Все статьи автора →