book2

7.2 Configure a Cisco IOS DHCPv4 Server

Router как DHCPv4 Server

Если отдельного DHCP server нет, Cisco router может сам раздавать IPv4 addresses.

Обычно настройка идёт в три шага:

  1. исключить static addresses;
  2. создать pool;
  3. задать параметры pool.

Шаг 1. Excluded addresses

Некоторые addresses нельзя отдавать клиентам:

  • router interfaces;
  • servers;
  • printers;
  • другие statically addressed devices.

Для этого используют:

ip dhcp excluded-address 192.168.10.1 192.168.10.9
ip dhcp excluded-address 192.168.10.254

ip dhcp excluded-address 192.168.10.1 192.168.10.9 ciscoIOScommand Исключает диапазон адресов из DHCP pool.

ip dhcp excluded-address 192.168.10.254 ciscoIOScommand Исключает один конкретный address из выдачи.

Шаг 2. Создать DHCP pool

ip dhcp pool LAN-POOL-1

ip dhcp pool LAN-POOL-1 ciscoIOScommand Создаёт DHCP pool и переводит router в DHCP configuration mode.

Шаг 3. Настроить pool

Минимум нужно задать:

  • network;
  • default-router.

Часто ещё задают:

  • dns-server;
  • domain-name;
  • lease.

Пример:

R1(config)# ip dhcp pool LAN-POOL-1
R1(dhcp-config)# network 192.168.10.0 255.255.255.0
R1(dhcp-config)# default-router 192.168.10.1
R1(dhcp-config)# dns-server 192.168.11.5
R1(dhcp-config)# domain-name example.com

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

network 192.168.10.0 255.255.255.0 ciscoIOScommand Определяет subnet, из которой DHCP server будет выдавать addresses.

default-router 192.168.10.1 ciscoIOScommand Указывает default gateway, который получат DHCP clients.

dns-server 192.168.11.5 ciscoIOScommand Указывает DNS server address для клиентов.

domain-name example.com ciscoIOScommand Передаёт доменное имя клиентам.

lease 7 ciscoIOScommand Меняет время lease. Если не настроить, default обычно 1 day.

netbios-name-server 192.168.11.10 ciscoIOScommand Задаёт WINS/NetBIOS name server. В современных сетях часто не нужен.

Таблица команд pool

ЗадачаКоманда
Создать poolip dhcp pool NAME
Задать сетьnetwork A.B.C.D MASK
Задать gatewaydefault-router A.B.C.D
Задать DNSdns-server A.B.C.D
Задать domaindomain-name NAME
Задать leaselease ...

Проверка DHCPv4 Server

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

show running-config | section dhcp
show ip dhcp binding
show ip dhcp server statistics

show running-config | section dhcp ciscoIOScommand Показывает только DHCP-related configuration.

show ip dhcp binding ciscoIOScommand Показывает, какие IP addresses выданы каким clients.

show ip dhcp server statistics ciscoIOScommand Показывает счётчики DHCP messages, например DHCPDISCOVER и DHCPREQUEST.

Что смотреть в проверке

Если show ip dhcp binding пустой, а clients не получают адреса, сначала смотри: pool, excluded addresses, interface status и relay logic.

Disable / Enable DHCP service

По умолчанию DHCP service на Cisco IOS включён.

no service dhcp
service dhcp

no service dhcp ciscoIOScommand Выключает DHCP service на router.

service dhcp ciscoIOScommand Снова включает DHCP service.

Важно

Остановка и повторный запуск DHCP service или очистка bindings иногда временно создают риск duplicate addressing.

DHCP Relay

DHCP client сначала шлёт broadcast.

Но routers не forward’ят broadcasts между subnets.

Поэтому если DHCP server находится в другой сети, нужен relay agent.

Здесь используется команда:

interface g0/0/0
ip helper-address 192.168.11.6

ip helper-address 192.168.11.6 ciscoIOScommand Настраивает router как relay agent и пересылает DHCP broadcasts на указанный server как unicast.

Проверка relay

show ip interface g0/0/0

show ip interface g0/0/0 ciscoIOScommand Показывает параметры interface, включая configured helper address.

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

Helper address is 192.168.11.6

Какие ещё broadcasts relayed по умолчанию

ip helper-address по умолчанию форвардит несколько UDP services, не только DHCP:

  • Time;
  • TACACS;
  • DNS;
  • DHCP/BOOTP server;
  • DHCP/BOOTP client;
  • TFTP;
  • NetBIOS name service;
  • NetBIOS datagram service.

Exam trap

Если DHCP server в другой subnet и нет ip helper-address, client address не получит.

Memory hook

Same subnet = DHCP can work directly

Different subnet = use relay

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

Ты можешь настроить router как DHCP server, исключить нужные адреса, проверить bindings и заставить DHCP работать через router между разными LANs.