Last active
June 11, 2020 12:53
-
-
Save kovenko/fbfeba5df35a5b422034c5c90b81717a to your computer and use it in GitHub Desktop.
DHCP failower
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# https://kb.isc.org/docs/isc-dhcp-44-manual-pages-dhcpdconf | |
# https://habr.com/ru/post/323984/ | |
# Это определяет, является ли сервер первичным или вторичным. Этот параметр должен быть указан. | |
[primary | secondary]; | |
# Объявляет IP-адрес или DNS-имя, по которому сервер должен прослушивать соединения | |
# от своего однорангового узла аварийного переключения, а также значение, используемое для идентификатора сервера | |
# протокола Failover DHCP. | |
address address; | |
# Объявляет порт TCP, на котором сервер должен прослушивать соединения от своего отказоустойчивого узла. | |
# Этот оператор может быть опущен, в этом случае по умолчанию будет использоваться назначенный IANA номер порта 647. | |
port port-number; | |
# Объявляет IP-адрес или DNS-имя, к которому сервер должен подключиться, чтобы достичь узла аварийного переключения | |
# для сообщений аварийного переключения. | |
peer address address; | |
# Объявляет TCP-порт, к которому сервер должен подключиться для подключения к узлу аварийного переключения | |
# для сообщений аварийного переключения. Этот оператор может быть опущен, и в этом случае по умолчанию будет | |
# использоваться назначенный IANA номер порта 647. | |
peer port port-number; | |
# Сообщает DHCP-серверу, сколько секунд может пройти, не получив сообщение от его отказоустойчивого узла, | |
# прежде чем он предположит, что соединение не установлено. Это число должно быть достаточно маленьким, | |
# чтобы временный сбой в сети, который разрывает соединение, не приводил к тому, что серверы долго не могли общаться, | |
# но достаточно велик, чтобы сервер не устанавливал и не разрывал соединения. Этот параметр должен быть указан. | |
max-response-delay seconds; | |
# Cообщает удаленному DHCP-серверу, сколько сообщений BNDUPD он может отправить до того, как получит BNDACK из локальной системы. | |
# У нас нет достаточного опыта работы, чтобы сказать, что для этого стоит, но 10, похоже, работает. | |
# Этот параметр должен быть указан. | |
max-unacked-updates count; | |
# Определяет максимальное время выполнения клиента. Он должен быть указан на первичном и не может быть указан на вторичном. | |
# Это период времени, в течение которого аренда может быть возобновлена одним из узлов отказоустойчивости без установления | |
# связи с другим. Чем дольше вы это установите, тем дольше работающему серверу потребуется восстановить IP-адреса после | |
# перехода в состояние PARTNER-DOWN. Чем короче вы его установите, тем больше будет нагрузка на ваши серверы, когда они | |
# не будут общаться. Значение около 3600, вероятно, разумно, но, опять же, имейте в виду, что у нас нет реального опыта работы | |
# с этим. | |
mclt seconds; | |
# Определяет разделение между первичным и вторичным для балансировки нагрузки. Всякий раз, когда клиент делает запрос DHCP, | |
# сервер DHCP запускает хеш для идентификации клиента, в результате чего получается значение от 0 до 255. | |
# Это используется в качестве индекса в 256-битном поле. Если бит с этим индексом установлен, отвечает основной. | |
# Если бит с этим индексом не установлен, вторичное устройство. Значение разделения определяет, сколько ведущих битов | |
# установлено в один. Таким образом, на практике более высокие значения разделения приведут к тому, что первичный сервер | |
# будет обслуживать больше клиентов, чем вторичный. Допустимые значения - от 0 до 256 включительно, из которых наиболее | |
# разумным является 128. Обратите внимание, что значение 0 делает вторичное устройство ответственным за всех клиентов, | |
# а значение 256 - основным, отвечающим за всех клиентов. | |
split bits; | |
# Позволяет настроить отсечение, после которого балансировка нагрузки отключается. Отсечка основана на количестве секунд, | |
# прошедших с того момента, как клиент отправил свое первое сообщение DHCPDISCOVER или DHCPREQUEST, и работает только с | |
# клиентами, которые правильно реализуют поле secs. Рекомендуется установить для этого значения что-то вроде 3 или 5. | |
# Эффект этого состоит в том, что если один из одноранговых узлов аварийного переключения переходит в состояние, когда он | |
# отвечает на сообщения аварийного переключения, но не отвечает на некоторые запросы клиентов, другой одноранговый | |
# отказоустойчивый узел принимает его клиент загружается автоматически при повторной попытке клиентов. | |
# Можно отключить балансировку нагрузки между узлами, установив для этого значения значение 0 на обоих узлах. Имейте в виду, | |
# что это означает, что оба узла будут отвечать на все DHCPDISCOVER или DHCPREQUEST. | |
load balance max seconds seconds; | |
# указывает серверу инициировать задержку по времени при входе в состояние прерывания связи (любая ситуация отсутствия | |
# контакта с удаленным отказоустойчивым узлом). По завершении таймера сервер автоматически перейдет в состояние отказа | |
# партнера. Это позволяет серверу распределять аренду из пула партнера после истечения таймера STOS + MCLT, что может быть | |
# опасно, если партнер фактически работает в это время (два сервера будут давать конфликтующие привязки). | |
# Подумайте очень внимательно, прежде чем включать эту функцию. Состояния разрыва соединения и прерывания связи | |
# преднамеренно разделены, поскольку существуют ситуации, когда отказоустойчивый сервер может не установить связь со своим | |
# одноранговым узлом, но при этом имеет возможность принимать и отвечать на запросы от клиентов DHCP. | |
# Нулевое значение отключает функцию автоматического отключения партнера (также по умолчанию), а любое положительное значение | |
# указывает время ожидания в секундах перед автоматическим вводом partner-down. | |
auto-partner-down seconds; | |
# Игнорирование спамеров | |
class "badguys" { | |
match hardware; | |
ignore booting; | |
} | |
subclass "badguys" 1:00:01:02:03:04:05; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment