Рейтинг@Mail.ru

NetCloud

Простыми словами о сетевых технологиях

Настройка DHCP-Relay на Cisco

DHCP позволяет устройствам в сети получать IP-адрес автоматически. В такой сети есть два участника: DHCP-клиент и DHCP-сервер. При получении IP-адреса, клиент посылает широковещательный запрос DISCOVER на поиск DHCP-сервера. Если сервер находится в одной подсети с компьютером, которому необходимо получить сетевые настройки, то проблем в данной ситуации не возникает. В противном случае, когда DHCP-сервер и DHCP-клиент находятся в разных подсетях, широковещательный запрос DISCOVER отброситься на ближайшем маршрутизаторе, так как маршрутизаторы не пропускают широковещательные запросы. Таким образом, необходим механизм, который бы пропускал определенные широковещательные запросы (в данном случае, протокола DHCP, 67/68 порты UDP) на нужный нам сервер.

Более подробно про работу протокола DHCP можно почитать в моей статье, а также здесь.  Для примера рассмотри две схемы: в первой схеме — DHCP сервер находится за маршрутизатором в другой подсети, во второй схеме — DHCP-сервер и локальная сеть разнесены в разных VLAN.

Первая схема:

ckduwjeo

Конфигурация Router:

Router>enable - переходим в расширенный режим
Router(config)conf t - переходим в режим конфигурации
Router(config)#interface fa0/0 - настраиваем интерфейс в сторону LAN
Router(config-if)#description LAN - описание интерфейса
Router(config-if)#ip address 172.16.1.1 255.255.255.0 - задаем шлюз по-умолчанию
Router(config-if)#no shutdown - включаем интерфейс 
Router(config-if)#ip helper-address 172.16.2.2 - перенаправляем широковещательные запросы
Router(config-if)#exit 
Router(config)#interface fa0/1 - настраиваем интерфейс в сторону DHCP-server 
Router(config-if)#description DHCP-server 
Router(config-if)#ip address 172.16.2.1 255.255.255.0 
Router(config-if)#no shutdown

По сути главная строчка в этой конфигурации ip-helper-address 172.16.2.2. Это команда означает, что все широковещательные запросы протокола UDP (в том числе и DHCP Discover), попадающие на порт fa0/0 (в сторону локальной подсети) будут пересылаться на хост 172.16.2.2 (адрес DHCP-server). Пересылаться будут следующие запросы:

  1. Time (udp 37)
  2. TACACS (udp 49)
  3. DNS (udp 53)
  4. TFTP (udp 69)
  5. NetBIOS name service (udp 137)
  6. NetBIOS datagram service (udp 138)

Если вы хотите запретить пересылать некоторые запросы, то воспользуйтесь командой no ip forward-protocol udp номер_порта. Например — запрет на пересылку DNS-запросов:

Router(config)#no ip forward-protocol udp 53

Рассмотрим как пакет DHCP-Discover находит нужный сервер. Компьютер PC0 подготавливает DHCP-запрос на автоматическое выделение IP-адреса.

zzuqlrarczvotg30

Видим, что MAC-адрес назначения широковещательный FFFF.FFFF.FFFF — такой пакет отбросится на маршрутизаторе, если на нем не настроена ретрансляция.

Коммутатор перешлет широковещательный пакет на все порты, кроме того с которого был получен пакет. Компьютеры дропнут пакет, так как не выполняют функции DHCP-сервера. Маршрутизатор определит, что Ip-адрес назначения является широковещательным, а также, что пакет относится к DHCP-протоколу. Маршрутизатор видит, что пакет совпадает с helper-критерием и пересылает пакет на helper-адрес. Он смотрит в свою таблицу маршрутизации и видит что подсеть 172.16.2.1/24 находится на порту fa0/1. Маршрутизаор посылает пакет на указанный порт. В качестве Source Ip — маршрутизатор указывает свой адрес 172.16.1.1, в качестве Destination IP указывает IP-адрес DHCP-сервера 172.16.2.2.

sm2rnrdb

Таблица маршрутизации Router:

6kamrbgk

DHCP-сервер в свою очередь посылает ответ DHCP-Request с предложенным Ip-адресом.

k7y4bjqu

Конфигурация для Switch:

Switch(config)#interface range fa0/1 - fa0/4 - настраиваем порты в сторону PC
Switch(config-if-range)#description PC
Switch(config-if-range)#switchport mode access - переводим порты в режим доступа
Switch(config-if-range)#switchport access vlan 10 - тегируем кадры 10 VLAN'ом
Switch(config-if-range)#exit
Switch(config)#interface fa0/5 - настраиваем порт в сторону DHCP-server
Switch(config-if)#description DHCP-server
Switch(config-if)#switchport mode access - переводим порты в режим доступа
Switch(config-if)#switchport access vlan 20 - тегируем кадры 20 VLAN'ом
Switch(config-if)#exit
Switch(config)#interface fa0/24 - настраиваем порт в сторону Router
Switch(config-if)#description Router
Switch(config-if)#switchport mode trunk - настраиваем порт в режиме транка
Switch(config-if)#switchport trunk allowed vlan 10,20 - пропускаем VLAN 10,20
Switch(config-if)#exit

Конфигурация для Router

Router(config)#interface fa0/0
Router(config-if)#no shutdown - включаем интерфейс
Router(config-if)#exit
Router(config)#interface fa0/0.10 - настраиваем сабинтерфейс для пользователей
Router(config-subif)#description User-PC
Router(config-subif)#encapsulation dot1q 10 - тегируем кадры 10 VLAN'ом
Router(config-subif)#ip address 172.16.1.1 255.255.255.0 - задаем шлюз по-умолчанию
Router(config-subif)#ip helper-address 172.16.2.2 - пересылаем широковещательные пакеты на сервер
Router(config-subif)#exit
Router(config)#interface fa0/0.20 - настраиваем сабинтерфейс для сервера
Router(config-subif)#description DHCP-server
Router(config-subif)#encapsulation dot1q 20 - тегируем кадры 20 VLAN'ом
Router(config-subif)#ip address 172.16.2.1 255.255.255.0 - задаем шлюз по-умолчанию
Router(config-subif)#exit 

Настройки для второй схеме полностью аналогичны первой, разница лишь в том, что мы указываем команду ip helper-address 172.16.2.2 на сабинтерфейсе.


 

Обсуждение закрыто.