К основному содержимому

Сервер без IPv4: что ломается и как помогает NAT64

VDS / VPS · 09.11.2026 · 6 мин чтения

Когда серверу не нужен собственный IPv4

Сервер без собственного IPv4 имеет только адрес IPv6: наружу он ходит по IPv6, а к ресурсам, оставшимся на IPv4, — через шлюз NAT64. Это выгодно, когда адрес стоит денег, а сервису нужны лишь соединения по IPv6. Если без сервисов только с IPv4 не обойтись, придётся добавлять шлюз.

Подходят внутренние сервисы за прокси, тестовые стенды и узлы кластера. Осторожнее с почтовым сервером: часть получателей может принимать почту только по IPv4. Про обычный NAT есть отдельная статья: что такое NAT и как он работает.

Сколько стоит отдельный IPv4 и почему он дорожает

Публичный адрес IPv4 стал платной статьёй: AWS берёт 0,005 доллара в час за каждый адрес с 1 февраля 2024 года, Hetzner Cloud — 0,50 евро в месяц за Primary IPv4, а Primary IPv6 бесплатен. Для одного сервера это немного, для парка из многих машин уже заметно.

ПровайдерЦенаПримечание
AWS0,005 доллара в час за публичный IPv4, с 1 февраля 2024около 3,6 доллара в месяц (мой пересчёт)
Hetzner CloudPrimary IPv4 — 0,50 евро в месяц, Primary IPv6 — бесплатностраницу цен правили в 2023 году — сверьте

Пересчёт мой, а не цена AWS: 0,005 × 24 × 30 даёт около 3,6 доллара. Страницу цен Hetzner правили в 2023 году, а цены с тех пор поднимали, поэтому 0,50 евро сверьте на живой странице.

Причина дефицита — исчерпание пула. RIPE NCC исчерпал свой пул IPv4 в ноябре 2019 года, и теперь адреса выдаются из возвращённых по листу ожидания. На 23 октября 2026 года в нём стояли 806 заявителей (LIR), первый ждал 487 дней: порядка 800 заявителей и около 16 месяцев. Число меняется, смотрите страницу листа ожидания RIPE NCC.

Чем публичный адрес отличается от частного, разобрано в статье про белый и серый IP-адрес.

Что ломается на голом IPv6-only

Ломается всё, что живёт только на IPv4. Самый частый пример — GitHub: на 9 ноября 2026 года у github.com, api.github.com, codeload.github.com, objects.githubusercontent.com и ghcr.io нет записей AAAA, поэтому git clone с GitHub без NAT64 не заработает. AAAA есть только у raw.githubusercontent.com. Это замер, а не предположение.

Повторите проверку сами: записи могут измениться, а пустой вывод означает, что у имени нет адреса IPv6.

dig AAAA github.com +short
dig AAAA raw.githubusercontent.com +short

Для равновесия: большая часть экосистемы уже доступна по IPv6. Записи AAAA на 9 ноября 2026 года есть у остальных проверенных имён, список в таблице.

ИменаЗапись AAAA
github.com, api.github.com, codeload.github.com, objects.githubusercontent.com, ghcr.ioнет
raw.githubusercontent.comесть
Docker Hub, npm, PyPI, RubyGems, crates.io, Packagistесть
deb.debian.org, archive.ubuntu.com, quay.io, mcr.microsoft.com, proxy.golang.orgесть

Оговорка: проверялись записи DNS, а не фактическая работа по IPv6. CDN и редиректы могут вести на имена без AAAA, поэтому настоящую проверку даёт пробная установка пакета и пробный клон репозитория.

Как работают NAT64 и DNS64

NAT64 (RFC 6146) — шлюз, который принимает соединение по IPv6 и от своего имени открывает соединение к серверу по IPv4. DNS64 (RFC 6147) — расширение DNS: для имени без записи AAAA оно сочиняет её из записи A. Вместе они дают клиенту только с IPv6 доступ к ресурсам только с IPv4.

Синтезированные адреса строятся из префикса. Стандартный префикс — 64:ff9b::/96 (RFC 6052), он не годится для частных адресов IPv4; для таких случаев RFC 8215 резервирует локальный префикс 64:ff9b:1::/48. Если программа обращается к IPv4 по числовому адресу, минуя DNS, DNS64 не поможет: для этого описан 464XLAT (RFC 6877).

Google Public DNS64 (2001:4860:4860::6464 и 2001:4860:4860::64) — это только DNS64. Без шлюза NAT64 он бесполезен: ответы укажут на адреса из 64:ff9b::/96, куда у вас нет маршрута.

Как подключить DNS64 по шагам

Нужны два компонента: DNS-резолвер с функцией DNS64 и работающий шлюз NAT64, до которого есть маршрут. Резолвер без шлюза не поможет, а шлюз без резолвера никто не найдёт. Сначала убедитесь, что IPv6 на сервере вообще настроен, затем действуйте по шагам: от проверки адреса до пробного соединения.

  1. Проверьте, что у сервера есть адрес IPv6 и маршрут по умолчанию; настройка описана в статье настройка IPv6 на VPS с Linux.
  2. Укажите адрес DNS64-резолвера в настройках системы: в /etc/resolv.conf или в конфигурации сети; если DNS ведёт systemd-resolved, смотрите результат в resolvectl status.
  3. Запросите имя без AAAA и убедитесь, что пришёл синтезированный адрес из префикса шлюза.
  4. Проверьте реальное соединение, а не только ответ DNS: curl -6 до сайта без записи AAAA.
ip -6 route show default
dig AAAA github.com +short @<DNS64-resolver>
getent ahostsv6 github.com
curl -6 -sI https://github.com | head -n 1

Если синтезированный адрес пришёл, а соединение не идёт, проблема в шлюзе: резолвер выдал адрес, но маршрута до NAT64 нет.

Что проверить до отказа от IPv4

Перед отказом от IPv4 составьте список всего, к чему сервер обращается наружу, и проверьте каждое имя на AAAA. Всё, чего нет в IPv6, пойдёт через NAT64 и станет единой точкой отказа. Если список длинный или важна надёжность, оставьте IPv4 хотя бы на входе.

  • GitHub и всё, что собирается из его репозиториев, — без NAT64 не заработает.
  • Внешние API и платёжные шлюзы: спросите у поставщика, есть ли у них IPv6.
  • Доступ к самому серверу: ваш домашний или офисный провайдер должен давать IPv6, иначе нужен промежуточный узел.

Если адрес IPv4 всё же нужен, дополнительные адреса описаны в статье про дополнительные подсети IPv4.

Частые вопросы

Можно ли сделать git clone с GitHub на сервере только с IPv6?

Без NAT64 — нет: на 9 ноября 2026 года у github.com нет записи AAAA, проверьте сами командой dig AAAA github.com +short. Через DNS64 и шлюз NAT64 клон работает как обычное соединение.

Хватит ли одного Google DNS64?

Нет. Это только резолвер: он вернёт адреса из 64:ff9b::/96, а без шлюза NAT64 пакеты по ним никуда не уйдут.

Что делать клиентам ZevsHost?

На общем хостинге сеть не в вашем управлении. В наших тарифах VPS выделенный адрес IPv4 уже входит в цену, а у выделенного сервера выдаётся адрес IPv4 и блок /64 IPv6 — экономить на адресе у нас не нужно. NAT64 пригодится, если вы сознательно строите сеть без IPv4 или ходите по IPv6 на чужую площадку; на своём сервере его настраиваете вы.

Статья помогла?
← Назад в базу знаний Задать вопрос поддержке