[dhcp failover] isc dhcpd의 failover

.

드디어 dhcp failover에 성공했습니다.
윈도우dhcp가 못하는것이 있는데  dhcp failover가 불가능하다는것이죠
하지만 isc의 dhcpd는 failover로 동작이 가능하답니다.

dhcp서버는 정말 기본적이고 필수적인 네트웍서비스인데….
다운되었을시엔 사용자들에게  큰 혼란을 가져오기도합니다.
dhcp도 failover가 필요한것이죠…
active – stanby 로 동작하는데… 두개의 dhcpd가 잘 통신이 되어야 잘 작동하더군여
같은 dhcp pool을 공유할수있다는것이 큰 장점입니다.
아래의 config파일은 제가 실제로 사용한 파일인데…
아이피주소는 임의의 다른것으로 바꾸어서 올렸답니다.

환경:
primary: P3 1G , 256M, FreeBSD 6.1 , dhcpd 3.0.4
secondary:  VirtualServer- P3 1G, 196M, FreeBSD 6.1 dhcpd 3.0.4

▶ primary dhcpd 서버의 config

# /etc/dhcpd.conf for primary DHCP server
authoritative;
one-lease-per-client on;
ddns-update-style none;
option domain-name “domain.com”;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.1.1,192.168.1.2;
default-lease-time 6000;
max-lease-time 72000;

failover peer “dhcp-failover” {
  primary; # declare this to be the primary server
  address 192.168.1.25;
  port 520;
  peer address 192.168.1.26;
  peer port 520;
  max-response-delay 30;
  max-unacked-updates 10;
  load balance max seconds 3;
  mclt 1800;
  split 128;
}

subnet 192.168.1.0 netmask 255.255.255.0 {
  option routers 192.168.1.254;
  option broadcast-address 192.168.1.255;
  pool  {
       failover peer “dhcp-failover”;
       range 192.168.1.100 192.168.1.149;
       deny dynamic bootp clients;
       }
}

▶ secondary dhcpd 서버의 config
#/etc/dhcpd.conf for secondary DHCP server
authoritative;
one-lease-per-client on;
ddns-update-style none;
option domain-name “domain.com”;
option subnet-mask 255.255.255.0;
option domain-name-servers 192.168.1.1,192.168.1.2;
default-lease-time 6000;
max-lease-time 72000;

failover peer “dhcp-failover” {
  secondary; # declare this to be the secondary server
  address 192.168.1.26;
  port 520;
  peer address 192.168.1.25;
  peer port 520;
  max-response-delay 30;
  max-unacked-updates 10;
  load balance max seconds 3;
}

subnet 192.168.1.0 netmask 255.255.255.0 {
  option routers 192.168.1.254;
  option broadcast-address 192.168.1.255;
  pool  {
       failover peer “dhcp-failover”;
       range 192.168.1.100 192.168.1.149;
       deny dynamic bootp clients;
       }
}

실제로 기존에 사용하던 네트웍 장비의 dhcp기능을 내리고 failover dhcp 를 가동시켜보았구요
primary가 잘 동작하던 것을 확인하고 primary를 다운시키고 나서도
secondary가 그 기능을 완벽하게 대치하는지 (primary가 관리하던 dhcp pool을 그대로 이어받기)
테스트해보았습니다.  아래와 같이…

라우터 (Gateway, dhcp) 192.168.168.254
freeBSD isc primary dhcpd 192.168.168.25
freeBSD isc primary dhcpd 192.168.168.26

1. 최초 상태 (네트웍장비에서 제공하는 dhpd서버동작)
Ethernet adapter 무선 네트워크 연결:
       IP Address. . . . . . . . . . . . : 192.168.1.225
       Subnet Mask . . . . . . . . . . . : 255.255.255.0
       Default Gateway . . . . . . . . . : 192.168.1.254
       DHCP Server . . . . . . . . . . . : 192.168.1.254
       DNS Servers . . . . . . . . . . . : 192.168.1.1
                                           192.168.1.2
       Lease Obtained. . . . . . . . . . : 2006년 8월 5일 토요일 오후 7:12:33
       Lease Expires . . . . . . . . . . : 2006년 8월 6일 일요일 오후 7:12:33

2.ip내려놓기
C:Documents and Settingswookie.DK-2DC5E418988E>ipconfig /release
Ethernet adapter 무선 네트워크 연결:
       Connection-specific DNS Suffix  . :
       IP Address. . . . . . . . . . . . : 0.0.0.0
       Subnet Mask . . . . . . . . . . . : 0.0.0.0
       Default Gateway . . . . . . . . . :

3. isc dhpcd(failover primary,secondary모두)가동시킨다.
** ip받기 (예상 primary dhcpd로 부터 새로운 ip를 받아올것이다)
C:Documents and Settingswookie.DK-2DC5E418988E>ipconfig /renew
Ethernet adapter 무선 네트워크 연결:
       IP Address. . . . . . . . . . . . : 192.168.1.124
       Subnet Mask . . . . . . . . . . . : 255.255.255.0
       Default Gateway . . . . . . . . . : 192.168.1.254
       DHCP Server . . . . . . . . . . . : 192.168.1.25
       DNS Servers . . . . . . . . . . . : 192.168.1.1
                                           192.168.1.2
       Lease Obtained. . . . . . . . . . : 2006년 8월 5일 토요일 오후 7:15:04
       Lease Expires . . . . . . . . . . : 2006년 8월 5일 토요일 오후 7:45:04

4.isc dhpcd(failover secondary만)동작시킨다. -> primary다운시킴
** ip받기 (예상 secondary dhcpd로 부터 동일한 ip를 받아올것이다)
C:Documents and Settingswookie.DK-2DC5E418988E>ipconfig /renew
       IP Address. . . . . . . . . . . . :192.168.1.124
       Subnet Mask . . . . . . . . . . . : 255.255.255.0
       Default Gateway . . . . . . . . . : 192.168.1.254
       DHCP Server . . . . . . . . . . . : 192.168.1.26
       DNS Servers . . . . . . . . . . . : 192.168.1.1
                                           192.168.1.2
       Lease Obtained. . . . . . . . . . : 2006년 8월 5일 토요일 오후 7:19:35
       Lease Expires . . . . . . . . . . : 2006년 8월 5일 토요일 오후 8:59:35

5.isc dhpcd(failover primary,secondary모두)동작시킨다. -> primary다시 작동시킴
** ip받기 (예상: primary dhcpd로 부터 동일한 ip를 받아올것이다)
C:Documents and Settingswookie.DK-2DC5E418988E>ipconfig /renew
Ethernet adapter 무선 네트워크 연결:
       IP Address. . . . . . . . . . . . : 192.168.1.124
       Subnet Mask . . . . . . . . . . . : 255.255.255.0
       Default Gateway . . . . . . . . . : 192.168.1.254
       DHCP Server . . . . . . . . . . . : 192.168.1.25
       DNS Servers . . . . . . . . . . . : 192.168.1.1
                                           192.168.1.2
       Lease Obtained. . . . . . . . . . : 2006년 8월 5일 토요일 오후 7:22:16
       Lease Expires . . . . . . . . . . : 2006년 8월 5일 토요일 오후 9:02:16

추천링크: https://unzane.com/cgi-bin/man/man2html?5+dhcpd.conf 
영문이긴한데 엄청 잘나왔습니다.
참고한 링크: http://www.madboa.com/geek/dhcp-failover/
google의 bsd(unix) 검색도 활용했습니다.
유즈넷에 올라온 bsd관련된 질문,답변이 실제로 많은 도움이 되었습니다.
국내엔 검색된 페이지가 하나도 없어서  영문사이트를 헤매야했답니다. ㅠㅠ

single로 동작하는 DHCP서버의 컨피그
4762316383.txt

failover로 동작하는  DHCP서버1, 2의 컨피그
4178677680.txt2485853030.txt