Для отказоустойчивой конфигурации необходимо два сервера DHCP.
Синхронизируйте время, между серверами с помощью ntp или chrony. Так же можно воспользоваться командой ntpdate, которую нужно выполнить на обоих серверах к одному ntp-серверу.
ntpdate <адрес сервера ntp>
Предположим, что имеется два сервера, на которых установлен пакет dhcp и добавлен в автозапуск.
Первичный сервер: 192.168.0.1
Вторичный сервер: 192.168.0.2
1. Пропишите необходимые правила для iptables, если вы используете его.
iptables -A INPUT -p udp -m state --state NEW -m udp --dport 67 -j ACCEPT iptables -A INPUT -s 192.168.0.2/24 -p tcp -m state --state NEW -m tcp --dport 647 -j ACCEPT
2. Отредактируйте файл /etc/dhcp/dhcpd.conf.
nano /etc/dhcp/dhcpd.conf
Обратите внимание, что параметр mclt (максимальное время выполнения клиента) должен быть определен на главном сервере, но не должен быть определен на подчиненном сервере. Параметр split является еще одним параметром , который должен быть определен на первичном и опущен из конфигурации на вторичном сервере. Стоит отметить, что связь между отказоустойчивыми узлами не шифруется и не аутентифицируется.
failover peer "failover-dhcp" { primary; # Определяет главный сервер address 192.168.0.1; # адрес первичного сервера port 647; peer address 192.168.0.2; # адрес вторичного сервера peer port 647; max-response-delay 60; max-unacked-updates 10; mclt 3600; split 128; load balance max seconds 3; } authoritative; default-lease-time 86400; # 1 день max-lease-time 86400; # 1 день update-static-leases on; one-lease-per-client on; omapi-port 7911; omapi-key omapi_key; key omapi_key { algorithm hmac-md5; secret a6d79e096b7055ff51e5756c77947ab5==; # сформируйте секретный ключ с помощью любого генератора, указав тип шифрования hmac-md5 } subnet 192.168.0.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1; option domain-name-servers redos.test; option domain-search "redos.test"; pool { failover peer "failover-dhcp"; range 192.168.0.100 192.168.0.200; } }
partner-address data
local-address data
partner-port data
local-port data
max-outstanding-updates integer
mclt integer
default-lease-time integer
cрок по умолчанию для клиентов, которые не запрашивают определенный срок аренды. Срок аренды DHCP может быть назначен от нуля секунд до бесконечности.
max-lease-time integer
максимальный срок аренды
update-static-leases data
если он включен, то сервер DHCP делает обновление DNS для клиентов.
one-lease-per-client data
если этот флаг включен, всякий раз, когда клиент отправляет DHCPREQUEST для конкретной аренды, сервер автоматически отчищает любые другие lease записи, которыми владеет клиент.
load-balance-max-secs integer
load-balance-hba data
local-state integer
1 - партнер выключен 2 - обычная работа 3 - обмен данными прерван 4 - разрешение прервано 5 - потенциальный конфликт 6 - восстановление 7 - восстановление закончено 8 - выключение 9 - пауза 10 - запуск 11 - идет восстановление
partner-state integer
local-stos integer
partner-stos integer
hierarchy integer
last-packet-sent integer
last-timestamp-received integer
skew integer
max-response-delay integer
cur-unacked-updates integer
3. Из за того, что хеш находится в файле, закроем к нему доступ.
chmod 0600 /etc/dhcp/dhcpd.conf
4. Проверьте конфигурационный файл
dhcpd -t -cf /etc/dhcp/dhcpd.conf
5. Перезапустите сервис
systemctl restart dhcpd
1. Пропишите настройки для iptables, если используете его
iptables -A INPUT -p udp -m state --state NEW -m udp --dport 67 -j ACCEPT iptables -A INPUT -s 192.168.0.1/24 -p tcp -m state --state NEW -m tcp --dport 647 -j ACCEPT
2. Для вторичного (secondary) сервера:
failover peer "failover-dhcp" { secondary; # определитель вторичного сервера address 192.168.0.2; port 647; peer address 192.168.0.1; peer port 647; max-response-delay 60; max-unacked-updates 10; load balance max seconds 3; } authoritative; default-lease-time 86400; # 1 day max-lease-time 86400; # 1 day update-static-leases on; one-lease-per-client on; omapi-port 7911; omapi-key omapi_key; key omapi_key { algorithm hmac-md5; secret a6d79e096b7055ff51e5756c77947ab5==; # впишите тот же секретный ключ, как и на первичном сервере } subnet 192.168.0.0 netmask 255.255.255.0 { option subnet-mask 255.255.255.0; option broadcast-address 192.168.0.255; option routers 192.168.0.1; option domain-name-servers redos.test; option domain-search "redos.test"; pool { failover peer "failover-dhcp"; range 192.168.0.100 192.168.0.200; } }
Дата последнего изменения: 14.11.2024
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.
Нажимая «Отправить запрос», вы соглашаетесь с условиями обработки персональных данных.
Вы будете получать только актуальную информацию по обновлению безопасности
Подписываясь на уведомления, вы соглашаетесь с условиями обработки персональных данных.
На ваш почтовый адрес отправлено письмо с подтверждением подписки.