book2

8.4 Configure DHCPv6 Server

Router roles в DHCPv6

Cisco IOS router в этой теме может быть:

  • DHCPv6 server;
  • DHCPv6 client;
  • DHCPv6 relay agent.

Это удобно, потому что в labs и small networks один router может закрывать сразу несколько ролей.

Stateless DHCPv6 Server

Когда использовать

Когда host должен:

  • сам собрать GUA через SLAAC;
  • получить DNS и domain-name через DHCPv6.

Базовая настройка

R1(config)# ipv6 unicast-routing
R1(config)# ipv6 dhcp pool IPV6-STATELESS
R1(config-dhcpv6)# dns-server 2001:db8:acad:1::254
R1(config-dhcpv6)# domain-name example.com
R1(config)# interface g0/0/1
R1(config-if)# ipv6 address fe80::1 link-local
R1(config-if)# ipv6 address 2001:db8:acad:1::1/64
R1(config-if)# ipv6 nd other-config-flag
R1(config-if)# ipv6 dhcp server IPV6-STATELESS
R1(config-if)# no shutdown

Что делает каждая новая команда

ipv6 dhcp pool IPV6-STATELESS ciscoIOScommand Создаёт DHCPv6 pool и переводит router в DHCPv6 pool configuration mode.

dns-server 2001:db8:acad:1::254 ciscoIOScommand Указывает IPv6 DNS server, который узнают clients.

domain-name example.com ciscoIOScommand Выдаёт clients domain suffix.

ipv6 dhcp server IPV6-STATELESS ciscoIOScommand Привязывает DHCPv6 pool к interface.

Stateless DHCPv6 Client Router

Router-клиент в stateless scenario:

  1. включает IPv6 routing;
  2. создаёт LLA;
  3. использует SLAAC для address;
  4. получает other info через DHCPv6.
R3(config)# ipv6 unicast-routing
R3(config)# interface g0/0/1
R3(config-if)# ipv6 enable
R3(config-if)# ipv6 address autoconfig

ipv6 address autoconfig ciscoIOScommand Говорит router interface использовать SLAAC для automatic IPv6 address configuration.

show ipv6 dhcp interface g0/0/1 ciscoIOScommand Показывает, какие DHCPv6 parameters узнал interface, например DNS и domain name.

Stateful DHCPv6 Server

Когда использовать

Когда server должен выдать host’у:

  • сам IPv6 address;
  • DNS;
  • domain-name;
  • и хранить bindings.

Базовая настройка

R1(config)# ipv6 unicast-routing
R1(config)# ipv6 dhcp pool IPV6-STATEFUL
R1(config-dhcpv6)# address prefix 2001:db8:acad:1::/64
R1(config-dhcpv6)# dns-server 2001:4860:4860::8888
R1(config-dhcpv6)# domain-name example.com
R1(config)# interface g0/0/1
R1(config-if)# ipv6 address fe80::1 link-local
R1(config-if)# ipv6 address 2001:db8:acad:1::1/64
R1(config-if)# ipv6 nd managed-config-flag
R1(config-if)# ipv6 nd prefix default no-autoconfig
R1(config-if)# ipv6 dhcp server IPV6-STATEFUL
R1(config-if)# no shutdown

Что делает каждая новая команда

address prefix 2001:db8:acad:1::/64 ciscoIOScommand Задаёт prefix, из которого stateful DHCPv6 server будет назначать IPv6 addresses.

ipv6 nd managed-config-flag ciscoIOScommand Ставит M flag = 1, заставляя hosts получать addresses через DHCPv6.

ipv6 nd prefix default no-autoconfig ciscoIOScommand Отключает SLAAC address generation для этого prefix, чтобы host не создавал GUA сам.

Stateful DHCPv6 Client Router

Router-клиент в stateful mode:

R3(config)# ipv6 unicast-routing
R3(config)# interface g0/0/1
R3(config-if)# ipv6 enable
R3(config-if)# ipv6 address dhcp

ipv6 address dhcp ciscoIOScommand Говорит interface получать IPv6 addressing information от DHCPv6 server.

Verify commands

Главные команды:

show ipv6 dhcp pool
show ipv6 dhcp binding
show ipv6 dhcp interface g0/0/1
show ipv6 interface brief

show ipv6 dhcp pool ciscoIOScommand Показывает DHCPv6 pool, prefix, DNS, domain name и число active clients.

show ipv6 dhcp binding ciscoIOScommand Показывает stateful bindings клиентов и выданные IPv6 addresses.

show ipv6 dhcp interface g0/0/1 ciscoIOScommand Показывает DHCPv6 mode interface и полученные параметры.

show ipv6 interface brief ciscoIOScommand Коротко показывает IPv6 addresses на interfaces.

Что важно для проверки

show ipv6 dhcp binding полезен именно для stateful DHCPv6. Stateless server bindings не ведёт.

DHCPv6 Relay Agent

Если DHCPv6 server находится в другой сети, нужен relay.

Настройка:

interface g0/0/1
ipv6 dhcp relay destination 2001:db8:acad:1::2 g0/0/0

ipv6 dhcp relay destination 2001:db8:acad:1::2 g0/0/0 ciscoIOScommand Настраивает interface как DHCPv6 relay и указывает DHCPv6 server address плюс egress interface.

Проверка:

show ipv6 dhcp interface

show ipv6 dhcp interface ciscoIOScommand Показывает, работает ли interface в server/client/relay mode и какие relay destinations заданы.

Частая ошибка

Путать ipv6 dhcp server ... и ipv6 dhcp relay destination ....

Первая команда делает interface server-side responder. Вторая делает router relay agent.

Memory hook

Stateless = SLAAC for address, DHCPv6 for extras

Stateful = DHCPv6 gives the address

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

Ты можешь с нуля настроить stateless DHCPv6, stateful DHCPv6, DHCPv6 client и relay agent на Cisco IOS.