На этой странице
Каждый сервер DediJet поставляется с маршрутизируемой подсетью /64 IPv6 без дополнительной платы, а при установке в один клик IPv6 настраивается автоматически. С помощью этого руководства можно проверить эти настройки, восстановить их после нестандартной установки или задействовать больше адресов из подсети.
Как работает маршрутизируемая подсеть /64
Число адресов в подсети /64 — 2^64, то есть около 18 квинтиллионов. «Маршрутизируемая» означает, что вышестоящий маршрутизатор направляет весь трафик подсети на ваш сервер, а вы сами решаете, какие адреса и где использовать. Запрашивать каждый адрес отдельно не нужно: добавьте адрес из префикса на интерфейс, и он станет доступен.
Ваш префикс указан в личном кабинете: откройте сервер и выберите «Сеть». В этом руководстве в качестве префикса используется 2001:db8:1234:5678::/64, в качестве основного адреса сервера — 2001:db8:1234:5678::1, а в качестве интерфейса — enp1s0; имя вашего интерфейса показывает ip -br link. Шлюз IPv6 — это link-local-адрес fe80::1. Проверьте значение в личном кабинете и, если оно отличается, используйте его.
Посмотрите, что уже настроено:
ip -6 addr show dev enp1s0 scope global
ip -6 route show defaultЕсли в выводе есть ваш адрес и маршрут по умолчанию через fe80::1, значит, IPv6 уже настроен и можно сразу переходить к проверкам ниже.
Настройка адреса и шлюза
Используйте инструмент, который уже управляет вашей конфигурацией IPv4: YAML-файлы в /etc/netplan/ означают Netplan (стандарт в Ubuntu, также используется в некоторых образах Debian), /etc/network/interfaces — ifupdown (классический Debian), а в AlmaLinux и Rocky Linux используется NetworkManager.
Совет: изменение сетевых настроек по SSH может оборвать ваше подключение. Держите под рукой консоль IPMI: она дает доступ к серверу без сети.
Ubuntu: Netplan
Отредактируйте существующий файл в /etc/netplan/ (его имя может отличаться) и добавьте IPv6-адрес и маршрут по умолчанию рядом с настройками IPv4:
network:
version: 2
ethernets:
enp1s0:
addresses:
- 203.0.113.10/24
- 2001:db8:1234:5678::1/64
routes:
- to: default
via: 203.0.113.1
- to: default
via: fe80::1Строки IPv4 приведены для примера: оставьте свой адрес, маршруты и раздел nameservers (если он есть) в точности как есть. Затем примените изменения со страховкой:
netplan trynetplan try применяет изменения и откатывает их через 120 секунд, если вы не нажмете Enter, чтобы их сохранить. Если из-за ошибки SSH-сессия оборвется, подождите две минуты и подключитесь снова. Если Netplan предупреждает о слишком открытых правах доступа, выполните chmod 600 /etc/netplan/*.yaml.
Debian: ifupdown
В /etc/network/interfaces добавьте секцию inet6 для того же интерфейса под секцией IPv4:
iface enp1s0 inet6 static
address 2001:db8:1234:5678::1/64
gateway fe80::1Вместо перезапуска интерфейса по SSH примените те же настройки «на лету»; со следующей загрузки они будут браться из файла:
ip -6 addr add 2001:db8:1234:5678::1/64 dev enp1s0
ip -6 route add default via fe80::1 dev enp1s0AlmaLinux и Rocky Linux: NetworkManager
nmcli connection show
nmcli connection modify enp1s0 ipv6.method manual ipv6.addresses 2001:db8:1234:5678::1/64 ipv6.gateway fe80::1
nmcli connection up enp1s0Замените enp1s0 в двух последних командах на имя подключения из вывода первой команды (в кавычках, если оно содержит пробелы). Повторная активация подключения заново применяет и настройки IPv4, поэтому SSH-сессия может ненадолго замереть.
Каким бы инструментом вы ни пользовались, один раз перезагрузите сервер в спокойное время, чтобы убедиться, что конфигурация сохраняется.
Проверка работы IPv6
ping -6 -c 4 2606:4700:4700::1111
curl -6 -sI https://www.debian.org
ip -6 route get 2606:4700:4700::1111Ping до публичного DNS-резолвера должен получать ответы, а curl — выводить HTTP-заголовки. Последняя команда показывает адрес источника, который сервер использует для исходящего трафика: он указан после src. Затем проверьте доступ снаружи: с машины с IPv6 выполните ping до 2001:db8:1234:5678::1 или подключитесь к нему по SSH.
Дополнительные адреса из подсети /64
Добавляйте адреса по мере необходимости, например по одному на каждый сайт или сервис. Используйте ту же длину префикса /64 и не добавляйте второй шлюз:
- Netplan: еще одна строка в
addresses, например- 2001:db8:1234:5678::25/64. - ifupdown: еще одна секция
iface enp1s0 inet6 static, содержащая толькоaddress 2001:db8:1234:5678::25/64. - NetworkManager:
nmcli connection modify enp1s0 +ipv6.addresses 2001:db8:1234:5678::25/64, затемnmcli connection up enp1s0.
Чтобы опробовать адрес, прежде чем закрепить его в конфигурации, используйте ip -6 addr add 2001:db8:1234:5678::25/64 dev enp1s0: команда действует сразу, а после перезагрузки адрес исчезает.
Чтобы виртуальные машины и контейнеры за мостом работали, хост должен маршрутизировать их адреса (см. Установка Proxmox VE). Включенная для этого пересылка пакетов заставляет Linux игнорировать объявления маршрутизатора (router advertisements), но при настроенном здесь статическом шлюзе это не имеет значения. Если вам нужны отдельные сети, например по одной /64 на мост или на клиента, по запросу бесплатно предоставляется подсеть /56 (256 подсетей /64): создайте тикет.
Постоянные адреса
Серверам нужны фиксированные адреса: на них указывают DNS-записи, списки разрешенных адресов в файрволах и обратные DNS-записи. Расширения конфиденциальности (privacy extensions), созданные для ноутбуков, добавляют временные адреса, которые регулярно меняются, а SLAAC формирует адреса автоматически. Приведенные выше статические конфигурации исключают и то, и другое. Если ip -6 addr показывает лишние адреса с пометкой temporary или mngtmpaddr, отключите privacy extensions для интерфейса и для новых интерфейсов в /etc/sysctl.d/60-ipv6.conf:
net.ipv6.conf.enp1s0.use_tempaddr = 0
net.ipv6.conf.default.use_tempaddr = 0Примените настройки командой sysctl --system. В NetworkManager вместо этого задайте для подключения ipv6.ip6-privacy 0.
Защита IPv6 файрволом
Ваши IPv6-адреса доступны из интернета так же, как и IPv4-адрес, а сервисы, слушающие [::] или *, принимают подключения по обоим протоколам. Команда ss -tlnp показывает, что и на каком адресе слушает. Убедитесь, что ваш файрвол охватывает IPv6:
- ufw фильтрует IPv6, если в
/etc/default/ufwзаданоIPV6=yes(это значение по умолчанию). - Зоны firewalld одинаково применяются к IPv4 и IPv6.
- Таблицы nftables семейства
inetохватывают оба протокола. - Правила iptables не распространяются на IPv6: добавьте соответствующие правила
ip6tablesили перейдите на nftables.
Внимание: не блокируйте ICMPv6 целиком. Обнаружение соседей (Neighbor Discovery, типы
Следующие шаги
Добавьте записи AAAA для своих сервисов, настройте обратные DNS-записи для каждого адреса, с которого отправляется почта, и прочитайте руководство Добавление дополнительных IPv4-адресов, если вам нужны и дополнительные IPv4-адреса. Все еще не получается? Создайте тикет в разделе Поддержка и приложите вывод ip -6 addr и ip -6 route.