Enterprise IT Solutions/Microsoft

Non-Microsoft DHCP Relay 환경에서 DHCP request timeout 문제해결

iseop 2021. 12. 25. 20:00   인쇄용 버전

MS-HELP-2459530.pdf
0.06MB

개요

작년에 겪었던 문제인데, VMware Horizon을 활용한 VDI 시스템을 운영하는 곳에서 Master VM Image를 Compose하는 과정에서 반복적으로 일부 클론들에 Agent Communication Failure가 발생하는 문제가 있었습니다.

그래서 Fail된 클론에 들어가서 이벤트 로그를 확인해 보았더니, 공통적으로 아래 로그가 있었습니다.

 

  • Netlogon - 5719
  • Group Policy - 1129
  • DHCP-Client Operational - 50024

 

구글링 해보니, KB2459530가 나왔습니다. (지금 다시 검색해보니 해당 KB가 검색결과에 노출되지 않는 것 같습니다.) 원인은 윈도우 7 클라이언트가 부팅될 때, Broadcast 플래그를 0으로 세팅한 DHCP-Discover, DHCP-Request 패킷을 보내는데, 그러면 비 Microsoft 릴레이가 DHCP-Offer와 DHCP-Ack를 유니캐스트로 전달해줍니다. 그리고 이 유니캐스트 응답은 boot-time 방화벽 정책 때문에 drop됩니다. 그렇게 timeout 시간(3~5초) 이후에서야 주소를 받을 수 있게 되는 이슈입니다. 그래서 시간 내에 주소를 설정하지 못해서, Horizon에서 클라이언트 Agent와 연결하지 못하게 되어 Compose에 실패하게 된 것입니다.

 

해결 방법

  • HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}로 이동
  • 서브키중에 'Driver Desc' entry 값이 문제가 되는 NIC과 일치하는 키로 이동

예시1

  • MediaTypePhysicalMediumType을 기록해 둡니다.

예시2

  • HKLM\System\CurrentControlSet\services\Dhcp\Parameters아래에 새 키 DhcpGlobalForceBroadcastFlag를 만듭니다.
  • 그 아래에 새 키를 만드는데, 위에서 기록해 둔 MediaType값을 그 이름으로 합니다.
  • 위에서 기록해 둔 PhysicalMediumType값이 이름이고, 값은 1인 DWORD entry를 만듭니다.

예시3

  • HKLM\SYSTEM\CurrentControlSet\services\Tcpip\Parameters\Interfaces\<GUID>로 이동합니다. GUID는 문제가 되는 NIC의 GUID입니다.
  • DhcpConnForceBroadcastFlag가 있으면 지웁니다. 없으면 그대로 둡니다.

예시4

  • 재부팅합니다.