«Друзья не могут зайти в моё лобби». «Групповой чат подключается у всех, кроме меня». «Игра пишет „Тип NAT: строгий“, а перезагрузка роутера ничего не изменила». Все три ситуации могут происходить из одного механизма: что-то между интернетом и твоим ПК выпускает твой трафик наружу, но останавливает подключение, которое к тебе начинает другой игрок.
Что делает NAT и что оценивает метка
У твоего роутера один адрес IPv4 на стороне интернета, а твоим устройствам он раздаёт частные адреса. Преобразование сетевых адресов (NAT) переписывает твои пакеты на выходе и запоминает каждый разговор, чтобы ответы нашли дорогу обратно. RFC 3022 прямо называет следствие: в традиционном NAT сеансы однонаправленные, исходящие из частной сети, а сеанс, начатый снаружи, попадает внутрь только через сопоставление, заранее настроенное для этого узла.
Поэтому подключение к серверу работает даже с плохой меткой: этот разговор начинает твой ПК. Тип NAT оценивает, насколько хорошо проходит разговор, начатый кем-то другим. Поддержка Xbox определяет степени так:
- Открытый: ты можешь играть и хостить игры с людьми с любым типом NAT.
- Умеренный: возможно, ты не сможешь играть с некоторыми людьми, и обычно тебя не выберут хостом.
- Строгий: ты можешь играть только с теми, у кого открытый NAT, и тебя не могут выбрать хостом.
- Недоступен: нет группового чата и нет мультиплеера в некоторых играх для Xbox.
Документация Microsoft для разработчиков формулирует то же правило: умеренный подключается только к умеренному или открытому, строгий — только к открытому. По этому правилу два игрока со строгим NAT не могут подключиться друг к другу.
Когда это важно, а когда почти нет
Метка важна, когда до тебя должен достучаться кто-то другой:
- Одноранговые (peer-to-peer) матчи. Документация Microsoft Game Development Kit говорит разработчикам, что от построенных на нём одноранговых игр по-прежнему ожидается собственное обнаружение публичного IP-адреса и порта, а также решение для пробивания NAT (NAT punching) для клиентов с умеренным или строгим типом NAT.
- Хостинг. Лобби, которое ты хостишь, или listen-сервер либо выделенный сервер на твоём ПК ждёт, пока к нему подключатся другие. Для выделенных и listen-серверов служба поддержки Steam от Valve указывает UDP 27015 как порт по умолчанию для игрового трафика.
- Голосовой и групповой чат, которые поддержка Xbox связывает с типом NAT наравне с мультиплеером.
Почти не важна метка тогда, когда игра проводит каждый матч на собственных серверах или через ретранслятор, потому что тогда каждое подключение открывает сам твой ПК. Steam Datagram Relay от Valve передаёт игровой трафик через магистральную сеть и ретрансляторы Valve — как для однорангового трафика, так и для выделенных серверов, — а IP-адреса, по словам Valve, никогда не раскрываются. Примечания к выпуску Counter-Strike 2, например, отличают соединения, ретранслируемые через SDR, от прямых UDP-подключений к серверам сообщества (Valve, 9 сентября 2024 года). Строгий тип NAT в каком-то другом приложении мало что говорит об игре, которой никогда не нужно, чтобы до тебя кто-то достучался.
Где это показывает Windows
В Windows 10 раздел Параметры > Игры > Сеть Xbox показывает тип NAT и подключение к серверу сети Xbox. Teredo не удается получить адрес там означает, что твой ПК не смог получить адрес Teredo. Teredo — это протокол туннелирования, который отдельные игры, среди них Forza Horizon 3 и 4, используют для мультиплеера в сети Xbox (поддержка Xbox). На том же экране есть кнопка Исправить. Поддержка Xbox описывает этот экран только для Windows 10; её инструкции для Windows 11 при той же ошибке ведут вместо этого в Параметры > Сеть и Интернет > «Advanced network settings» (дополнительные сетевые параметры) > Сброс сети.
Teredo также нужно, чтобы служба «Вспомогательная служба IP» запускалась автоматически и работала, а брандмауэр Windows был включён с политикой по умолчанию. Поддержка Xbox добавляет, что некоторые приложения, которые перенастраивают Windows, пытаясь оптимизировать производительность, отключают вспомогательную службу IP, некоторые домашние роутеры блокируют Teredo, когда видят IPv6 на своей стороне интернета, а некоторые VPN-клиенты блокируют его, пока подключены. Если эти настройки изменил какой-то инструмент, карточка w0a Сеть Xbox и IPv6 на странице Fix возвращает службу «Вспомогательная служба IP» и настройки перехода Teredo/IPv6 к значениям Windows по умолчанию (как работает карточка).
Узнай, за каким NAT ты находишься
- Войди в настройки роутера и запиши адрес WAN или Internet на его странице состояния.
- Сравни его со своим публичным адресом — тем, который показывает любая страница вроде «what is my IP».
- Если они совпадают, твой роутер — единственный, кто преобразует адреса, и UPnP или проброс портов на нём может открыть путь.
- Если нет, действует вердикт поддержки Xbox: «открытая конфигурация NAT не будет поддерживаться в текущей конфигурации». Посмотри на адрес WAN. Если он в диапазоне 10.x.x.x, от 172.16.x.x до 172.31.x.x или 192.168.x.x, сначала проверь, не стоит ли перед роутером ещё одно твоё устройство: шлюз провайдера плюс твой собственный роутер — это двойной NAT. Если он между 100.64.0.0 и 100.127.255.255, это общее адресное пространство, зарезервированное для связи между NAT операторского уровня (carrier-grade NAT) у провайдера и твоим роутером (RFC 6598).
Исправления по причинам
UPnP на твоём роутере
UPnP позволяет игре попросить роутер принимать трафик снаружи, и тебе ничего не нужно вводить. Поддержка Xbox пишет, что если роутер его поддерживает, «эта настройка, скорее всего, включена по умолчанию», и советует обновить таблицу NAT роутера: выключить UPnP, сохранить, перезагрузить роутер, затем снова включить UPnP и ещё раз сохранить. Она также предупреждает: «Не используйте вместе переадресацию порта, UPnP и сеть периметра.» Сеть периметра также называют DMZ.
Двойной NAT: переведи шлюз в режим моста
Когда у тебя шлюз провайдера и собственный роутер, оба устройства, по словам поддержки Xbox, могут выполнять NAT, и её решение — перевести шлюз в режим моста, чтобы адреса преобразовывал только твой роутер. Шаги зависят от шлюза; они есть в его документации или у твоего провайдера.
Проброс портов, когда ты хостишь
Проброс отправляет один порт прямо на одно устройство, поэтому этому устройству нужен адрес, который не меняется. Способ поддержки Xbox: в разделе DHCP или LAN роутера добавь MAC-адрес устройства в список зарезервированных. Затем пробрасывай только те порты и протоколы, которые указывает издатель игры, например UDP 27015 из списка Valve для выделенных и listen-серверов. Вариант с сетью периметра (DMZ) заходит гораздо дальше: поддержка Xbox описывает его как перемещение твоего устройства «в область за пределы брандмауэра сети».
NAT операторского уровня: изменить его может только провайдер
NAT операторского уровня (carrier-grade NAT) делит один адрес IPv4 между несколькими абонентами, и RFC 6888 добавляет, что абоненты им не управляют: ни одна настройка на твоём роутере до него не дотягивается. Отчёт об испытаниях CableLabs и двух кабельных операторов, опубликованный как RFC 7021, по итогам тестов 2010 года показал, что за таким NAT технологии перехода на IPv6, такие как 6to4 и Teredo, либо вовсе не работают, либо работают с серьёзным ухудшением качества. Совет поддержки Xbox — попросить у провайдера публичный IP-адрес, а если он не может его дать, сменить провайдера.
IPv6, если игра его использует
RFC 7021 называет IPv6 решением проблемы исчерпания адресов IPv4. Рекомендации IETF для домашних IPv6-роутеров (RFC 6092) считают NAT там маловероятным, но сохраняют его привычку пропускать только трафик, начатый изнутри, и просят дать приложениям способ открывать входящие потоки или «transparent mode» (прозрачный режим). Поэтому IPv6 помогает только там, где его используют и провайдер, и роутер, и игра; документация Microsoft Game Development Kit просит игры привязывать порт мультиплеера и к IPv4, и к IPv6. Оставь компоненты IPv6 в Windows в состоянии по умолчанию: среди причин сбоев Teredo поддержка Xbox называет Teredo, отключённый в реестре программой или вручную.
Что не меняет твой тип NAT
- Сетевые настройки Windows. Параметры TCP и DNS не затрагивают преобразование адресов, которое происходит в твоём роутере или у провайдера. Что делают эти пункты, разбирает статья Сетевые твики.
- Выключение брандмауэра. Поддержка Xbox говорит, что Teredo нужен брандмауэр Windows, работающий с политикой по умолчанию, и что при политике входящих подключений «AllowInbound» Teredo не может установить своё IPsec-подключение.
- DMZ поверх UPnP или проброса портов. Поддержка Xbox говорит не совмещать их.
- VPN. Некоторые VPN-клиенты блокируют Teredo, а некоторые оставляют после себя правило брандмауэра, которое продолжает его блокировать и после их удаления. Помогает ли VPN твоему пингу — отдельный вопрос: может ли VPN снизить пинг?
Похожие статьи
- Высокий пинг и скачки задержки: что действительно можно исправить
- Сеть Xbox и IPv6
- Может ли VPN снизить пинг?
- Wi-Fi для игр
- Сетевые твики
Эта страница помогла?
Чего не хватило или что не сработало? Мы читаем каждый такой ответ.
Если эта страница не решила проблему, напиши нам — скажи, какую статью ты читал, и мы её исправим.