Назад | Перейти на главную страницу

Вторичный DHCP-сервер не запускается на Centos 6.2

Пытаюсь создать резервный DHCP-сервер. Время сервера синхронизировано. Первичный сервер запускается нормально. Вторичный сервер не запускается. Ошибка из / var / log / messages:

Sep 15 14:47:45 stream dhcpd: Copyright 2004-2010 Internet Systems Consortium.
Sep 15 14:47:45 stream dhcpd: All rights reserved.
Sep 15 14:47:45 stream dhcpd: For info, please visit https://www.isc.org/software/dhcp/
Sep 15 14:47:45 stream dhcpd: /etc/dhcp/dhcpd.conf line 25: invalid statement in peer declaration
Sep 15 14:47:45 stream dhcpd: #011max-response-default
Sep 15 14:47:45 stream dhcpd:          ^
Sep 15 14:47:45 stream dhcpd: /etc/dhcp/dhcpd.conf line 41: failover peer dhcp-failover: not found
Sep 15 14:47:45 stream dhcpd:     failover peer "dhcp-failover"
Sep 15 14:47:45 stream dhcpd:                    ^
Sep 15 14:47:45 stream dhcpd: /etc/dhcp/dhcpd.conf line 49: failover peer dhcp-failover: not found
Sep 15 14:47:45 stream dhcpd:     failover peer "dhcp-failover"
Sep 15 14:47:45 stream dhcpd:                    ^
Sep 15 14:47:45 stream dhcpd: WARNING: Host declarations are global.  They are not limited to the scope you declared them in.
Sep 15 14:47:45 stream dhcpd: /etc/dhcp/dhcpd.conf line 70: failover peer dhcp-failover: not found
Sep 15 14:47:45 stream dhcpd:     failover peer "dhcp-failover"
Sep 15 14:47:45 stream dhcpd:                    ^
Sep 15 14:47:45 stream dhcpd: /etc/dhcp/dhcpd.conf line 78: failover peer dhcp-failover: not found
Sep 15 14:47:45 stream dhcpd:     failover peer "dhcp-failover"
Sep 15 14:47:45 stream dhcpd:                    ^
Sep 15 14:47:45 stream dhcpd: Configuration file errors encountered -- exiting
Sep 15 14:47:45 stream dhcpd:
Sep 15 14:47:45 stream dhcpd: This version of ISC DHCP is based on the release available
Sep 15 14:47:45 stream dhcpd: on ftp.isc.org.  Features have been added and other changes
Sep 15 14:47:45 stream dhcpd: have been made to the base software release in order to make
Sep 15 14:47:45 stream dhcpd: it work better with this distribution.
Sep 15 14:47:45 stream dhcpd:
Sep 15 14:47:45 stream dhcpd: Please report for this software via the CentOS Bugs Database:
Sep 15 14:47:45 stream dhcpd:     http://bugs.centos.org/
Sep 15 14:47:45 stream dhcpd:
Sep 15 14:47:45 stream dhcpd: exiting.

Содержимое файла конфигурации:

# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample
#   see 'man 5 dhcpd.conf'
#

option domain-name "eng.foo.com";
option domain-name-servers ns0.eng.foo.com, ns1.eng.foo.com;
option ntp-servers ntp.eng.foo.com;
#option time-servers ntp.eng.foo.com;

default-lease-time 3600;
max-lease-time 7200;

authoritative;

log-facility local7;

failover peer "dhcp-failover" {
        secondary;
        address 10.0.1.70;
        port 647;
        peer address 10.0.1.11;
        peer port 647;
        max-response-default 30;
        max-unacked-updates 10;
        load balance max seconds 3;
}

#
# Management subnet
#
subnet 10.0.0.0 netmask 255.255.255.0 {
  option subnet-mask 255.255.255.0;
  option broadcast-address 10.0.0.255;
  option routers 10.0.0.1;
  option domain-search "eng.foo.com", "foo.com";

  # Unknown clients get this pool
  pool {
    failover peer "dhcp-failover";
    max-lease-time 300;
    range 10.0.0.240 10.0.0.249;
    allow unknown-clients;
  }

  # Known clients get this pool
  pool {
    failover peer "dhcp-failover";
    max-lease-time 28800;
    range 10.0.0.150 10.0.0.199;
    deny unknown-clients;
  }

  include "/etc/dhcp/dhcpd.conf-engmgmt";

}

#
# Data subnet
#
subnet 10.0.1.0 netmask 255.255.255.0 {
  option subnet-mask 255.255.255.0;
  option broadcast-address 10.0.1.255;
  option routers 10.0.1.1;
  option domain-search "eng.foo.com", "foo.com";

  # Unknown clients get this pool
  pool {
    failover peer "dhcp-failover";
    max-lease-time 300;
    range 10.0.1.240 10.0.1.249;
    allow unknown-clients;
  }

  # Known clients get this pool
  pool {
    failover peer "dhcp-failover";
    max-lease-time 28800;
    range 10.0.1.150 10.0.1.199;
    deny unknown-clients;
  }

  # For centos network installs
  if substring (option vendor-class-identifier, 0, 8) = "anaconda" {
    filename "/autohome/distro/ks/";
    next-server eng-data.eng.foo.com;
  }

  # For PXE network installs
  if substring (option vendor-class-identifier, 0, 9) = "PXEClient" {
    filename "pxelinux.0";
    next-server eng-data.eng.foo.com;
  }

  # For KVM PXE network installs
  if substring (option vendor-class-identifier, 0, 9) = "Etherboot" {
    filename "pxelinux.0";
    next-server eng-data.eng.foo.com;
  }

  include "/etc/dhcp/dhcpd.conf-engdata";

}

Этот ответ предназначен для тех, кто сталкивается с такой же ошибкой после копирования. этот пример конфигурации с веб-сайта ISC. Есть небольшая ошибка, вызванная кодировкой тире на этой странице.

Если в vim навести курсор на первую черту max-response-default и нажмите ga в командном режиме вы увидите значение Unicode 8208. Теперь, если вы удалите тире, замените его своим и снова проверьте, он будет иметь значение ASCII / unicode 45.

Замените все тире Unicode в конфигурации аварийного переключения на ASCII-тире, и конфигурация должна успешно загрузиться.

Кажется, есть проблема конфигурации около строки 25, вполне возможно, max-response-default. Разве это не должно быть максимальной задержки ответа?

Наиболее очевидной причиной, по-видимому, является неспособность вторичного сервера связаться с первичным сервером через указанный порт.

  • Можете ли вы пропинговать первичный от вторичного?
  • Настроен ли iptables для связи через порт 647?

Помимо этого, согласно ISC, служба DHCP не выполняет много проверок, чтобы убедиться, что конфигурация правильная, и будет давать сбой по странным причинам, если что-то не настроено правильно. Так что, если это не проблема сети, то это должен быть файл config. Например, одним упущением в вашем файле конфигурации, похоже, является отключение bootp для сегментов, для которых включена функция аварийного переключения. Вам было бы лучше создать главную конфигурацию DHCP, используемую на обоих серверах, а затем объявления первичного / вторичного однорангового узла, которые включают главную конфигурацию, это исключит возможность несовпадения конфигураций.

Краткий обзор основных требований для настройки сценария аварийного переключения DHCP см .: http://webcache.googleusercontent.com/search?q=cache:tbaPhUwlbdsJ:consultancy.edvoncken.net/index.php/HOWTO_Configure_DHCP_failover+&cd=1&hl=en&ct=clnk&gl=us

Изменить: Ах, упс, пропустил строку, указанную gertvdijk ниже. Кажется, это должна быть max-response-delay, а не max-response-default.