(!) Пример настройки DHCP-сервера с поддержкой Option 82

Как настроить DHCP-сервер с поддержкой Option 82?


Предположим, что имеется следующая схема:

1. Ethernet-коммутатор MES-3728 используется в сети как DHCP Relay Agent.
2. Клиенты отдела SW будут получать IP-адреса из подсети 192.168.10.0/24.
3. Клиенты отдела HW будут получать IP-адреса из подсети 192.168.20.0/24.
4. Клиенты отдела CSO будут получать IP-адреса из подсети 192.168.30.0/24.

В нашем примере показана типичная реализация DHCP Relay. Администратор сети планирует назначать IP-адреса клиентам в трех разных подсетях на основе VLAN ID в пакетах DHCP.

В данной реализации нужно использовать функцию DHCP Relay Option 82. Приведем пример настройки DHCP-сервера.

1. Настройка DHCP Relay. Этот пример выполнен на третьем коммутаторе MES-3728, который установлен в отделе CSO.

MES-3728(config)# dhcp relay 30 helper-address 192.168.1.200 option information


2. Option 82 в пакете DHCP.

Мы можем увидеть информацию Option 82 в этом DHCP-пакете. Наш коммутатор поддерживает sub-option 1 (Agent Circuit ID). Agent Circuit ID включает Slot ID, Port ID, VLAN ID и Additional Info.

Slot ID 0x00 = 0
Port ID 0x02 = 2
VLAN ID 0x001E = 30
Additional Information: 0x4D45532D33373238 = MES-3728

В этом примере мы будем назначать IP-адреса клиентам на основе VLAN ID в пакетах DHCP.

3. Настройка DHCP-сервера, который поддерживает Option 82.

В нашем примере используется DHCP-сервер на Linux-платформе dhcp-4.1.1-9. Покажем, как настроить DHCP-сервер для назначения IP-адресов на основе VID в пакетах DHCP.

Настройки DHCP-сервера находятся в конфигурационном файле dhcpd.conf. Этот файл настроим для использования различных способов назначения IP-адресов.

1) Перед редактированием dhcpd.conf нужно знать синтаксис, поддерживаемый этим сервером:

substring(option agent.circuit-id,2,2) Оператор substring анализирует данные и возвращает строку данных, которая начинается от указанного значения offset и имеет длину, равную указанной в length. Offset и Length — числовые выражения. Offset (смещение) 2 байта и Length (длина) 2 байта. Эти значения указаны в VID части Agent Circuit ID.

binary-to-ascii(10,16,"",substring(option agent.circuit-id,2,2)) Преобразует результат вычисления оператора substring в текстовую строку, содержащую по одному числу для каждого элемента результата вычисления оператора substring. 10 - это указание системы исчисления (десятичная), 16 указывает количество битов на каждое число, полученное в результате преобразования. Результат этого значения указан в VID в десятичных числах.

2) Отредактируйте файл dhcpd.conf. Сохраните конфигурационный файл после завершения редактирования.

# vim /etc/dhcp/dhcpd.conf

########################################################
ddns-update-style interim;
log-facility local7;

subnet 192.168.1.0 netmask 255.255.255.0 {
}

class "VLAN10" {
match if binary-to-ascii(10,16,"",substring(option agent.circuit-id,2,2)) = "10";
} # VLAN10

class "VLAN20" {
match if binary-to-ascii(10,16,"",substring(option agent.circuit-id,2,2)) = "20";
} # VLAN20

class "VLAN30" {
match if binary-to-ascii(10,16,"",substring(option agent.circuit-id,2,2)) = "30";
} # VLAN30


subnet 192.168.10.0 netmask 255.255.255.0 {
pool {
allow members of "VLAN10";
default-lease-time 600;
max-lease-time 7200;
range 192.168.10.1 192.168.10.199;
option routers 192.168.10.254;
option broadcast-address 192.168.10.255;
option subnet-mask 255.255.255.0;
option domain-name-servers 4.2.2.2;
}
}

subnet 192.168.20.0 netmask 255.255.255.0 {
pool {
allow members of "VLAN20";
default-lease-time 600;
max-lease-time 7200;
range 192.168.20.1 192.168.20.199;
option routers 192.168.20.254;
option broadcast-address 192.168.20.255;
option subnet-mask 255.255.255.0;
option domain-name-servers 4.2.2.2;

}
}

subnet 192.168.30.0 netmask 255.255.255.0 {
pool {
allow members of "VLAN30";
default-lease-time 600;
max-lease-time 7200;
range 192.168.30.1 192.168.30.199;
option routers 192.168.30.254;
option broadcast-address 192.168.30.255;
option subnet-mask 255.255.255.0;
option domain-name-servers 4.2.2.2;
}
}
########################################################


3) Запустите сервис DHCP на DHCP-сервере, и теперь сервер настроен для назначения IP-адресов клиентам.

После запуска сервиса DHCP на сервере, клиенты отдела CSO, подключенные к MES-3728, смогут получать IP-адреса из подсети 192.168.30.0/24.

KB-2030

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 0 из 0