Темы
Протокол DHCP
ISC DHCP — один из самых популярных DHCP-серверов
Отказоустойчивость DHCP
Что такое опция 82 DHCP?
Выдача IP-адресов определённому диапазону MAC-адресов
Дополнительные материалы
BIND — DNS-сервер
DIG — Диагностика DNS-серверов
Dnsmasq — DNS, DHCP, TFTP-сервер
Протокол DHCP
DHCP (Dynamic Host Configuration Protocol) — это сетевой протокол, позволяющий автоматически настраивать IP-адреса компьютеров и других устройств в компьютерной сети. DHCP упрощает процесс настройки и управления сетевыми устройствами, позволяя им автоматически получать необходимые сетевые параметры. Используемые поты — 67,68/UDP.
Основное назначение DHCP — облегчить администрирование сети и предотвратить конфликты IP-адресов. При подключении устройства к сети, оно отправляет запрос на DHCP сервер, который выделяет уникальный IP-адрес и другие настройки из доступного пула адресов.
- Запросы клиента и ответы сервера DHCP делятся на несколько этапов:
- Discovery (Обнаружение 67/UDP) — клиент отправляет широковещательный DHCP запрос для поиска DHCP сервера.
- Offer (Предложение 68/UDP) — сервер отвечает клиенту предложением IP-адреса и других настроек.
- Request (Запрос 67/UDP) — клиент принимает предложение и отправляет запрос на подтверждение.
- Acknowledgement (Подтверждение 68/UDP) — сервер подтверждает выбор клиента и устанавливает соединение согласно полученным настройкам.
ISC DHCP — один из самых популярных DHCP-серверов
Серверы DHCP являются одним из важнейших элементов сетевой инфраструктуры любого размера,и их правильное функционирование-залог стабильной работы сети. В этой статье показано, как настроить такой сервер на базе ISC DHCP на платформе Linux. ISC DHCP - один из самых популярных пакетов DHCP-серверов для Linux и Unix-подобных систем, простой в настройке и ресурсоэффективный.
Рассмотрим некоторые параметры для не сложной конфигурации сервера DHCP
- Код: выделить все
# Общие параметры для всех поддерживаемых сетей...
# Объявляем общую зону и указываем сервера DNS
option domain-name "company.org";
option domain-name-servers ns1.company.org, ns2.company.org;
# Указывем дефолтное и максимальное время аренды
default-lease-time 86400; # СУТКИ
max-lease-time 259200; #3 ДНЯ
# Используйте эту опцию для включения/отключения динамического обновления dns в глобальном масштабе.
#ddns-update-style none;
# Если этот DHCP-сервер является официальным DHCP-сервером локальной сети, директиву authoritative не комментировать.
authoritative;
# Используйте эту опцию для измениения уровня журналирования
log-facility local7;
# В этой подсети не будет предоставляться никаких услуг, но ее объявление помогает DHCP-серверу понять топологию сети.
subnet 10.152.187.0 netmask 255.255.255.0 {
}
# Это очень базовое объявление подсети.
subnet 10.254.239.0 netmask 255.255.255.224 {
range 10.254.239.10 10.254.239.20;
option routers rtr-239-0-1.company.org, rtr-239-0-2.company.org;
}
# Конфигурация для внутренней подсети.
subnet 10.5.5.0 netmask 255.255.255.224 {
range 10.5.5.26 10.5.5.30;
option domain-name-servers ns1.internal.company.org;
option domain-name "internal.company.org";
option routers 10.5.5.1;
option broadcast-address 10.5.5.31;
default-lease-time 600;
max-lease-time 7200;
}
# Хосты, требующие специальных параметров конфигурации, могут быть перечислены в директиве host.
# Если адрес не указан, он будет выделен динамически (если это возможно), но информация о конкретном хосте все равно будет
# получена из объявления хоста. Для хостов также можно указать фиксированные IP-адреса. Эти адреса также не должны быть
# указаны как доступные для динамического назначения. Хосты, для которых указаны фиксированные IP-адреса, могут загружаться
# с помощью BOOTP или DHCP. Хосты, для которых не указан фиксированный адрес, могут загружаться только с помощью DHCP,
# если в подсети, к которой подключен BOOTP-клиент, нет диапазона адресов с установленным флагом dynamic-bootp.
host passacaglia {
hardware ethernet 0:0:c0:5d:bd:95;
filename "vmunix.passacaglia";
server-name "toccata.company.com";
fixed-address passacaglia.company.com;
}
# Вы можете объявить класс клиентов и затем распределить адреса на его основе. В примере ниже показан случай, когда все
# клиенты определенного класса получают адреса в подсети 10.17.224/24, а все остальные клиенты получают адреса в подсети 10.0.29/24.
class "foo" {
match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
}
shared-network 224-29 {
subnet 10.17.224.0 netmask 255.255.255.0 {
option routers rtr-224.company.org;
}
subnet 10.0.29.0 netmask 255.255.255.0 {
option routers rtr-29.company.org;
}
pool {
allow members of "foo";
range 10.17.224.10 10.17.224.250;
}
pool {
deny members of "foo";
range 10.0.29.10 10.0.29.230;
}
}
Отказоустойчивость DHCP
Один из способов обеспечить отказоустойчивость — создать структуру, состоящую из двух серверов. В нормальном режиме эти два сервера выполняют балансировку нагрузки, а если один из них становится недоступным, все клиентские запросы обслуживаются на другом сервере.
Отказоустойчивость DHCP на базе ISC DHCP (Internet Systems Consortium Dynamic Host Configuration Protocol) можно обеспечить с помощью настройки нескольких DHCP серверов, работающих в режиме группы с характеристиками failover. Это позволяет обеспечить непрерывность обслуживания клиентов в случае отказа одного из серверов.
Пример конфигурации для настройки отказоустойчивого DHCP на базе ISC DHCP:
Установить ISC DHCP на двух серверах (назовем их dhcp-server1 и dhcp-server2).
- Код: выделить все
dnf install dhcp-server
Настройка DHCP серверов:
На dhcp-server1 правим конфигурацию /etc/dhcp/dhcpd.conf:
- Код: выделить все
failover peer "dhcp-failover" {
primary;
address 192.168.1.1;
port 520;
peer address 192.168.1.2;
peer port 520;
max-response-delay 30;
max-unacked-updates 10;
load balance max seconds 3;
mclt 1800;
split 128;
}
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
option routers 192.168.1.1;
}
pool {
failover peer "dhcp-failover";
deny dynamic bootp clients;
}
На dhcp-server2 правим конфигурацию /etc/dhcp/dhcpd.conf:
- Код: выделить все
failover peer "dhcp-failover" {
secondary;
address 192.168.1.2;
port 520;
peer address 192.168.1.1;
peer port 520;
max-response-delay 30;
max-unacked-updates 10;
mclt 1800;
split 128;
}
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.10 192.168.1.100;
option routers 192.168.1.1;
}
pool {
failover peer "dhcp-failover";
deny dynamic bootp clients;
}
Перезапустите оба DHCP сервера для применения изменений конфигурации.
Теперь при такой настройке, если один из серверов (dhcp-server1 или dhcp-server2) выйдет из строя, другой сервер автоматически продолжит обслуживание DHCP клиентов без прерывания.
Что такое опция 82 DHCP?
Для сетевых инженеров, занимающихся сложными конфигурациями и вопросами безопасности, Опция 82 DHCP оказывается ценным инструментом. Давайте рассмотрим его назначение, функциональность и преимущества при развертывании сети.
Понимание DHCP и агентов ретрансляции
приходят агенты ретрансляции DHCP. Эти устройства-посредники пересылают DHCP-сообщения между клиентами и серверами, расположенными в разных подсетях.
Хотя агенты ретрансляции выполняют важную роль, в базовом протоколе DHCP отсутствует информация о физическом местоположении клиента в сети. Это может быть проблематично по нескольким причинам:
- Безопасность: Злоумышленники могут подменять IP- или MAC-адреса, чтобы получить несанкционированный доступ к сети.
- Политики назначения IP-адресов: В сетях часто применяются политики назначения IP-адресов в зависимости от местоположения (например, назначение определенных диапазонов устройствам в определенной VLAN).
Описание опции 82 DHCP
Опция 82 DHCP, также известная как "Опция информации агента ретрансляции", решает эти проблемы, предоставляя контекст для запросов DHCP. Когда клиент DHCP отправляет запрос через агента ретрансляции, агент вставляет опцию 82 в заголовок пакета. Эта опция содержит два подварианта:
- Идентификатор цепи: Идентифицирует самого агента ретрансляции, обычно используя его MAC-адрес или IP-адрес.
- Remote ID: определяет точку подключения клиента к сети. Это может быть номер порта коммутатора, идентификатор VLAN или другой идентификатор.
Здесь перечислены основные преимущества развертывания Опция 82 DHCP:
- Повышение безопасности сети: Предоставляя дополнительный контекст для клиентских запросов, опция 82 помогает предотвратить попытки подмены и укрепляет общую безопасность сети.
- Гибкие политики назначения IP-адресов: Сетевые инженеры получают детальный контроль над распределением IP-адресов в зависимости от местоположения клиента, что позволяет эффективно сегментировать сеть.
- Улучшенный мониторинг и устранение неполадок в сети: Журналы DHCP становятся более информативными благодаря включению данных о местоположении клиента, что упрощает поиск и устранение неисправностей и управление сетью.
Опция 82 DHCP действует как мост между агентами ретрансляции DHCP и серверами, предоставляя ценную информацию о местоположении клиента. Используя эту информацию, сетевые инженеры могут усилить безопасность сети, реализовать политику назначения IP-адресов и упростить задачи управления сетью. По мере роста сложности сети опция 82 DHCP становится ценным инструментом в арсенале сетевого инженера.
Выдача IP-адресов ограниченному диапазону MAC-адресов
Чтобы настроить ISC DHCP-сервер для выдачи IP-адресов ограниченному диапазону MAC-адресов, можно использовать директиву class для создания класса клиентов с определёнными MAC-адресами. Затем вы можете использовать директиву subnet для назначения IP-адресов из определённого диапазона. Вот пример конфигурации:
- Код: выделить все
# Определяем класс для MAC-адресов, начинающихся с 08:00:27
class "special-clients" {
match if substring(hardware, 1, 3) = 08:00:27;
}
# Настройка подсети
subnet 195.0.1.0 netmask 255.255.255.0 {
# Диапазон IP-адресов по умолчанию (может быть пустым)
range 195.0.1.10 195.0.1.20;
# Настройка для класса "special-clients"
pool {
allow members of "special-clients";
range 195.0.1.50 195.0.1.60;
}
option routers 195.0.1.254;
option subnet-mask 255.255.255.0;
option domain-name-servers 8.8.8.8, 8.8.4.4;
}
В этом примере:
- Класс special-clients соответствует устройствам, у которых MAC-адрес начинается с 08:00:27.
- Для устройств из этого класса выделяется диапазон IP-адресов от 195.0.1.50 до 195.0.1.60.
- Остальные устройства могут получать IP-адреса из диапазона от 195.0.1.10 до 195.0.1.20.