← К вики

Настройка IPv6 на VPS

Как включить и настроить IPv6 на VPS.

Время: 10 мин · Сложность: ★★☆☆☆

Подходит: ✓ Ubuntu 22.04 · ✓ Debian 12 · ✓ AlmaLinux 9


Краткое описание

IPv6 — современный протокол адресации с практически неограниченным пулом адресов. На VPS Cheesecake Cloud IPv6-адрес часто уже назначен, но не активирован в конфиге ОС. Эта статья поможет проверить наличие IPv6, включить его в настройках сети и убедиться, что трафик ходит корректно.

Когда пригодится

  • Хотите использовать IPv6 для почтового сервера или CDN
  • Приложение требует двойного стека (dual-stack, IPv4 + IPv6)
  • Нужно протестировать доступность сайта по IPv6 перед включением AAAA-записи

Что понадобится

  • Доступ по SSH или через VNC-консоль
  • Права суперпользователя
  • IPv6-адрес, выданный провайдером — проверьте в панели Cheesecake Cloud

Пошаговая инструкция

1. Проверить, есть ли IPv6 на интерфейсе

ip -6 a

Если в выводе только lo (loopback) — IPv6 на основном интерфейсе не настроен.

Проверить внешний IPv6-адрес:

curl -6 ifconfig.me

Если команда зависла или вернула ошибку — IPv6 не работает или не настроен.

2. Проверить маршрут по умолчанию

ip -6 route

Должна быть строка вида:

default via fe80::1 dev eth0

Если маршрута нет — трафик IPv6 некуда отправлять, даже если адрес назначен.

3. Ubuntu / Debian — включение через Netplan

Откройте конфиг:

nano /etc/netplan/00-installer-config.yaml

Для автоматического получения IPv6 по SLAAC или DHCPv6 добавьте dhcp6: true:

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: true
      dhcp6: true

Если провайдер выдал статический IPv6-адрес, укажите его явно:

network:
  version: 2
  ethernets:
    eth0:
      dhcp4: true
      addresses:
        - 2001:db8::10/64
      routes:
        - to: ::/0
          via: 2001:db8::1

Замените 2001:db8::10/64 и 2001:db8::1 на адрес и шлюз из панели управления.

Применить:

netplan apply

4. AlmaLinux — включение через NetworkManager

Автоматическая настройка IPv6:

nmcli con mod "System eth0" ipv6.method auto
nmcli con up "System eth0"

Для статического адреса:

nmcli con mod "System eth0" ipv6.method manual \
  ipv6.addresses "2001:db8::10/64" \
  ipv6.gateway "2001:db8::1"
nmcli con up "System eth0"

Проверка результата

Убедитесь, что IPv6-адрес появился на интерфейсе:

ip -6 a show eth0

Проверьте связность — пинг до публичного DNS Google:

ping6 2001:4860:4860::8888

Проверьте маршрут:

ip -6 route

Возможные ошибки

Сайты не открываются по IPv6, хотя адрес есть

Проверьте DNS-запись типа AAAA для вашего домена:

dig AAAA example.com

Если запись есть, но браузер не открывает — проверьте, что у вас настроен маршрут по умолчанию (ip -6 route).

Нет маршрута по умолчанию для IPv6

Добавьте маршрут вручную (временно, до перезагрузки):

ip -6 route add default via fe80::1 dev eth0

Для постоянного решения — добавьте маршрут в конфиг Netplan или NetworkManager (см. выше).

curl -6 ifconfig.me зависает

Убедитесь, что файрвол не блокирует исходящий IPv6-трафик. Если используете ufw:

ufw allow out on eth0 to any

FAQ

Нужен ли IPv6, если есть IPv4?

Зависит от задач. Для почтовых серверов IPv6 желателен — некоторые принимающие серверы проверяют наличие PTR-записи для IPv6. Для обычного веб-сервера — по желанию.

Можно ли использовать IPv4 и IPv6 одновременно?

Да, это называется dual-stack. Оба протокола работают независимо на одном интерфейсе.

Где взять IPv6-адрес?

В панели Cheesecake Cloud, в карточке сервера. Если IPv6 не выдан — обратитесь в поддержку.

Полезные ссылки

Следующие статьи

Сейчас работают только те cookie, без которых сайт не откроется. Разрешите ещё аналитические — будем видеть, где интерфейс мешает, и чинить это.