Jump to content
iT4iT.CLUB
  • Similar Content

    • By Maerhekil
      Распространённая проблемка, когда при падении сервера на котором развёрнут DHCP наступает неприятная ситуация в общении с пользователями. Довольно просто предотвратить данную ситуацию развёртыванием дублирующего DHCP на другом сервере в локальной сети. Что мы сейчас и проделаем, правда начнём просто с настройки, считая что у вас уже есть установленные два сервака на FreeBSD
      Первичный сервер:
      Для удобства дробим конфигурационный файл на несколько. У нас получается три файла с таким содержимым.
      /usr/local/etc/dhcpd.conf :
       
      option domain-name "mycompany.local"; option domain-name-servers 10.0.0.2, 10.0.0.3; option subnet-mask 255.255.255.0; default-lease-time 86400; max-lease-time 604800; ddns-update-style none; authoritative; subnet 10.0.0.0 netmask 255.255.255.0 { option routers 10.0.0.1; interface em0;    pool {          failover peer "mynetwork";          range 10.0.0.20 10.0.0.250;         } } include "/usr/local/etc/dhcpd-primary"; include "/usr/local/etc/dhcpd-hold"; Что мы тут имеем в первом и так сказать главном файле конфигурации:
      option domain-name "mycompany.local"; - Задаём доменное имя, которое клиенты будут использовать при запросах к DNS. Если имена разрешены.
      option domain-name-servers 10.0.0.2, 10.0.0.3; - Собственно, адреса DNS серверов в сети.
      option subnet-mask 255.255.255.0; - Сетевая маска локальной сети где будет находится DHCP сервер.
      default-lease-time 86400; - Период времени по умолчанию в секундах, на который будет выданный адрес закреплён за устройством.
      max-lease-time 604800; - Максимальный период времени в секундах, на который будет выданный адрес закреплён за устройством.
      subnet 10.0.0.0 netmask 255.255.255.0 - Подсеть с её маской.
      option routers 10.0.0.1; - Шлюз сети.
      interface em0; - На каком интерфейсе слушать запросы и отвечать с которого.
      Далее описание пула для выдачи адресов:
      failover peer "mynetwork"; - название.
      range 10.0.0.20 10.0.0.250; - диапазон адресов для выдачи клиентам.
      Влючаем в конфиг другие файлы конфигурации:
      include "/usr/local/etc/dhcpd-primary";
      include "/usr/local/etc/dhcpd-hold";
      Далее /usr/local/etc/dhcpd-primary :
       
      failover peer "mynetwork" {         primary;         address 10.0.0.4;         port 647;         peer address 10.0.0.5;         peer port 647;         max-response-delay 60;         max-unacked-updates 10;         mclt 3600;         split 128;         load balance max seconds 3;  } Это описание самой технологии failover, что мы имеем тут:
      primary; - К какому серверу DHCP относится этот файл, грубо говоря :-) . В данном случае к  первичному.
      address 10.0.0.4; - Его адрес в сети
      port 647; - Порт? :-)
      peer address 10.0.0.5; - Адрес вторичного сервера в сети.
      peer port 647; - Его порт.
      max-response-delay 60; - Ожидание в секундах ответа первичным сервером от вторичного. По истечении считает его недоступным.
      max-unacked-updates 10; - Непонятная хрень. Максимальное количество несанкционированных обновлений?
      mclt 3600; - Время в секундах, по истечении которого продлевается или прекращается аренда без синхронизации.
      split 128; - Нужно для балансировки.
      load balance max seconds 3; - Время в секундах, по истечении балансировка прекращается.
      Топаем дальше /usr/local/etc/dhcpd-hold . Это файл со статическими назначениями ip-адресов в соответствии с mac-адресами. Приведу только один пример:
      host BLA-BLA { hardware ethernet FF:FF:FF:FF:FF:FF; fixed-address 10.0.0.81;} BLA-BLA - описание хоста
      FF:FF:FF:FF:FF:FF - Mac-адрес сетевой карты
      10.0.0.81 - Закреплённый ip-адрес
      Ну в принципе с первичным сервером закончили. 
      Перейдём к вторичному.
      /usr/local/etc/dhcpd.conf  У нас немного меняются только две строчки:
      include "/usr/local/etc/dhcpd-secondary"; include "/usr/local/etc/dhcpd-hold-nowrite"; Но это при условии, что у нас имя сетевого интерфейса такое-же, в данном случае em0 .
      Далее /usr/local/etc/dhcpd-secondary
      failover peer "mynetwork" {         secondary;         address 10.0.0.5;         port 647;         peer address 10.0.0.4;         peer port 647;         max-response-delay 60;         max-unacked-updates 10;         mclt 3600;         load balance max seconds 3;  } Ну и последний, создаём /usr/local/etc/dhcpd-hold-nowrite . Это тот-же dhcpd-hold, там ничего не меняется.
      В принципе всё готово. Запускаем, и радуемся жизни. Но радость была недолгой ибо неудобно после каждой правки перезапускать два сервака ручками, мы сразу захотели автоматизацию. Но это уже совсем другая история.
      Надеюсь ничего не упустил, у меня бывает. Если это так, пишите.
      Удачи.
       
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...