dpcp serverの冗長化

dhcp-server冗長化のためにfailover設定を有効にする

1台がprimary,もう1台がsecondary.

failover設定を有効にすると、dhcp-poolを複数台のdhcp-serverで共有する

そのために - 共通のpool定義を作る - primary,secondaryの設定をそれぞれかく

共通の設定ファイル

subnet 192.168.100.0 netmask 255.255.255.0 {
  option routers gw.example.com;
  option broadcast-address 192.168.100.255;
  option subnet-mask 255.255.255.0;
  # pool定義
  pool {
    failover peer "failover-partner";
    range 192.168.100.100 192.168.100.200;
  }
}

primary

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

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

secondary

failover peer "failover-partner" {
    # secondaryとするのがポイント
    secondary;
    address 192.168.100.2;
    port 520;
    peer address 192.168.100.1;
    peer port 519;
    max-response-delay 60;
    max-unacked-updates 10;
    mclt 3600;
    # secondary側ではsplitを書いてはいけない
    # split 128
    load balance max seconds 3;
}

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

環境

  • debian10
  • isc-dhcp-server

test

vmを立ち上げ、ipaddressが取得できるか確認、取得できない。

vmでMacAddressを確認

$ ip a
...
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:ec:35:e7 brd ff:ff:ff:ff:ff:ff

08:00:27:ec:35:e7dhcp-serverのログから探すと、

$ sudo journalctl -xe
...
Dec 11 15:39:45 dhcp dhcpd[2543]: DHCPDISCOVER from 08:00:27:ec:35:e7 via eth1: not responding (recover wait)
...

ググったところ時刻があっていない場合に出るログ。

ntp-server停めてたわ。。。こちらも冗長構成にしないとな。

Dec 11 16:29:25 dhcp dhcpd[394]: DHCPDISCOVER from 08:00:27:ec:35:e7 via eth1
Dec 11 16:29:26 dhcp dhcpd[394]: DHCPOFFER on 192.168.100.151 to 08:00:27:ec:35:e7 (debian10.localdomain) via eth1
Dec 11 16:29:26 dhcp dhcpd[394]: uid lease 192.168.100.151 for client 08:00:27:ec:35:e7 is duplicate on 192.168.100.0/24
Dec 11 16:29:26 dhcp dhcpd[394]: DHCPREQUEST for 192.168.100.101 (192.168.100.21) from 08:00:27:ec:35:e7 via eth1: lease owned by peer
Dec 11 16:29:43 dhcp dhcpd[394]: DHCPDISCOVER from 08:00:27:ec:35:e7 via eth1
Dec 11 16:29:44 dhcp dhcpd[394]: uid lease 192.168.100.151 for client 08:00:27:ec:35:e7 is duplicate on 192.168.100.0/24
Dec 11 16:29:44 dhcp dhcpd[394]: DHCPREQUEST for 192.168.100.102 (192.168.100.21) from 08:00:27:ec:35:e7 via eth1: lease owned by peer
Dec 11 16:29:44 dhcp dhcpd[394]: DHCPOFFER on 192.168.100.101 to 08:00:27:ec:35:e7 (debian10.localdomain) via eth1

参考

blog.clarus.jp

plaza.rakuten.co.jp