Протокол DHCP
Основные задачи DHCP
Основные понятия
Формат пакета DHCP
Поля пакета
Поля пакета
Типы пакетов
Схема работы
Типы пакетов
Конфигурация DHCP сервера (Linux)
Конфигурация DHCP сервера (Linux)
Конфигурация DHCP сервера (Linux)
Конфигурация DHCP сервера (Linux)
Конфигурация DHCP сервера (Cisco)
Опция 82 DHCP (DHCP snooping, Relay)
Конфигурация DHCP сервера (Cisco)
266.50K
Category: internetinternet

Протокол DHCP (Тема №12)

1. Протокол DHCP

Тема № 12

2.

• Алгоритм работы протокола DHCP.
• Формат пакета.
• Параметры настройки
Казаков Ф.А.
2

3. Основные задачи DHCP

• Задавать конфигурацию клиента при стартовой
перезагрузке. Клиенту должен, при каждом
запросе по мере возможности, присваиваться один
и тот же набор конфигурационных параметров.
• Гарантировать, что любой назначенный сетевой
адрес не будет использоваться более чем одним
клиентом DHCP одновременно.
• Обеспечивать назначение конфигурационных
параметров новым клиентам, чтобы избежать
ручной конфигурации.
• Поддерживать фиксированное или постоянное
присвоение конфигурационных параметров для
заданного клиента.
Казаков Ф.А.
3

4. Основные понятия

• DHCP клиент - Клиент DHCP является PC,
который использует DHCP протокол, чтобы
получить конфигурационные параметры,
например сетевой адрес.
• DHCP сервер - Сервер DHCP присылает
клиенту DHCP параметры конфигурации.
• Агент пересылки (relay) - Агент пересылки
представляет собой оборудование, которое
осуществляет связь между клиентом и
сервером DHCP.
Казаков Ф.А.
4

5. Формат пакета DHCP

0
15
7
HLen
HType
Op
31
23
HOps
XID
Flags
Secs
CIaddr
YIaddr
SIaddr
GIaddr
CHaddr
Казаков Ф.А.
5

6. Поля пакета

• Op - Код операции, связанной с сообщением BOOTREQUEST (запрос) или BOOTREPLY
(отклик).
• Htype - Тип аппаратного адреса.
• Hlen - Размер аппаратного адреса.
• Hops - Клиент устанавливает для этого поля
нулевое значение. Поле может использоваться
relay-агентами при загрузке с использованием
таких агентов.
• XID - Идентификатор транзакции.
• Secs - Число секунд, прошедших с того момента,
как клиент инициировал процесс получения адреса
или процесс обновления.
Казаков Ф.А.
6

7. Поля пакета

• Флаги - 2 байта флагов DHCP.
• Ciaddr - IP-адрес клиента.
• Yiaddr - Ваш (клиента) IP-адрес.
• Siaddr - IP-адрес следующего сервера,
который можно использовать для
загрузки.
• Giaddr - IP-адрес, используемый для
загрузки с помощью relay-агента.
• Chaddr - Аппаратный адрес клиента.
Казаков Ф.А.
7

8. Типы пакетов

• DHCPDISCOVER Клиент посылает сообщение
широковещательно, чтобы обнаружить доступный
сервер.
• DHCPOFFER
Посылается сервером клиенту в ответ
на сообщение DHCPDISCOVER и содержит предложение
по конфигурационным параметрам.
• DHCPREQUEST Сообщение клиента серверу либо (a)
запрашивающее параметры от одного сервера и неявно
отвергающее предложения других серверов, (b)
подтверждающее корректность ранее присвоенного
адреса после, например, перезагрузки системы, или (c)
запрос расширения времени жизни конкретного сетевого
адреса.
Казаков Ф.А.
8

9. Схема работы

Казаков Ф.А.
9

10. Типы пакетов

• DHCPACK
Посылается сервером клиенту и
содержит конфигурационные параметры, включая
присвоенный сетевой адрес.
• DHCPNAK
Посылается сервером клиенту, сообщая
о том, что сетевой адрес не корректен (например, клиент
переместился в новую субсеть), или время использования
адреса клиентом истекло
• DHCPDECLINE Клиент и сервер обнаружили, что
сетевой адрес уже используется.
• DHCPRELEASE Посылается клиентом серверу с целью
отказа от сетевого адреса и аннулирует оставшееся время
действия адреса.
• DHCPINFORM Посылается клиентом серверу с
просьбой о локальных конфигурационных параметрах;
клиент уже имеет полученный извне сетевой адрес.
Казаков Ф.А.
10

11. Конфигурация DHCP сервера (Linux)

Формат файла конфигурации:
default-lease-time 600;
max-lease-time 7200;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.1.255;
option routers 192.168.1.254;
option domain-name-servers 192.168.1.1, 192.168.1.2;
option domain-name "example.com";
Казаков Ф.А.
11

12. Конфигурация DHCP сервера (Linux)

Формат файла конфигурации для подсети:
subnet 192.168.1.0 netmask 255.255.255.0 {
option routers
192.168.1.254;
option subnet-mask
255.255.255.0;
option domain-name
"example.com";
option domain-name-servers
192.168.1.1;
option time-offset
-18000;
range
192.168.1.10 192.168.1.100;
}
Казаков Ф.А.
12

13. Конфигурация DHCP сервера (Linux)

Формат файла конфигурации для узла сети:
group {
option routers
192.168.1.254;
option subnet-mask
255.255.255.0;
option domain-name
"example.com";
option domain-name-servers
192.168.1.1;
host apex {
option host-name "apex.example.com";
hardware ethernet 00:A0:78:8E:9E:AA;
fixed-address 192.168.1.4;
}
}
Казаков Ф.А.
13

14. Конфигурация DHCP сервера (Linux)

Формат файла конфигурации для узла сети:
group {
option routers
192.168.1.254;
option subnet-mask
255.255.255.0;
option domain-name
"example.com";
option domain-name-servers
192.168.1.1;
host apex {
option host-name "apex.example.com";
hardware ethernet 00:A0:78:8E:9E:AA;
fixed-address 192.168.1.4;
}
}
Казаков Ф.А.
14

15. Конфигурация DHCP сервера (Cisco)

Router(config)#ip dhcp pool user_network
Router(dhcp-config)#default-router 192.168.1.1
Router(dhcp-config)#network 192.168.1.0 255.255.255.0
Router(dhcp-config)#dns-server 192.168.1.2
* * *
Router(config)#ip dhcp excluded-address 192.168.1.1
192.168.1.10
Казаков Ф.А.
15

16. Опция 82 DHCP (DHCP snooping, Relay)

По умолчанию коммутатор на котором включен DHCP
snooping, вставляет опцию 82 в DHCP-запросы. Коммутатор
может изменять или вставлять опцию 82, даже если клиент и
сервер находятся в одной подсети.
При вставке опции 82, коммутатор фактически вставляет два
значения:
•Remote ID (MAC-адрес или IP-адрес коммутатора). Это
значение можно настраивать;
•Circuit ID (порт с которого пришел запрос). Это значение не
настраивается.
По умолчанию коммутатор, использующий DHCP snooping,
обнаруживает и отбрасывает любой DHCP-запрос содержащий
опцию 82, который он получил через ненадёжный порт.
Казаков Ф.А.
16

17. Конфигурация DHCP сервера (Cisco)

Router#conf t
Enter configuration commands, one per line. End with
CNTL/Z.
Router(config)#int fa 0/0
Router(config-if)#ip helper-address 192.168.2.2
Казаков Ф.А.
17
English     Русский Rules