MikroTik RouterOS DHCP сървър, DHCP клиент и DHCP Relay

* не пропускайте видео демонстрацията в края на статията

DHCP – основна информация

DHCP е мрежови протокол от приложния слой на OSI модела, който се използва при IP базирани мрежи. DHCP елиминира голяма част от ръчната работа при назначаване на IP адреси и свързаните с тях мрежови настройки. Създаден е от Dynamic Host Configuration Working Group на Internet Engineering Task Force (IETF).

DHCP свързва временно IP адрес и други конфигурационни параметри на DHCP клиент и осигурява рамка за приемане и предаване на информация за конфигурацията на хостове. Създаден е за да осигури временни адреси на мрежовите устройства, които са ги заявили. Характеризира се с добра адаптация към ситуация, в която хостове се местят от едно място на друго или редовно се добавят или премахват от мрежата. Използва главно за опростяване на администрирането и поддръжката на компютрите мрежи.

Стандартизацията на DHCP започва от RFC 1531 през месец октомври 1993 г., като разширение на BOOTP (Bootstrap Protocol).

След съвместната работа на множество мрежови инженери за развитие и популяризиране на протокола през 1997 г. е публикуван RFC 2131, който остава актуален и до днес.

DHCPv6 е разширен допълнително с цел предоставяне на мрежови настройки на клиенти, използващи механизмите за динамична конфигурация в RFC 3736.

Портове

DHCP е базиран на протоколите UDP и IP. Използвани портове за IPv4: 67 – на сървъра; 68 – на клиента (за IPv6: 547 – на сървъра; 546 – на клиента).

Софтуерни компоненти и функции

От страна на клиента:

  • Активиран и инсталиран софтуерен клиент (DHCP клиент)
  • Обработва броудкаст съобщенията
  • Заявява и получава IP адрес и свързаните с него мрежови настройки

От страна на сървъра:

  • Инсталиран и конфигуриран сървърен софтуер (DHCP сървър)
  • Проектиран да отговаря на клиентски заявки за мрежова конфигурация
  • Управлява диапазони от IP адреси (pools) и свързана с тях информация

Препредаващи (ретранслиращи) агенти:

  • Препредава DHCP съобщенията между DHCP клиенти и DHCP сървъри, разположени в различни IP мрежи

Препредаващи агенти (Relay Agents/ DHCP Helper address)

Маршрутизаторите блокират броудкаст съобщенията в други броудкаст домейни, което означава, че DHCP отговорите трябва да идват от същата мрежа. Препредаващи агенти прихващат DHCP заявките, препакетират ги, като ги изпращат под формата на unicast съобщения до познат IP адрес на DHCP сървър в друга мрежа.

DHCP сървърът изпраща своя отговор на препращащия агент, който ги препраща към DHCP клиентите (фиг. 1).

DHCP-Relay-Agent

Фигура 1. Компоненти и комуникация при DHCP

DHCP комуникация

Назначаването на мрежова конфигурация се извършва чрез размяна на съобщения, известен като DORA. Абревиатурата идва от съобщенията, които се изпращат от сървъра и клиента: DISCOVER, OFFER, REQUEST, ACKNOWLEDGEMENT.

За по-добра визуализация разгледайте следващата фигура (фиг. 2).

DHCP-DORA

Фигура 2. DISCOVER, OFFER, REQUEST, ACKNOWLEDGEMENT (DORA)

Използването на мрежови анализатор (като WireShark) дава отличен поглед върху структурата на съобщенията и последователността на тяхното изпълнение (DORA). При използване на WireShark за анализ се препоръчва използването на филтър: bootp (фиг. 3).

WireShark-DHCP1

Фигура 3. Мрежовият анализатор WireShark – отличен инструмент за анализ на DHCP съобщенията

Други DHCP съобщения са:

  • DHCPNAK – ако IP адресът не може да се използва от клиента, защото той вече не е валиден или сега се използва от друг компютър, DHCP сървърът отговаря с DHCPNAK пакет и клиентът трябва да започнете процеса на заявяване (DORA) отново. Всеки път, когато DHCP сървър получава искане за IP адрес, който е невалиден според неговата конфигурация, то той изпраща DHCPNAK съобщение на клиента
  • DHCPDECLINE – ако DHCP клиентът определи предлаганите конфигурационни параметри като невалидни, той изпраща DHCPDecline пакет към сървъра и започва процеса на повторно заявяване
  • DHCPRELEASE – обикновено се изпраща от DHCP клиента при напускане на мрежата
  • DHCPINFORM – Използва се от компютрите за да заявяват и поддържат информация, свързана с тяхната конфигурация. Когато се използва този вид съобщение, подателят вече разполага с IP адрес, което може и да не бъде получен от DHCP сървъра.

На следващата фигура са показани DHCPRELEASE (след изпълнение на ipconfig /release), последвани е от DORA, след това подновяване: DHCPREQUEST и DHCPACK (след изпълнение на ipconfig /renew), следва DHCPNAK (след смяна на резервацията в DHCP сървъра), последван от DORA и получаване на нов IP адрес (фиг. 4).

WireShark-DHCP2

Фигура 4. Различните типове DHCP съобщения – преглед а WireShark

Стандартното подновяването на мрежова конфигурация от страна на клиента се извършава чрез DHCPREQUEST, който се изпраща на ½ от времето (leas time). Ако DHCP сървърът е на линия, той изпраща DHCPACK с новия lease time. При условие, че няма DHCPACK – се прави проверка на всеки следващ ½ интервал време до достигане на 87.5% от времето. При липса на отговор или получаване на DHCPNAK (Negative Acknowledgment) – адресът се освобождава и процесът DORA започва отново.

DHCP Setup в RouterOS

DHCP Setup е бутон, който стартира помощник за добавяне на DHCP сървър в RouterOS. След натискане на бутона в няколко стъпки се посочва: мрежови интерфейс, на който да работи DHCP сървърът; адресно пространство; gateway за мрежата; диапазон от раздавани адреси; адреси за dns сървър/и; време за раздаване.

DHCP Setup създава конфигурации с подадените параметри на 3 места: IP / Pool; IP / DHCP Server / DHCP; IP / DHCP Server / Networks (фиг. 5).

MikroTik-DHCP

Фигура 5. DHCP Setup – DHCP сървър, DHCP мрежа, IP pool

Освен IP адрес, мрежова маска, GW и DNS, DHCP може да назначава и други опции като:

  • NTP Server; POP3 Server, Domain
  • Повече информация: IANA – налични са всички опции според съответните RFC

При наличие на Bridge, DHCP сървърът се стартира на Bridge интерфейса, а не на негов порт.

В IP / DHCP Server/ Leases e представена информация за клиентите на DHCP сървъра – показва динамично и статично разпределените адреси.  Позволява превръщане на динамичен адрес в статичен (резервиране – обвързва се MAC с IP).

DHCP сървърът може да работи и само със статични адреси. IP адреси ще получат само клиенти, за които има предварително направена резервация.

Полезни команди

Преглед на раздадените мрежови адреси:

  • /ip dhcp-server lease print
  • /ip dhcp-server lease print detail (детайлна информация)

Превръщане на динамичен адрес в статичен:

  • /ip dhcp-server lease make-static numbers=0

Смяна на статичен адрес с нов адрес:

  • /ip dhcp-server lease set address=192.168.3.100 numbers=0

Демонстрация – DHCP сървър, клиент и агент

Следващата видео демонстрация представя в рамките на 5 минути създаването на следната мрежова диаграма (фиг. 6).

GNS-MikroTik-RouterOS-DHCP-Relay

Фигура 6. Мрежова диаграма, реализирана в GNS3

Използването на 3 комутатора има за цел директен анализ на трафика с WireShark.

Конфигурации на рутерите

R1

/ip pool
add name=dhcp_pool1 ranges=192.168.1.2-192.168.1.254
add name=dhcp_pool2 ranges=172.16.1.2-172.16.1.254
/ip dhcp-server
add address-pool=dhcp_pool1 disabled=no interface=ether5 name=dhcp1
add address-pool=dhcp_pool2 disabled=no interface=ether5 name=dhcp2 relay=\
 172.16.1.1
/ip address
add address=192.168.1.1/24 interface=ether5 network=192.168.1.0
/ip dhcp-client
add default-route-distance=0 dhcp-options=hostname,clientid disabled=no \
 interface=ether1
/ip dhcp-server lease
add address=192.168.1.254 client-id=1:0:0:ab:33:8f:0 mac-address=\
 00:00:AB:33:8F:00 server=dhcp1
add address=172.16.1.253 client-id=1:0:50:79:66:68:0 mac-address=\
 00:50:79:66:68:00 server=dhcp2
/ip dhcp-server network
add address=172.16.1.0/24 dns-server=172.16.1.1 gateway=172.16.1.1
add address=192.168.1.0/24 gateway=192.168.1.1
/ip route
add distance=1 dst-address=172.16.1.0/24 gateway=192.168.1.254

R2

/ip address
add address=172.16.1.1/24 interface=ether5 network=172.16.1.0
/ip dhcp-client
add default-route-distance=0 dhcp-options=hostname,clientid disabled=no \
 interface=ether1
/ip dhcp-relay
add dhcp-server=192.168.1.1 disabled=no interface=ether5 local-address=\
 172.16.1.1 name=relay1

Д-р Добри Бояджиев - сертифициран MikroTik инструктор. Прочетете повече ›

Публикувано в Статии