DHCP는 지연을 제공합니다.

DHCP는 지연을 제공합니다.

초기 데이터:

1.두 개의 DHCP 서버:

첫 번째: 설명: Debian GNU/Linux 6.0.10(squeeze) 릴리스: 6.0.10 코드명: squeeze

두번째 NAME=“Debian GNU/Linux” VERSION_ID=“8” VERSION=“8 (jessie)” ID=debian

2.네트워크(예: 192.168.0.0/24)

삼.두 개의 인터페이스 192.168.0.1 및 192.168.0.2(각 DHCP 서버당 하나씩). 둘 다 작동 중이며 동일한 서브넷의 주소를 제공하지만 첫 번째 dhcp의 풀은 .10-.20 게이트웨이 ip.1이고 두 번째 dhcp의 풀 .21-.31은 게이트웨이 ip.2입니다.

4.작업 - 이 네트워크의 장치는 DHCP #1 대신 DHCP #2에서 주소를 받아야 합니다. 왜 이런거야? 주요 작업은 한 시스템에서 다른 시스템으로 마이그레이션하는 것이므로 단순히 모든 장치의 연결을 끊을 수는 없습니다. 작동 중인 장치는 계속 작동해야 합니다. 이것은 호텔의 TV 마이그레이션입니다.

5.나는 무엇을 시도했는가? 내 생각은 클라이언트의 DHCP 요청에 대한 DCHP #1의 응답 지연을 수동으로 늘리는 것입니다.

6.DHCP #1에 사용되는 명령: tc qdisc add dev eth1 루트 핸들 1: prio tc qdisc add dev eth1 상위 1:3 핸들 30: netem 지연 500ms tc filter add dev eth1 프로토콜 ip 상위 1:0 prio 3 u32 \ match ip sport 67 0xffff flowid 1:3 tc 필터 추가 dev eth1 프로토콜 ip parent 1:0 prio 3 u32 \ match ip dport 68 0xffff flowid 1:3

7.결과: 장치에서 DHCP #1을 ping하면 500ms가 넘는 지연이 발생하지만 장치를 반박하고 "tcpdump -n -i eth1 portrange 67-68" 명령 또는 "tail - f" /var/log/syslog"를 통해 자세한 내용을 확인했는데, DHCP #1이 DHCP #2보다 빠르게 응답하는 것으로 나타났습니다.

귀하의 아이디어와 단서, 추가로 수행할 수 있는 작업 또는 기타 솔루션에 대해 매우 감사하겠습니다. 감사합니다!

답변1

DHCP 서버를 사용할 수 없는 경우에도 DHCP 서버에서 발급한 IP는 무효화되지 않습니다. 따라서 질문에 추가하지 않은 이야기가 더 있지 않는 한 이는 그리 어렵지 않을 것입니다.

  • 모든 장치는 서버 #1에서 IP를 요청하고 유효한 임대(예: 1시간)를 통해 IP를 얻습니다.
  • DHCP 서버 #1을 종료합니다. 모든 장치는 풀 #1에 남아 있습니다.
  • 임대의 50%가 만료된 후(이 예에서는 30분) 장치는 임대 갱신을 시도합니다. 서버가 다운되었기 때문에 갱신은 실패하지만 장치는 유효한 풀 1 IP 주소를 계속 사용합니다.
  • 임대의 87.5%가 만료된 후(남은 임대 시간 7.5분) 클라이언트는 DHCPDISCOVER를 실행하고 새 임대를 수락합니다. 이 시점에서 DHCP 서버 #2에서 유효한 주소를 가져와야 하며 풀 2에서 IP 주소를 가져와야 합니다.
  • 임대가 만료되면 모든 고객은 pool2에 있어야 합니다.

관련 정보