При помощи утилиты «dhcpd» с ключём «-t» для проверки корректности его заполнения
ключи «-cf» для указания пути до проверяемого файла:
dhcpd -t -cf /etc/dhcp/dhcpd.conf
img
Модифицируем ранее созданный конфигурационный файл DHCP — сервера «/etc/dhcp/dhcpd.conf»:
В файле «/etc/dhcp/dhcpd.conf» — будем хранить только настройки отказоустойчивости;
Поскольку всё кроме настройки отказоустойчивости на dhcp1 и dhcp2 будет одинаковым — вынесем конфиги в отдельную дирректорию, затем эту дирректорию можно будет спокойно копировать на второй сервер:
Для того чтобы основной файл /etc/dhcp/dhcpd.conf — ссылался на то что лежит в дирректории /etc/dhcp/dhcpd.conf.d/, сотрём в нём всё и пропишим опции include:
echo include \"/etc/dhcp/dhcpd.conf.d/subnets.conf\"\; > /etc/dhcp/dhcpd.conf
Теперь прописываем опции касающиеся отказоустойчивости в «/etc/dhcp/dhcpd.conf» выше опций include:
failover peer "dhcp-failover" {
primary; # Основной сервер
address 10.10.10.101; # Адрес текущего сервера, который будет использоваться для обмена информацией между DHCP - серверами
port 519; # Порт на котором будет слушать этот сервер
peer address 10.10.10.102; # Адрес другого сервера (secondary)
peer port 520; # Порт другого сервера (secondary)
max-response-delay 60; # Сколько секунд прождать, чтобы посчитать второй сервер недоступным
max-unacked-updates 10; # Сколько максимум пакетов bind-update может отправить второй сервер
mclt 3600; # Максимальное время на которое одному серверу разрешено время lease, не сказав об этом второму серверу (только на primary указывается)
split 128; # Распределение адресов 50/50% (только на primary указывается)
load balance max seconds 3; # Если пришёл DHCPDISCOVER или DHCOREQUEST и в течение 3-х секунд второй сервер не ответил, хотя очередь была его, то балансировка игнорируется и клиенту отвечает этот сервер
}
P.S. В итоге получается вот такой вот конфиг, а общая часть которая должна быть одинаковой на dhcp1 и dhcp2 — вынесена в отдельные файлы в директории /etc/dhcp/dhcpd.conf.d/, а то что будет отличаться в зависимости от primary и secondary будет описано в /etc/dhcp/dhcpd.conf
Необходимо указать failover peer для subnet-ов, в файле «/etc/dhcp/dhcpd.conf.d/subnets.conf»: