4.5. Настройка DHCP-сервера

Назначение

DHCP-сервер предназначен для автоматического присвоения сетевым устройствам IP-адреса и других параметров, необходимых для работы в сети TCP/IP.

Описание

DHCP-сервер предоставляет IP-адрес и сетевую конфигурацию DHCP-клиенту. При получении запроса клиента DHCP-сервер находит действительный IP-адрес из пула и отправляет клиенту. Также он отправляет клиенту параметры конфигурации сети. IP-адреса, назначенные DHCP-сервером, имеют срок действия (аренда), поэтому DHCP-клиенту необходимо продлить срок аренды до истечения срока действия аренды для резервирования текущего IP-адреса путем отправки сообщения DHCP REQUEST.

Если DHCP-сервер и клиент находятся в одной подсети, клиент может обмениваться информацией с сервером. В противном случае необходимо использовать DHCP-ретранслятор (см. главу “Настройка DHCP-ретрассляции”), который будет пересылать DHCP-сообщения между сервером и клиентом.

Основные опции, поддерживаемые DHCP-сервером, включают:

  • bootfile-name;

  • dns-server;

  • domain-name;

  • gateway;

  • netbios-name-server;

  • netbios-node-type;

  • tftp-server-address.

Кроме того, поддерживаются некоторые опции, которые задаются с помощью команды option [code] ([code]: команда, задающая параметр DHCP-опции из пула значений 2-254). Для удаления параметров используется команда “no option [code]”

Пример команды option:

Switch# configure terminal
Switch(config)# dhcp pool test
Switch(config-dhcp)# option 43 ip 192.168.1.1

Для возможности использования DHCP-сервера, он должен быть предварительно настроен. Например, должен быть создан пул IP-адресов, в пуле должен быть установлен шлюз по умолчанию, некоторые сетевые параметры для DHCP клиента должны быть установлены до начала работы DHCP-сервера.

Настройка

Настройка DHCP-сервера без ретрансляции

В примере ниже показана настройка двух коммутаторов: коммутатор “Switch1” - DHCP-сервер, коммутатор “Switch2” - DHCP-клиент.

image

Рис. 4.5 DHCP-сервер без ретрансляции

Шаг 1: Вход в режим “Global config”

Switch# configure terminal 

Шаг 2: Включение DHCP-сервера и настройка пула IP-адресов

На коммутаторе “Switch1”:

Switch(config)# service dhcp enable
Switch(config)# dhcp server
Switch(config)# dhcp pool pool5
Switch(dhcp-config)# network 5.5.5.0/24
Switch(dhcp-config)# gateway 5.5.5.1
Switch(dhcp-config)# exit

Шаг 3: Настройка портов на коммутаторах

На коммутаторе “Switch1”:

Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown 
Switch(config-if)# ip address 5.5.5.1/24 
Switch(config-if)# dhcp server enable
Switch(config-if)#exit

На коммутаторе “Switch2”:

Switch# configure terminal
Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown 
Switch(config-if)# ip address dhcp
Switch(config-if)# exit

Шаг 4: Проверка

Вывод конфигурации DHCP-сервера (коммутатор “Switch1”):

Switch# show running-config
!
service dhcp enable
!
interface eth-0-9
 no switchport
 dhcp server enable
 ip address 5.5.5.1/24
!
dhcp server
dhcp pool pool5
 network 5.5.5.0/24
 gateway 5.5.5.1

Вывод статуса DHCP-клиента (коммутатор “Switch2”):

Switch# show dhcp client verbose 
DHCP client informations:
============================================================
eth-0-9 DHCP client information:
  Current state: BOUND
  Allocated IP: 5.5.5.2 255.255.255.0
  Lease/renewal/rebinding: 1194/546/1044 seconds
  Lease from 2023-02-04 07:40:12 to 2023-02-04 08:00:12
  Will Renewal in 0 days 0 hours 9 minutes 6 seconds
  DHCP server: 5.5.5.1
  Transaction ID: 0x45b0b27b
  Default router: 5.5.5.1
  Classless static route: 
    Destination: 5.5.4.0, mask: 255.255.255.0, Nexthop: 5.5.5.1
  TFTP server addresses: 5.5.5.3
Client ID: switch-6e6e.361f.8400-eth-0-9

Вывод статистики DHCP-сервера (коммутатор “Switch1”):

Switch# show dhcp server statistics 
DHCP server packet statistics:
============================================================
Message Received:  
BOOTREQUEST:  0
DHCPDISCOVER:  1
DHCPREQUEST:  1
DHCPDECLINE:  0
DHCPRELEASE:  0
DHCPINFORM:  0
Message Sent:  
BOOTREPLY:  0
DHCPOFFER:  1
DHCPACK:  1
DHCPNAK:  0

Вывод адресов и интерфейсов DHCP-сервера (коммутатор “Switch1”):

Switch# show dhcp server binding all
 IP address      Client-ID/            Lease expiration             Type   
                 Hardware address     
5.5.5.2         6e:6e:36:1f:84:00     Sat 2023.02.04 08:00:12      Dynamic
Switch# show dhcp server interfaces 
List of DHCP server enabled interface(s):
DHCP server service status: enabled
Interface Name          
============================================================
eth-0-9

Настройка DHCP-сервера с ретрансляцией

В примере ниже показана настройка трех коммутаторов: коммутатор “Switch1” - DHCP-сервер, коммутатор “Switch2” - DHCP-ретранслятор, коммутатор “Switch3” - DHCP-клиент.

image

Рис. 4.6 DHCP-сервер с ретрансляцией

Шаг 1: Вход в режим “Global config”

Switch# configure terminal

Шаг 2: Включение DHCP-сервера и настройка пула IP-адресов и DHCP-ретрансляции

На коммутаторе “Switch1”:

Switch(config)# service dhcp enable
Switch(config)# dhcp server
Switch(dhcp-config)# dhcp pool pool4
Switch(dhcp-config)# network 4.4.4.0/24
Switch(dhcp-config)# gateway 4.4.4.1
Switch(dhcp-config)# exit

На коммутаторе “Switch2”:

Switch(config)# service dhcp enable
Switch(config)# dhcp relay
Switch(config)# dhcp-server 1 5.5.5.1

Шаг 2: Добавление IP-маршрута

На коммутаторе “Switch1”:

Switch(config)# ip route 4.4.4.0/24 5.5.5.2

Шаг 4: Настройка портов на коммутаторах

На коммутаторе “Switch1”:

Switch(config)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown 
Switch(config-if)# ip address 5.5.5.1/24 
Switch(config-if)# dhcp server enable
Switch(config-if)# exit

На коммутаторе “Switch2”:

Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# no shutdown 
Switch(config-if)# ip address 4.4.4.1/24
Switch(config-if)# dhcp-server 1
Switch(config-if)# interface eth-0-9
Switch(config-if)# no switchport
Switch(config-if)# no shutdown 
Switch(config-if)# ip address 5.5.5.2/24
Switch(config-if)# exit

На коммутаторе “Switch3”:

Switch(config)# interface eth-0-17
Switch(config-if)# no switchport
Switch(config-if)# no shutdown 
Switch(config-if)# ip address dhcp
Switch(config-if)# exit

Шаг 5: Выход из режима “Global config”

Switch(config)# end

Шаг 6: Проверка

Вывод конфигурации DHCP-сервера (коммутатор “Switch1”):

Switch# show running-config
!
service dhcp enable
!
interface eth-0-9
 no switchport
 dhcp server enable
 ip address 5.5.5.1/24
!
ip route 4.4.4.0/24 5.5.5.2
!
dhcp server
dhcp pool pool4
 network 4.4.4.0/24
 gateway 4.4.4.1

Вывод статуса клиентов на DHCP-сервере (коммутатор “Switch1”):

Switch# show dhcp client verbose 
DHCP client informations:
============================================================
eth-0-17 DHCP client information:
  Current state: BOUND
  Allocated IP: 4.4.4.5 255.255.255.0
  Lease/renewal/rebinding: 1199/517/1049 seconds
  Lease from 2023-02-06 05:23:09 to 2023-02-06 05:43:09
  Will Renewal in 0 days 0 hours 8 minutes 37 seconds
  DHCP server: 5.5.5.1
  Transaction ID: 0x192a4f7d
  Default router: 4.4.4.1
  Classless static route: 
    Destination: 5.5.4.0, mask: 255.255.255.0, Nexthop: 4.4.4.1
  TFTP server addresses: 5.5.5.3
  Client ID: switch-3c9a.b29a.ba00-eth-0-17

Вывод статистики DHCP-сервера (коммутатор “Switch1”):

Switch# show dhcp server statistics 
DHCP server packet statistics:
============================================================
Message Received:  
BOOTREQUEST:  0
DHCPDISCOVER:  1
DHCPREQUEST:  1
DHCPDECLINE:  0
DHCPRELEASE:  0
DHCPINFORM:  0
Message Sent:  
BOOTREPLY:  0
DHCPOFFER:  1
DHCPACK:  1
DHCPNAK:  0

Вывод адресов и интерфейсов DHCP-сервера (коммутатор “Switch1”):

Switch# show dhcp server binding all
IP address      Client-ID/            Lease expiration             Type   
                 Hardware address     
 4.4.4.5         3c:9a:b2:9a:ba:00     Mon 2023.02.06 05:43:09      Dynamic
Switch# show dhcp server interfaces 
List of DHCP server enabled interface(s):
DHCP server service status: enabled
Interface Name          
============================================================
eth-0-9