linuxlab.io
Учебники▾
  • Линукс и сети
    Файловая система, процессы, TCP/IP, BGP и OSPF
    →
  • Terraform и IaC
    HCL, state, plan/apply на sandbox LocalStack
    →
  • Git и GitHub
    Объектная модель, plumbing, ветвление, GitHub Actions
    →
Все учебники →
ЦеныО платформеВойтиСоздать аккаунт
/
  • Введение
  • Уроки
  • How it works
  • Симулятор
  • База знаний
  • Собеседование
Index
Categories
All entries
Footer
linuxlab-УчебникиЦеныО платформеКонфиденциальность и куки
Copyright © 2026 LinuxLab. Все права защищены.
home/linux/kb/Сеть: L2 / L3/ipv6-basics

kb/network-l2-l3 ── Сеть: L2 / L3 ── intermediate

IPv6 - адресация и базовые концепции

IPv6 - 128-битные адреса в 8 группах по 16 бит. Link-local fe80::/10 для соседей, global для интернета. SLAAC выдаёт адрес автоматически через Router Advertisement. Neighbor Discovery (NDP) заменяет ARP.

view as markdownaka: ipv6, ipv6-addressing, ipv6-slaac, link-local

Зачем IPv6

[[ipv4-addressing|IPv4]] - 4 миллиарда адресов, кончились. NAT помог, но мешает p2p-связи и сложен в админстве. IPv6 даёт 2^128 ≈ 3.4×10^38 адресов - хватит надолго.

Но IPv6 - не переименование IPv4. Это новый протокол: новые заголовки, новые алгоритмы автоконфигурации, ARP заменён на NDP.

Запись адреса

128 бит = 8 групп по 16 бит, в hex, через двоеточие:

2001:0db8:85a3:0000:0000:8a2e:0370:7334

Сокращения:

  • Ведущие нули в группе можно убрать: 0db8 → db8
  • Одну подряд группу нулей можно заменить на :: (только один раз): 2001:db8:85a3::8a2e:370:7334
  • ::1 = loopback (аналог 127.0.0.1)
  • :: = unspecified (аналог 0.0.0.0)

В URL: http://[2001:db8::1]:8080/ - квадратные скобки чтобы порт не путали с группами адреса.

Префикс и подсети

Запись CIDR-стиля: 2001:db8::/32 - первые 32 бита = префикс. Типичные размеры подсетей:

  • /128 - один хост (host route)
  • /64 - стандартная LAN-подсеть, 2^64 хостов (намеренно избыточно для SLAAC)
  • /56 - типичный домашний prefix от провайдера (256 LAN-подсетей)
  • /48 - корпоративный
  • /32 - что регистрирует RIR на регион

Правило: LAN всегда /64. Меньше - сломает SLAAC.

Типы адресов

ПрефиксНазначение
2000::/3global unicast (рутируемый интернет)
fe80::/10link-local, только в пределах сегмента, не маршрутизируется
fc00::/7unique local (аналог 10/8 в IPv4)
ff00::/8multicast (аналог [[broadcast-domain
::1/128loopback
::/128unspecified

Каждый IPv6-интерфейс имеет минимум link-local (fe80::*) - автоматически назначается из MAC-адреса при старте. По нему работает NDP, RA - то есть link-local нужен всегда, даже без global.

SLAAC - автоконфигурация

IPv6 имеет встроенный механизм автонастройки:

  1. Хост шлёт Router Solicitation (RS) на ff02::2 (всем роутерам)
  2. Роутер отвечает Router Advertisement (RA) на ff02::1 с префиксом
  3. Хост берёт префикс + сам формирует hostid (из MAC через EUI-64, или random через privacy extensions)
  4. Получает global IP без DHCP

Опционально RA может сказать «возьми DNS у меня», или «иди в DHCPv6 за дополнительной информацией».

NDP - замена ARP

В IPv4 [[arp|ARP]] резолвит MAC по IP. В IPv6 - Neighbor Discovery Protocol через ICMPv6:

  • Neighbor Solicitation (NS) - «у кого этот IP?»
  • Neighbor Advertisement (NA) - «у меня; вот MAC»
  • Router Advertisement (RA) - «я дефолт-шлюз, prefix такой»
  • Redirect - «лучше ходи через другой шлюз»

Использует multicast вместо broadcast (меньше шума).

IPv6 на Linux

bash
# Все IPv6 на интерфейсах
ip -6 addr
# Маршруты IPv6
ip -6 route
# Соседи (как arp)
ip -6 neigh
# Включить/выключить IPv6 на интерфейсе
sysctl -w net.ipv6.conf.eth0.disable_ipv6=1

Privacy extensions (RFC 4941)

По дефолту host-часть из MAC-адреса (EUI-64) - это раскрывает identity (можно отследить ноут по разным сетям). Privacy extensions генерируют случайный hostid и регулярно его меняют.

bash
sysctl net.ipv6.conf.all.use_tempaddr  # 0=off, 2=on by default

DNS

IPv6 использует AAAA-record (vs A для IPv4). Один и тот же домен обычно имеет оба:

$ dig example.com A     # 1.2.3.4
$ dig example.com AAAA  # 2001:db8::1

Resolver выбирает на основе RFC 6724 (preference policy).

Когда что-то пошло не так

  • ip -6 addr пуст или только fe80:: - не пришёл RA; либо роутер не объявляет префикс, либо accept_ra=0 на интерфейсе
  • Network is unreachable для IPv6 - default route не настроен или global адрес не получен
  • Сайт открывается только с IPv4 - DNS не отдал AAAA, или сайт не имеет IPv6
  • Slow connect - happy-eyeballs (RFC 8305) пробует и v6, и v4 параллельно с задержкой 250ms; если не настроен v6, увидишь задержку при первом подключении
  • No buffer space available - переполнен neighbor cache; gc_thresh тюнить

§ команды

bash
ip -6 addr show

Все IPv6-адреса по интерфейсам, scope link/global

bash
ip -6 route show

Маршрутизация v6 - default к роутеру, локальные подсети

bash
ping6 -c 3 ipv6.google.com

Проверить IPv6-связность к интернету

bash
ip -6 neigh show

Кэш NDP - аналог 'arp -n', видно соседей и MAC

bash
tcpdump -i any -nn 'icmp6'

RA, NS, NA - все NDP-сообщения видны как ICMPv6

bash
sysctl net.ipv6.conf.all.disable_ipv6

Глобально IPv6 включён? 0 = да, 1 = выключено

§ см. также

  • ipv4-addressingIPv4-адресация и CIDRIP-адрес = 32 бита, обычно как `a.b.c.d`. **/N** в конце - длина префикса сети: `/24` = первые 24 бита фиксированы, последние 8 - host'ы (256 адресов).
  • arpARP - Address Resolution ProtocolARP отвечает на вопрос «у кого MAC = ?» для конкретного IP в одной сети. Linux хранит результат в neighbor-таблице (`ip neigh`).
  • default-gatewayDefault gateway - выход из своей сетиIP-адрес роутера в твоей подсети, куда стек шлёт пакеты для всех адресов, которые **не лежат локально**. Один gateway на хост - но в multi-homed сетапах их может быть несколько.
  • dns-resolutionDNS resolutionРезолвинг имени → IP проходит через NSS: сначала `/etc/hosts`, потом DNS через `/etc/resolv.conf`. Порядок задаётся в `/etc/nsswitch.conf`.
  • broadcast-domainBroadcast-домен - что это и кто в нём живётГруппа устройств, где L2-фрейм с dst MAC `FF:FF:FF:FF:FF:FF` (broadcast) доходит до всех. Switch расширяет broadcast-домен, router его останавливает.
Footer
linuxlab-
Copyright © 2026 LinuxLab. Все права защищены.
Учебники
Цены
О платформе
Конфиденциальность и куки