book2

8.3 DHCPv6

Где DHCPv6 вступает в игру

DHCPv6 используется после того, как RA уже подсказал host’у, что делать дальше.

То есть в IPv6 RA и DHCPv6 работают вместе, а не независимо.

stateless DHCPv6 — DHCPv6 mode, где address делается через SLAAC, а server даёт только additional info. networkterm stateful DHCPv6 — DHCPv6 mode, где server выдаёт сам IPv6 address и хранит state information. networkterm

DHCPv6 message flow

DHCPv6 communication обычно описывают так:

  1. Host sends RS
  2. Router sends RA
  3. Host sends SOLICIT
  4. Server sends ADVERTISE
  5. Host continues request process
  6. Server sends REPLY

SOLICIT — DHCPv6 message, которым client ищет DHCPv6 server. networkterm ADVERTISE — DHCPv6 message от server, что он готов обслуживать клиента. networkterm REPLY — DHCPv6 message с финальными configuration parameters. networkterm

Полезно помнить порты:

  • server to client: UDP 546
  • client to server: UDP 547

Stateless DHCPv6

В stateless mode host:

  • адрес делает сам через SLAAC;
  • DNS/domain и other info получает через DHCPv6.

Здесь важны flags:

  • A=1
  • O=1
  • M=0

Для этого на interface включают:

ipv6 nd other-config-flag

ipv6 nd other-config-flag ciscoIOScommand Ставит O flag = 1 и говорит host’ам брать additional information у DHCPv6 server.

Проверка:

show ipv6 interface g0/0/1 | begin ND

show ipv6 interface g0/0/1 | begin ND ciscoIOScommand Показывает ND/RA settings interface, включая поведение hosts.

В выводе нужно понимать строку вроде:

Hosts use stateless autoconfig for addresses.
Hosts use DHCP to obtain other configuration.

Stateful DHCPv6

В stateful mode host получает почти всё от DHCPv6 server.

Flags:

  • A=0
  • M=1

Для этого на interface включают:

ipv6 nd managed-config-flag

ipv6 nd managed-config-flag ciscoIOScommand Ставит M flag = 1 и говорит host’ам получать routable IPv6 addresses через DHCPv6.

Обычно ещё убирают SLAAC address creation:

ipv6 nd prefix default no-autoconfig

ipv6 nd prefix default no-autoconfig ciscoIOScommand Отключает SLAAC address generation для advertised prefix, effectively forcing hosts не создавать GUA сами.

Очень важный нюанс

В stateful DHCPv6 default gateway всё равно приходит из RA, а не из DHCPv6.

Stateless vs Stateful

СравнениеStateless DHCPv6Stateful DHCPv6
Кто создаёт GUAHost via SLAACDHCPv6 server
Server хранит bindingsНетДа
RA flagsA=1 O=1 M=0A=0 M=1
Что даёт DHCPv6DNS/domain/otherAddress + DNS/domain/other

Exam trap

Если оставить A=1 вместе с M=1, некоторые OS, например Windows, могут сделать address и через SLAAC, и через DHCPv6.

Как быстро запомнить

O = Other info

M = Managed address

Если понял тему

Ты можешь по одним только RA flags определить, host будет использовать SLAAC only, stateless DHCPv6 или stateful DHCPv6.