IPv6 на VPS: как пользоваться префиксом /64
Что значит /64, как проверить адрес на сервере, назначить дополнительные адреса, настроить ufw для IPv6 и не выпасть из сети. Примеры команд и типичные ошибки.
Содержание 17
- Коротко
- Что значит /64
- Шаг 1. Смотрим адрес на сервере
- Шаг 2. Проверяем связь
- Шаг 3. Добавляем адрес вручную
- Шаг 4. Настраиваем ufw для IPv6
- Примеры: сайт, доступный по обоим стекам
- Пример: сайт открывается, но не по IPv6
- Что проверить после изменений
- Почему IPv6 стоит включить сразу
- Таблица: симптом, причина и решение
- Частые ошибки
- Вопросы и ответы
- Нужен ли IPv6, если всё работает по IPv4?
- Что такое /64 простыми словами?
- Есть ли IPv6 у VPS EGN?
- Итог
Коротко
Префикс /64 — это сеть, в которой первые 64 бита адреса задают саму сеть, а последние 64 бита нумеруют узлы. Таких адресов в одной сети больше, чем IPv4-адресов во всём интернете, поэтому IPv6 не требует экономии, как IPv4. На VPS проверьте адрес командой ip -6 addr show scope global, маршрут командой ip -6 route и убедитесь, что DNS-запись AAAA указывает на правильный адрес. Файрвол ufw защищает и IPv6, если включён IPv6 в его настройках.
Доступность IPv6 зависит от тарифа и региона. На ноябрь 2026 у VPS линейки HI-CPU в Германии публичного IPv6 нет: в каталоге указан только IPv4, а в карточке услуги, вкладка «Сеть», строки «IPv6» и «Дополнительный IPv4» помечены «скоро». Для линейки «10G VPS» в Польше IPv6 /64 запланирован, но схема выдачи клиентам уточняется. Поэтому статья пригодится в двух случаях: когда IPv6 у вас появится, и когда вы настраиваете его на другом хостинге.
Что значит /64
Адрес IPv6 записывается в восемь групп по четыре шестнадцатеричные цифры, например 2001:db8:1234:5678:0:0:0:10. Сокращённо его пишут так: 2001:db8:1234:5678::10. Двойное двоеточие заменяет группу нулей, и такая замена допускается один раз в адресе.
Запись 2001:db8:1234:5678::/64 означает сеть из первых 64 бит, то есть префикс 2001:db8:1234:5678. Всё, что после него, — это адреса внутри сети. Размер сети равен 2 в степени 64, то есть около 18 квинтиллионов адресов. Такой блок выделяется одной машине или одной сети, и перебирать его перебором на практике невозможно.
Пример из документации IPv6 (префикс 2001:db8::/32 зарезервирован для примеров) выглядит так:
Для практики важно другое: если провайдер выделил вам /64 целиком, внутри него можно назначить столько адресов, сколько нужно, без дополнительного согласования. Именно это делает IPv6 удобным для нескольких сервисов на одном VPS. Но уточните условия: некоторые провайдеры выдают на машину один адрес из общей сети, и тогда дополнительные адреса работать не будут.
Шаг 1. Смотрим адрес на сервере
Если на вашем сервере IPv6 настроен, проверьте, что интерфейс получил адрес:
ip -6 addr show scope globalВ выводе будет строка inet6 с адресом и маской, например 2001:db8:1234:5678::10/64. Адрес с маской /64 — это тот, который сервер использует как свой. Если строки нет, адрес не назначен, и дальше настраивать нечего. На VPS HI-CPU в Германии вы сейчас увидите только адрес fe80:: с областью link: он служебный, наружу не работает. Публичного IPv6 добавить вручную нельзя, потому что его не выдают.
Маршрут по умолчанию для IPv6 смотрим так:
ip -6 routeСтрока default via fe80::... означает, что шлюз сообщает о себе через Router Advertisement. Это штатный режим, его не нужно править руками.
Шаг 2. Проверяем связь
Пинг до внешнего IPv6-адреса покажет, работает ли маршрут:
ping -6 -c 4 2606:4700:4700::1111Адрес в примере — публичный DNS-сервер Cloudflare. Если пинг проходит, сервер выходит в IPv6-интернет. Если нет, проверьте маршрут и правила фаервола.
Теперь DNS. Для проверки AAAA-записи домена:
dig AAAA example.com +shortКоманда вернёт IPv6-адреса домена, если они есть. Сравните их с адресом вашего сервера. Если домен указывает на другой адрес или не имеет AAAA, клиенты с IPv6 попадут не туда.
Шаг 3. Добавляем адрес вручную
Иногда нужен второй адрес в том же /64, например для второго сайта. Временно добавить адрес можно командой:
sudo ip -6 addr add 2001:db8:1234:5678::20/64 dev eth0Такая настройка сбрасывается после перезагрузки. Для постоянной работы адрес записывают в конфигурацию сети через netplan или в систему cloud-init, которая управляет сетью образа. Правку netplan делайте осторожно и проверяйте командой sudo netplan try: она применит настройки на время и откатит их, если связь пропадёт.
Имя интерфейса eth0 может отличаться. Посмотрите его командой ip link.
Не правьте сеть без страховкиИзменение сетевых настроек по SSH может оборвать соединение. Держите открытое второе окно или консоль из кабинета и применяйте изменения через
netplan try, а не сразу черезnetplan apply.
Шаг 4. Настраиваем ufw для IPv6
Если ufw включён, по умолчанию он закрывает и IPv6. Проверьте, что в его конфигурации включена поддержка IPv6:
grep IPV6 /etc/default/ufwДолжна быть строка IPV6=yes. Если она есть, правила allow работают и для IPv4, и для IPv6. Отдельно разрешать порты для IPv6 не нужно: одно правило ufw allow 443/tcp покрывает оба стека.
Проверить, что правила дошли до IPv6, можно командой:
sudo ufw status | grep v6Строки с (v6) в конце показывают правила для IPv6. Если их нет, а IPv6 включён, перезапустите ufw командой sudo ufw reload.
Примеры: сайт, доступный по обоим стекам
Допустим, на VPS работает nginx с двумя доменами. Оба стека должны отвечать на 80 и 443. В nginx слушайте оба адреса:
server {
listen 80;
listen [::]:80;
server_name example.com;
# остальные директивы
}Строка listen [::]:80 добавляет слушание IPv6 на порту 80. Без неё сайт доступен только по IPv4, даже если адрес IPv6 есть на сервере. Проверьте это запросом с IPv6-адреса: curl -6 -I http://example.com.
Пример: сайт открывается, но не по IPv6
Допустим, пользователь с мобильного интернета жалуется, что сайт не открывается, хотя с компьютера всё работает. Чаще всего это значит, что у клиента есть только IPv6 или что DNS выдаёт адрес, который не отвечает по IPv6. Разбор занимает несколько команд.
Сначала проверьте DNS. Домен должен иметь AAAA-запись с адресом вашего сервера. Для примера в зоне это выглядит так:
example.com. 300 IN A 203.0.113.10
example.com. 300 IN AAAA 2001:db8:1234:5678::10Строка A — адрес IPv4, строка AAAA — адрес IPv6. Оба должны вести на один и тот же сервер. Если AAAA отсутствует, клиенты с IPv6 пойдут через IPv4 или не попадут никуда, в зависимости от сети.
Затем проверьте, что сервер слушает IPv6:
sudo ss -tlnp | grep ':80\|:443'В выводе должны быть строки с [::]:80 и [::]:443. Если их нет, nginx слушает только IPv4, и проблема в конфиге. Добавьте listen [::]:443 ssl; в блок server и перечитайте конфиг командой sudo nginx -t && sudo systemctl reload nginx.
Наконец, проверьте снаружи. Запрос с IPv6-адреса должен вернуть ответ сайта:
curl -6 -I https://example.comЕсли запрос работает, а клиент жалуется, проверьте его сеть и кэш DNS. Если запрос не работает, смотрите правила ufw для порта 443: правило ufw allow 443/tcp покрывает и IPv6, но только при IPV6=yes.
Что проверить после изменений
После настройки IPv6 полезен короткий чек-лист. Он занимает пять минут и защищает от ситуаций, когда сервер работает наполовину:
ip -6 addr show scope globalпоказывает адрес с/64.ip -6 routeсодержит маршрут по умолчанию.ping -6 -c 4до публичного адреса проходит.dig AAAA ваш-домен +shortвозвращает ваш адрес.curl -6 -Iвозвращает ответ сайта.sudo ufw status | grep v6показывает правила для IPv6.
Если любой пункт не проходит, дальше не идите, а разбирайтесь с ним. Чаще всего сбой в DNS или в правилах фаервола, а не в самом адресе.
Почему IPv6 стоит включить сразу
Аргумент «у нас всё работает по IPv4» верен, пока трафика немного. Со временем часть пользователей, особенно с мобильных сетей, ходит по IPv6 или через трансляцию адресов (NAT64). Большинство сетей при этом отлично открывают IPv4-сайты, так что отсутствие IPv6 редко ломает доступность. Поэтому правило простое: если провайдер выдал рабочий IPv6, включайте его сразу при настройке сервера, а если нет, спокойно живите на IPv4 и не добавляйте AAAA.
Таблица: симптом, причина и решение
| Симптом | Причина | Решение |
|---|---|---|
ip -6 addr show scope global ничего не показывает |
Публичный IPv6 не выдан (на HI-CPU в Германии сейчас так) | Не добавляйте AAAA-запись. Следите за новостями каталога, уточняйте в поддержке |
| Пинг по IPv6 не проходит | Нет маршрута или фаервол режет ICMPv6 | Проверьте ip -6 route и правила ufw |
| Сайт открывается по IPv4, но не по IPv6 | Nginx слушает только 0.0.0.0 |
Добавьте listen [::]:80 и listen [::]:443 ssl |
| Клиенты с IPv6 не попадают на сайт | AAAA-запись указывает на другой адрес | Обновите DNS, проверьте dig AAAA |
| После перезагрузки адрес пропал | Добавлен командой ip addr без постоянной настройки |
Внесите адрес в netplan или в конфиг cloud-init |
netplan apply оборвал SSH |
Новая конфигурация неверна | Зайдите через консоль, исправьте файл, используйте netplan try |
Частые ошибки
Считать IPv6 дефицитным ресурсом. Внутри /64 адресов хватает с запасом. Не пытайтесь экономить, назначая адрес на каждый сервис без нужды: достаточно одного и разных портов.
Забыть про AAAA, или, наоборот, добавить её зря. Если у сервера есть рабочий IPv6, а в DNS нет AAAA, IPv6-клиенты придут по IPv4 или не придут вовсе, что зависит от их сети. Если же IPv6 на сервере нет, AAAA добавлять нельзя: клиенты с IPv6 получат адрес, который не отвечает, и сайт у них будет открываться медленно или не откроется. Добавляйте AAAA только после проверки ping -6 и curl -6.
Открыть IPv6 без ufw. Правила для IPv4 не закрывают IPv6 автоматически. Проверьте IPV6=yes и правила с пометкой (v6).
Перепутать префикс и адрес. Адрес сервера — это одна точка внутри /64, а префикс — вся сеть. В конфиге и в DNS указывайте адрес, а не префикс.
Вопросы и ответы
Нужен ли IPv6, если всё работает по IPv4?
Не обязательно, но часть пользователей и провайдеров уже ходит по IPv6. Настройка делается один раз и не мешает IPv4.
Что такое /64 простыми словами?
Это сеть, в которой адрес делится на часть «сеть» и часть «узел». Вторая часть огромная, поэтому адресов хватает всем сервисам на сервере.
Есть ли IPv6 у VPS EGN?
На ноябрь 2026 у линейки HI-CPU в Германии нет: тарифы включают IPv4, а в карточке услуги IPv6 помечен «скоро». Для 10G VPS в Польше IPv6 /64 планируется, подробности уточняйте в поддержке на help@egn-cloud.ru. Если адрес появится, сверяйтесь с выводом ip -6 addr на самом сервере.
Итог
IPv6 на VPS — это адрес с маской /64, который нужно проверить на сервере, маршрут, DNS и фаервол. Внутри /64 адресов достаточно для любых задач, но сеть надо настраивать аккуратно: изменения через netplan и правила ufw могут оборвать доступ, поэтому держите страховку. Дальше полезно вернуться к базовой защите VPS и к мониторингу сети и ресурсов.
Сервер под VPS за пару минут — egnetwork.ru
Читать далее
Вся рубрика →10G VPS в Польше: что это даёт и чего ждать
Что известно о линейке 10G VPS в Польше: сетевой порт до 10 Гбит/с, локальный NVMe без RAID, ежедневная копия системного диска и IPv6. Без цен и без обещаний, которых пока нет.
Мониторинг ресурсов VPS: htop, iotop и vnstat
Как за несколько минут понять, что тормозит VPS: процессор, память, диск или сеть. Команды htop, iotop, vnstat, free и df с примерами вывода и таблицей симптомов.
Трафик VPS: как посчитать объём и не получить сюрприз в конце месяца
Что считается трафиком, как перевести скорость канала в терабайты за месяц, как читать счётчик входящего и исходящего трафика в кабинете EGN и что делать, если лимит закончился.