IPv6 — шестая версия протокола IP с 128-битными адресами. Это решение проблемы исчерпания IPv4. IPv6-адрес выглядит так: 2001:db8::1 — восемь групп из четырёх шестнадцатеричных цифр.
Сравнение IPv4 и IPv6
| Параметр | IPv4 | IPv6 |
|---|---|---|
| Длина адреса | 32 бита | 128 бит |
| Кол-во адресов | ~4.3 млрд | 340 × 10^36 |
| Запись | 192.168.1.1 | 2001:db8::1 |
| NAT | Необходим | Не нужен |
| DHCP | Обязателен | SLAAC (автонастройка) |
| IPSec | Опционально | Встроен |
Чтение IPv6-адресов
# Полная форма
2001:0db8:0000:0000:0000:0000:0000:0001
# Сокращённая (убираем ведущие нули, :: = группы нулей)
2001:db8::1
# Loopback (аналог 127.0.0.1)
::1
# Все адреса (аналог 0.0.0.0)
::
# Примеры с сервисами
::ffff:192.168.1.1 # IPv4-mapped IPv6 address
Настройка IPv6 через Netplan (Ubuntu 22.04+)
# /etc/netplan/01-netcfg.yaml
network:
version: 2
ethernets:
eth0:
dhcp4: true
dhcp6: false
addresses:
- "2001:db8:1::/64" # ваш IPv6-блок от провайдера
routes:
- to: "::/0"
via: "fe80::1" # IPv6-шлюз провайдера
nameservers:
addresses:
- "8.8.8.8"
- "2001:4860:4860::8888" # Google DNS IPv6
sudo netplan apply
Проверка IPv6-связности
# Ping IPv6
ping6 google.com
ping6 2001:4860:4860::8888
# Показать IPv6-адреса
ip -6 addr show
# Таблица маршрутизации IPv6
ip -6 route show
# Traceroute по IPv6
traceroute6 google.com
Настройка UFW для IPv6
# Включить IPv6 в UFW
# /etc/default/ufw
IPV6=yes
# Разрешить SSH по IPv6
ufw allow in on eth0 to any port 22 proto tcp
sudo ufw reload
💡 Двойной стек (Dual Stack): Современные серверы работают одновременно на IPv4 и IPv6. Браузер автоматически выбирает IPv6 при наличии (Happy Eyeballs RFC 6555). Nginx и Apache слушают оба протокола автоматически на
:: (all).⚠️ UFW по умолчанию блокирует IPv6: Если включили UFW, но не установили IPV6=yes — IPv6-трафик проходит мимо правил файервола. Обязательно проверьте /etc/default/ufw.