Turbolinux 11 Server の DHCP サーバーは、DHCP フェイルオーバー機能をサポートしています。DHCP サーバーに障害が発生した場合、DHCP クライアントは必要なネットワーク情報を取得できなくなるため、ネットワークへのアクセスが不可能な状態に陥ってしまいます。そこで、障害発生時には、プライマリの DHCP サーバーに代わってセカンダリの DHCP サーバーが処理を引き継ぐことでクライアントのネットワークアクセスを保持するのが DHCP フェイルオーバー機能です。
![]() | DHCP フェイルオーバー機能を利用するためには、プライマリとセカンダリの DHCP サーバーのバージョンは必ず揃えてください。 |
まず、はじめにプライマリとセカンダリの DHCP サーバーは NTP サーバーなどを利用して時刻の同期をとっておきます。
プライマリサーバーの dhcpd.conf ファイルは以下の例のように設定します。failover peer には、任意の共通の名前を指定します。プライマリサーバーは、必ず "primary;" と指定します。address および port には、プライマリサーバー自身の IP アドレス(または FQDN)とポート番号を指定し、peer address と peer port には、フェイルオーバー機能を使用する際に接続をするセカンダリサーバーの IP アドレス(または FQDN)とポート番号を指定します。
failover peer "foo" {
primary;
address 192.168.1.10;
port 519;
peer address 192.168.1.20;
peer port 520;
max-response-delay 60;
max-unacked-updates 10;
mclt 3600;
split 128;
load balance max seconds 3;
}
include "/etc/dhcpd.conf.master"; |
プライマリ、セカンダリともに include によって読み込んでいる /etc/dhcpd.conf.master ファイルには共通の項目として以下を指定しておきます。
default-lease-time 21600;
max-lease-time 43200;
option subnet-mask 255.255.255.0;
option domain-name "musasabi.net";
option domain-name-servers 192.168.1.30;
ddns-update-style ad-hoc;
subnet 192.168.1.0 netmask 255.255.255.0{
option broadcast-address 192.168.1.255;
pool {
failover peer "foo";
range 192.168.1.100 192.168.1.200;
deny dynamic bootp clients;
}
} |
pool 宣言文内には、特定のアドレスプールを指定することができます。上記は、フェイルオーバー用のアドレスプールと、フェイルオーバーと互換性のない dynamic bootp クライアントを許可しないようにアクセス制御を指定しています。
セカンダリサーバーの dhcpd.conf ファイルは以下の例のように設定します。failover peer には、プライマリサーバーと共通の名前を指定します。セカンダリサーバーは、必ず "secondary;" と指定します。address および port には、セカンダリサーバー自身の IP アドレス(または FQDN)とポート番号を指定し、peer address と peer port には、フェイルオーバー機能を使用する際に接続をするプライマリサーバーの IP アドレス(または FQDN)とポート番号を指定します。
failover peer "foo" {
secondary;
address 192.168.1.20;
port 520;
peer address 192.168.1.10;
peer port 519;
max-response-delay 60;
max-unacked-updates 10;
}
include "/etc/dhcpd.conf.master";
|
プライマリ、セカンダリともに include によって読み込んでいる /etc/dhcpd.conf.master ファイルには共通の項目として以下を指定しておきます。
default-lease-time 21600;
max-lease-time 43200;
option subnet-mask 255.255.255.0;
option domain-name "musasabi.net";
option domain-name-servers 192.168.1.30;
ddns-update-style ad-hoc;
subnet 192.168.1.0 netmask 255.255.255.0{
option broadcast-address 192.168.1.255;
pool {
failover peer "foo";
range 192.168.1.100 192.168.1.200;
deny dynamic bootp clients;
}
} |
設定が完了したら、DHCP サーバーを再起動します。
# /etc/init.d/dhcpd restart |