Базовая настройка на маршрутизаторе Cisco




Теория


Как следует из названия, протокол DHCP (Dynamic Host Configuration Protocol) используется для динамической конфигурации параметров сетевых устройств.

Работа протокола DHCP начинается с того, что клиент, которому необходима динамическая конфигурация, шлет запрос DISCOVERY. Выглядит он следующим образом:

Frame 34 (342 bytes on wire, 342 bytes captured)
Ethernet II, Src: 02:00:4c:4f:4f:50 (02:00:4c:4f:4f:50), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
#МАС-адрес получателя широковещательный
Internet Protocol, Src: 0.0.0.0 (0.0.0.0), Dst: 255.255.255.255 (255.255.255.255)
#IP-адрес также широковещательный
User Datagram Protocol, Src Port: bootpc (68), Dst Port: bootps (67)
#UDP-порты 68 и 67 определяют клиента и сервер
Client IP address: 0.0.0.0 (0.0.0.0)
#указывается текущий адрес клиента, может содержать не нулевое значение если, например, у клиента есть ip-адрес и он продлевает время его аренды
Your (client) IP address: 0.0.0.0 (0.0.0.0)
#в этом поле указывается адрес, выдаваемый DHCP-сервером при ответе
Next server IP address: 0.0.0.0 (0.0.0.0)
#адрес самого DHCP-сервера
Relay agent IP address: 0.0.0.0 (0.0.0.0)
#адрес Relay-агента, если имеется (будет рассмотрен далее)
Client MAC address: 02:00:4c:4f:4f:50 (02:00:4c:4f:4f:50)
#МАС-адрес клиента

 

Дальше идет поле опций, номера опций могут быть в диапазоне от 0 до 255, каждая опция имеет свое назначение:

Option: (t=50,l=4) Requested IP Address = 192.168.13.2
#опция 50 имеет длину 4 байта, в ней указывается IP-адрес, который хотел бы получить клиент по возможности
Option: (t=12,l=8) Host Name = "MainHost"
#опция 12 имеет длину 8 байт, в ней указывается текущее имя хоста, которое может быть изменено после конфигурации
Option: (t=55,l=11) Parameter Request List
#опция 55, в ней содержится список запрашиваемых клиентом параметров, в данной ситуации клиент запрашивает 11 параметров, каждому из которых соответствует номер опции

 

В ответ сервер шлет предложение OFFER, в котором указывает адрес, который он назначает клиенту, а также заполняет опции соответствующими значениями:

Клиент может получить несколько предложений OFFER от разных DHCP-серверов (если их несколько), какому из серверов отдать предпочтение, выбирает сам клиент. Обычно клиент выбирает тот сервер, от которого он первым получил предложение.

После того, как клиент определяет для себя сервер, с которого он хочет получить конфигурацию, он отправляет запрос REQUEST. Запрос отправляется широковещательно, чтобы его могли получить все DHCP-сервера, а адрес того сервера, который выбрал клиент, указывается в специальной опции:

Option: (t=54,l=4) DHCP Server Identifier = 192.168.13.1


Таким образом клиент говорит всем серверам в широковещательном домене, какому из них он отдал предпочтение.

Следующим шагом является подтверждение запроса (сообщение ACK) со стороны сервера. Сервер также широковещательно рассылает подтверждение, но в теле сообщения явным образом указывает МАС-адрес клиента:

Client MAC address: 02:00:4c:4f:4f:50 (02:00:4c:4f:4f:50)

 

При назначении адресов и клиент и сервер проверяют их уникальность. Предположим, на сервере сконфигурирован пул адресов, который начинается с адреса 192.168.13.2. Первый адрес пула назначен вручную одним из пользователей сети. При назначении такого адреса по DHCP произойдет конфликт, поэтому, для развязания конфликтов существует следующий механизм:

После получения сообщения DISCOVERY (строка 1), сервер выбирает первый адрес из пула (в данном случае 192.168.13.2) и отправляет на него ARP-запрос (строка 2)

Так как компьютер с таким адресом существует в сети, сервер получает ответ (строка 3).

Чтобы убедиться в наличии в сети узла с адресом 192.168.13.2 сервер отправляет на этот адрес Echo-Request (строка 4) и получает ответ (строка 5).

В таком случае, сервер берет следующий свободный адрес из пула (в данном случае 192.168.13.3) и отправляет на него ARP-запрос (строка 6)

Не дождавшись ответа (прошло почти 15 сек.) сервер считает адрес свободным и предлагает его клиенту в сообщении REQUEST (строка 7).

Клиент, подтвердив получение адреса (строка 8) и дождавшись подтверждения от сервера (строка 9), также проверяет, не занят ли кем-то выданный адрес.

Это делается путем отправки ARP-запросов клиентом (строки 10-12), если ответ на запрос не пришел, клиент назначает себе на интерфейс полученный адрес.

Базовая настройка на маршрутизаторе Cisco

 

Рассмотрим самый простой случай, когда на маршрутизаторе конфигурируется один пул адресов и сервер находится в том же широковещательном домене, что и клиенты:

!в режиме глобальной конфигурации определим адреса, которые будут исключены из пула, в данном случае это адреса 192.168.13.1 и 192.168.13.10...192.168.13.15
ip dhcp excluded-address 192.168.13.1
ip dhcp excluded-address 192.168.13.10 192.168.13.15
!создадим пул адресов с именем lan_pool1
ip dhcp pool lan_pool1
!определим подсеть, из которой будут выдаваться адреса
network 192.168.13.0/24
!определим адрес шлюза по-умолчанию
ip default-router 192.168.13.1
!определим адреса DNS-серверов
dns-server 192.168.13.10 192.168.13.11
!определим имя домена
domain-name example.ua
!определим время аренды адреса 5 дней (по-умолчанию 1 день)
lease 5

 

При такой конфигурации сервер будет выдавать адреса только тем клиентам, запрос от которых пришел через интерфейс, адрес которого находится в той же сети, что и сконфигурированный пул.

 

helper-address

 

Рассмотрим конфигурацию и настройку централизованного сервера DHCP и агентов DHCP-Relay

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


В качестве примера возьмем следующую схему:

На маршрутизаторе R3 расположен DHCP-сервер, который централизованно выдает адреса в сети LAN_1 и LAN_2. Маршрутизаторы R1 и R2 в данной схеме являются DHCP-Relay агентами

Сконфигурируем на R3 два пула адресов для каждой локальной сети:

!в режиме глобальной конфигурации определим адреса, которые будут исключены из пула (это адреса интерфейсов R1 и R2
ip dhcp excluded-address 192.168.1.1
ip dhcp excluded-address 192.168.2.1
!создадим пул адресов с именем LAN_1
ip dhcp pool LAN1
network 192.168.1.0 255.255.255.0
ip default-router 192.168.1.1 //default-router 192.168.1.1
!создадим пул адресов с именем LAN_2
ip dhcp pool LAN2
network 192.168.2.0 255.255.255.0
ip default-router 192.168.2.1 //default-router 192.168.2.1


Естественно, при необходимости можно добавить в пул дополнительные опции.

Следующий этап — конфигурация агентов DHCP-Relay на маршрутизаторах R1 и R2. Суть DHCP-Relay заключается в пересылке широковещательного пакета от клиента одноадресатным пакетом DHCP-серверу.

Конфигурация агентов выполняется следующей командой:

!выбираем интерфейс, на который будет приходить широковещательный запрос от клиентов, в данном случае это интерфейс f0/0 маршрутизатора, который подключен к сегменту сети
interface fa0/0
ip helper-address 10.1.1.2


аналогично конфигурируется маршрутизатор R2

interface fa0/0
ip helper-address 10.1.2.2


Нужно отметить, что команда ip helper-address x.x.x.x заставляет пересылать широковещательные UDP сообщения не только протокола DHCP, по умолчанию будут пересылаться также следующие запросы:

  • Time (udp 37)
  • TACACS (udp 49)
  • DNS (udp 53)
  • TFTP (udp 69)
  • NetBIOS name service (udp 137)
  • NetBIOS datagram service (udp 138)


Если мы хотим исправить ситуацию, в режиме глобальной конфигурации определяем, какие запросы пересылать, а какие — нет:

no ip forward-protocol udp 37
no ip forward-protocol udp 53

 

Как это работает?


Клиент шлет стандартный DISCOVERY:

который пересылается Relay-агентом в направлении DHCP-сервера (измененные поля отмечены красным):

Как видно из картинки, сообщение теперь пересылается одноадресным пакетом с источником 192.168.1.1 (интерфейс маршрутизатора, на который был получен широковещательный пакет) и получателем 10.1.1.2 (адрес, который указан командой ip helper-address. Кроме того, адрес 192.168.1.1 указан в поле Relay agent IP address

На основании адреса источника сообщения DHCP-сервер определяет, из какого пула выдавать адреса. Для маршрутизатора R2 запрос пойдет с адресом источника 192.168.2.1 и сервер выдаст адрес из пула LAN_2.

Предложение OFFER от R3 к R1 выглядит следующим образом:

R1 пересылает его клиенту меняя только адреса источника на 192.168.1.1 и получателя на 192.168.1.2

Вот таким образом выглядит обмен сообщениями между клиентом, агентом и сервером:

Заключение


Для правильной работы данного примера важно учесть следующий момент: маршрутизатор R3 получает пакеты от R1 с адресом источника 192.168.1.1, поэтому на R3 сеть 192.168.1.0 должна быть в таблице маршрутизации, для этого настроим EIGRP между маршрутизаторами для решения этой проблемы. Смотрим таблицу:

R3#sh ip ro

Gateway of last resort is not set

10.0.0.0/24 is subnetted, 2 subnets
C 10.1.2.0 is directly connected, FastEthernet0/0
C 10.1.1.0 is directly connected, FastEthernet0/1
D 192.168.1.0/24 [90/307200] via 10.1.1.1, 00:00:16, FastEthernet0/1
D 192.168.2.0/24 [90/307200] via 10.1.2.1, 00:02:17, FastEthernet0/0

 

 

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-04-30 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: