# IPv6 на VPS: как пользоваться префиксом /64

> Что значит /64, как проверить адрес на сервере, назначить дополнительные адреса, настроить ufw для IPv6 и не выпасть из сети. Примеры команд и типичные ошибки.

- Рубрика: Гайды по играм
- Игра: VPS
- Опубликовано: 2026-11-13T23:30:00+03:00
- Обновлено: 2026-11-13T23:30:00+03:00
- Адрес: https://blog.egnetwork.ru/vps-ipv6-64
- Автор: Команда 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](https://blog.egnetwork.ru/media/626)

Для практики важно другое: если провайдер выделил вам /64 целиком, внутри него можно назначить столько адресов, сколько нужно, без дополнительного согласования. Именно это делает IPv6 удобным для нескольких сервисов на одном VPS. Но уточните условия: некоторые провайдеры выдают на машину один адрес из общей сети, и тогда дополнительные адреса работать не будут.

## Шаг 1. Смотрим адрес на сервере

Если на вашем сервере IPv6 настроен, проверьте, что интерфейс получил адрес:

```bash
ip -6 addr show scope global
```

В выводе будет строка `inet6` с адресом и маской, например `2001:db8:1234:5678::10/64`. Адрес с маской `/64` — это тот, который сервер использует как свой. Если строки нет, адрес не назначен, и дальше настраивать нечего. На VPS HI-CPU в Германии вы сейчас увидите только адрес `fe80::` с областью `link`: он служебный, наружу не работает. Публичного IPv6 добавить вручную нельзя, потому что его не выдают.

![Адреса IPv6 на сервере](https://blog.egnetwork.ru/media/627)

Маршрут по умолчанию для IPv6 смотрим так:

```bash
ip -6 route
```

Строка `default via fe80::...` означает, что шлюз сообщает о себе через Router Advertisement. Это штатный режим, его не нужно править руками.

## Шаг 2. Проверяем связь

Пинг до внешнего IPv6-адреса покажет, работает ли маршрут:

```bash
ping -6 -c 4 2606:4700:4700::1111
```

Адрес в примере — публичный DNS-сервер Cloudflare. Если пинг проходит, сервер выходит в IPv6-интернет. Если нет, проверьте маршрут и правила фаервола.

Теперь DNS. Для проверки AAAA-записи домена:

```bash
dig AAAA example.com +short
```

Команда вернёт IPv6-адреса домена, если они есть. Сравните их с адресом вашего сервера. Если домен указывает на другой адрес или не имеет AAAA, клиенты с IPv6 попадут не туда.

![Проверка связи и DNS по IPv6](https://blog.egnetwork.ru/media/628)

## Шаг 3. Добавляем адрес вручную

Иногда нужен второй адрес в том же /64, например для второго сайта. Временно добавить адрес можно командой:

```bash
sudo ip -6 addr add 2001:db8:1234:5678::20/64 dev eth0
```

Такая настройка сбрасывается после перезагрузки. Для постоянной работы адрес записывают в конфигурацию сети через netplan или в систему cloud-init, которая управляет сетью образа. Правку netplan делайте осторожно и проверяйте командой `sudo netplan try`: она применит настройки на время и откатит их, если связь пропадёт.

Имя интерфейса `eth0` может отличаться. Посмотрите его командой `ip link`.

> [!WARNING] Не правьте сеть без страховки
> Изменение сетевых настроек по SSH может оборвать соединение. Держите открытое второе окно или консоль из кабинета и применяйте изменения через `netplan try`, а не сразу через `netplan apply`.

## Шаг 4. Настраиваем ufw для IPv6

Если ufw включён, по умолчанию он закрывает и IPv6. Проверьте, что в его конфигурации включена поддержка IPv6:

```bash
grep IPV6 /etc/default/ufw
```

Должна быть строка `IPV6=yes`. Если она есть, правила `allow` работают и для IPv4, и для IPv6. Отдельно разрешать порты для IPv6 не нужно: одно правило `ufw allow 443/tcp` покрывает оба стека.

Проверить, что правила дошли до IPv6, можно командой:

```bash
sudo ufw status | grep v6
```

Строки с `(v6)` в конце показывают правила для IPv6. Если их нет, а IPv6 включён, перезапустите ufw командой `sudo ufw reload`.

## Примеры: сайт, доступный по обоим стекам

Допустим, на VPS работает nginx с двумя доменами. Оба стека должны отвечать на 80 и 443. В nginx слушайте оба адреса:

```text
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-запись с адресом вашего сервера. Для примера в зоне это выглядит так:

```text
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:

```bash
sudo ss -tlnp | grep ':80\|:443'
```

В выводе должны быть строки с `[::]:80` и `[::]:443`. Если их нет, nginx слушает только IPv4, и проблема в конфиге. Добавьте `listen [::]:443 ssl;` в блок server и перечитайте конфиг командой `sudo nginx -t && sudo systemctl reload nginx`.

Наконец, проверьте снаружи. Запрос с IPv6-адреса должен вернуть ответ сайта:

```bash
curl -6 -I https://example.com
```

Если запрос работает, а клиент жалуется, проверьте его сеть и кэш DNS. Если запрос не работает, смотрите правила ufw для порта 443: правило `ufw allow 443/tcp` покрывает и IPv6, но только при `IPV6=yes`.

## Что проверить после изменений

После настройки IPv6 полезен короткий чек-лист. Он занимает пять минут и защищает от ситуаций, когда сервер работает наполовину:

1. `ip -6 addr show scope global` показывает адрес с `/64`.
2. `ip -6 route` содержит маршрут по умолчанию.
3. `ping -6 -c 4` до публичного адреса проходит.
4. `dig AAAA ваш-домен +short` возвращает ваш адрес.
5. `curl -6 -I` возвращает ответ сайта.
6. `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](https://blog.egnetwork.ru/vps-bazovaya-zashchita) и к [мониторингу сети и ресурсов](https://blog.egnetwork.ru/vps-monitoring-resursov).

Сервер под VPS за пару минут — [egnetwork.ru](https://egnetwork.ru/)

## Официальные источники

- [example.com`](http://example.com`/)
- [example.com](https://example.com/)

---

Материал EGN (blog.egnetwork.ru), обновлено 13 ноября 2026; при цитировании указывайте ссылку.
