DHCP/Failover

Материал из ALT Linux Wiki
Версия от 10:12, 1 ноября 2024; Anton Shevtsov (обсуждение | вклад) (add tsig-keygen)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.

Введение

В этой статье мы рассмотрим настройку отказоустойчивого DHCP-сервера, состоящего из двух серверов ISC DHCPd с распределением нагрузки. На обоих серверах должна быть установлена одна и та же версия DHCP-сервера, так как разные версию могут реализовывать отказоустойчивость по разному.
Тестовый стенд:

  • DHCP-Server01 - IP 192.168.135.121 с установленным ISC DHCP server
  • DHCP-Server02 - IP 192.168.135.122 с установленным ISC DHCP server
  • 192.168.135.50 - 192.168.135.70 диапазон раздаваемых адресов
  • 192.168.135.251 - адрес шлюза
  • 192.168.135.252 - адрес DNS-сервера

Настройка

1. Выберите какой из серверов будет главным (Primary), а какой подчиненным(Secondary).
2. Убедитесь, что время между серверами синхронизировано, так как DHCP протокол чувствителен к рассинхронизации времени.
3. Определите какие сети и пулы адресов будут обслуживаться.
4. Добавьте следующие блоки, описывающие отказоустойчивую группу, в файл /etc/dhcp/dhcpd.conf:
Для Primary сервера:

failover peer "failover-partner" {
     primary;
     address 192.168.135.121;
     port 519;
     peer address 192.168.135.122;
     peer port 520;
     max-response-delay 60;
     max-unacked-updates 10;
     mclt 3600;
     split 128;
     load balance max seconds 3;
}

Для Secondary сервера:

failover peer "failover-partner" {
    secondary;
    address 192.168.135.122;
    port 520;
    peer address 192.168.135.121;
    peer port 519;
    max-response-delay 60;
    max-unacked-updates 10;
    load balance max seconds 3;
}
Внимание! Параметры mclt и split должен быть определены только на primary сервере

5. Добавьте на обоих серверах ссылку на отказоустойчивую группу в каждый пул подсети:

subnet 192.168.135.0 netmask 255.255.255.0 {
        option routers                  192.168.135.251;
        option subnet-mask              255.255.255.0;
        option nis-domain               "domain.org";
        option domain-name              "domain.org";
        option domain-name-servers      192.168.135.252;
        default-lease-time 21600;
        max-lease-time 43200;
        pool {
            failover peer "failover-partner";
            range 192.168.135.50 192.168.135.70;
        }
}

6. Добавьте на каждом сервере настройки OMAPI и секретный ключ:

omapi-port 7911;
omapi-key omapi_key;

key omapi_key {
     algorithm hmac-md5;
     secret tMvk90x7s+/kCt+6syEMeLlVLUF9+Jg3VNUfMC1JLzz52+VwpMPiGXkA JtEaI9/wgAUQAm6C4Q8Ao9f4UEBOUQ==;
}

Для генерации ключа можно воспользоваться утилитой dnssec-keygen, которая поставляется вместе с DNS-сервером BIND:

# dnssec-keygen -a HMAC-MD5 -b 512 -n USER DHCP_OMAPI
Kdhcp_omapi.+157+17748
# cat Kdhcp_omapi.+157+17748.key 
DHCP_OMAPI. IN KEY 0 3 157 tMvk90x7s+/kCt+6syEMeLlVLUF9+Jg3VNUfMC1JLzz52+VwpMPiGXkA JtEaI9/wgAUQAm6C4Q8Ao9f4UEBOUQ==

или

# tsig-keygen -a hmac-md5 omapi_key
key "omapi_key" {
    algorithm hmac-md5;
    secret "KKkAspinSr/nXYXhAv7CTQ==";
};

7. Перезагрузите оба сервера.
8. Проверьте отказоустойчивость поочередно выключая серверы.