가상 에이전트 사용해 보기 - 일반적인 DHCP 문제를 신속하게 식별하고 해결하는 데 도움이 될 수 있습니다.
네트워크에서 작동하려면 디바이스에 IP 주소를 할당해야 합니다. 수동 또는 자동으로 IP 주소를 할당할 수 있습니다. 자동 할당은 DHCP(동적 호스트 구성 프로토콜) 서비스(Microsoft 또는 타사 서버)에서 처리됩니다.
DHCP는 RFC 1541(RFC 2131로 대체됨)으로 정의된 표준 프로토콜입니다. DHCP를 사용하면 서버가 IP 주소 지정 및 구성 정보를 클라이언트에 동적으로 배포할 수 있습니다. 일반적으로 DHCP 서버는 최소한 다음과 같은 기본 정보를 클라이언트에 제공합니다.
- IP 주소
- 서브넷 마스크
- 기본 게이트웨이
- DNS(도메인 이름 서비스) 서버 주소 및 WINS(Windows 인터넷 이름 서비스) 서버 주소와 같은 기타 정보. 시스템 관리자는 클라이언트로 구문 분석되는 옵션을 사용하여 DHCP 서버를 구성합니다.
자세한 내용은 DHCP 기본 사항을 참조하세요.
문제 해결 검사 목록
문제 해결을 시작하기 전에 다음 항목을 확인하세요. 이러한 항목은 문제의 근본 원인을 찾는 데 도움이 될 수 있습니다.
- 문제가 언제 시작되었나요?
- 오류 메시지가 존재하나요?
- 이 작업이 이전에 작동했거나, 작동하지 않은 적이 있었나요? 이전에 작동했다면, 문제가 시작되기 전에 변경된 내용이 있었나요? 예를 들어, 업데이트가 설치되었나요? 인프라가 변경되었나요?
- 지속적 문제인가요 아니면 일시적 문제인가요? 일시적이라면, 마지막으로 발생한 시점은 언제인가요?
- 주소 임대 오류가 모든 클라이언트에 대해 발생하나요, 아니면 단일 범위 서브넷과 같은 특정 클라이언트에 한해 발생하나요?
- DHCP 서버와 동일한 네트워크 서브넷에 클라이언트가 존재하나요?
- 클라이언트가 동일한 네트워크 서브넷에 존재한다면 IP 주소를 가져올 수 있나요?
- 클라이언트가 동일한 네트워크 서브넷에 없는 경우 라우터 또는 VLAN 스위치가 DHCP 릴레이 에이전트(IP 도우미라고도 함)를 사용하도록 올바르게 구성되었나요?
- DHCP 서버가 독립 실행형인가요 아니면 분할 범위 또는 DHCP 장애 조치와 같은 고가용성을 위해 구성되었나요?
- 중간 디바이스에서 문제를 일으키는 것으로 알려진 VRRP/HSRP, 동적 ARP 검사 또는 DHCP 스누핑 등의 기능을 확인합니다.
DHCP 서버 문제 해결
DHCP 서버의 경우 다음 디바이스 및 설정을 확인합니다.
- DHCP 서버 서비스가 시작되어 실행 중입니다. 이 설정을 확인하려면
net start
명령을 실행하고, DHCP 서버를 찾으세요. - DHCP 서버가 인증되었습니다. 도메인 조인 시나리오의 Windows DHCP 서버 권한 부여을 참조하세요.
- DHCP 클라이언트가 있는 서브넷의 DHCP 서버 범위에서 IP 주소 임대를 사용할 수 있는지 확인합니다. 이렇게 하려면 DHCP 서버 관리 콘솔에서 해당 범위에 대한 통계를 참조하세요.
- 주소 임대 섹션에서 BAD_ADDRESS 목록을 찾을 수 있는지 확인합니다.
- 네트워크의 디바이스에 DHCP 범위에서 제외되지 않은 고정 IP 주소가 있는지 확인합니다.
- DHCP 서버가 바인딩된 IP 주소가 IP 주소를 임대해야 하는 범위의 서브넷 내에 있는지 확인합니다. 이는 중계 에이전트가 없는 경우입니다. 이렇게 하려면
Get-DhcpServerv4Binding
또는Get-DhcpServerv6Binding
cmdlet을 실행합니다. - DHCP 서버만 UDP 포트 67 및 68에서 수신 대기하는지 확인합니다. 다른 프로세스나 기타 서비스(예: WDS 또는 PXE)는 이러한 포트를 차지해서는 안 됩니다. 이렇게 하려면
netstat -anb
명령을 실행합니다. - IPsec 배포 환경을 처리하는 경우 DHCP 서버 IPsec 예외가 추가되었는지 확인합니다.
- DHCP 서버에서 릴레이 에이전트 IP 주소를 ping할 수 있는지 확인합니다.
- 구성된 DHCP 정책 및 필터를 열거하고 확인합니다.
DHCP 클라이언트 문제 해결
DHCP 클라이언트의 경우 다음 디바이스 및 설정을 확인합니다.
- 케이블이 연결되어 작동 중입니다.
- 클라이언트가 연결된 스위치에서 MAC 필터링이 사용하도록 설정됩니다.
- 네트워크 어댑터가 사용하도록 설정되었습니다.
- 올바른 네트워크 어댑터 드라이버가 설치 및 업데이트되었습니다.
- DHCP 클라이언트 서비스가 시작되어 실행 중입니다. 이를 확인하려면 net start 명령을 실행하고 DHCP 클라이언트를 찾으세요.
- 클라이언트 컴퓨터에서 포트 67 및 68 UDP를 차단하는 방화벽이 없습니다.
네트워크 추적을 사용하여 DHCP 문제 해결
DHCP 클라이언트와 서버 모두에서 설정을 확인한 후에는 Wireshark를 사용하여 DHCP DORA 프로세스가 성공적으로 완료되었는지 또는 패킷 삭제로 인해 DHCP 클라이언트가 서버에서 IP 주소를 가져올 수 없는지 확인할 수 있습니다.
네트워크 추적을 수집하는 단계
네트워크 추적을 사용하여 DHCP 문제를 해결하려면 다음 단계를 수행합니다.
영향을 받는 DHCP 클라이언트와 DHCP 서버 모두에 Wireshark를 설치합니다.
클라이언트와 서버 모두에서 Wireshark를 관리자 권한으로 실행합니다.
Wireshark에서 두 번 클릭하여 두 디바이스에서 DHCP에 사용되는 네트워크 인터페이스를 선택합니다.
클라이언트와 서버 모두에서 Wireshark를 사용하여 패킷 캡처를 시작합니다.
문제를 재현합니다. DHCP 문제를 트리거합니다(예: 클라이언트에서 실행
ipconfig /renew
). 오류 시나리오가 발생할 때까지 기다립니다.Wireshark에서 빨간색 단추를 사용하여 두 디바이스에서 패킷 캡처를 중지합니다.
파일 다른 이름으로 저장을 선택하여 캡처된 패킷을 >지정된 위치에 저장합니다.
DHCP 필터를 적용하여 DHCP 트랜잭션을 봅니다.
클라이언트 캡처에서 "dhcp"에 대한 표시 필터를 적용합니다.
서버 캡처에서 필터 "dhcp.id == <트랜잭션 ID>"를 사용하여 특정 클라이언트 트랜잭션을 추적합니다. 클라이언트 쪽 캡처에서 트랜잭션 ID를 가져와서 서버 쪽 캡처의 필터에 적용할 수 있습니다.
DHCP 트랜잭션 분석:
- 4개의 DHCP 패킷(DISCOVER, OFFER, REQUEST, ACK)에 대한 클라이언트 쪽 캡처를 확인합니다. 모두 있는 경우 DORA 프로세스가 성공할 수 있습니다.
- 패킷이 누락된 경우(예: DISCOVER 패킷만 표시됨) 잠재적인 삭제를 나타냅니다.
네트워크 삭제를 식별합니다. 네트워크 삭제에 대한 다음 지표를 찾습니다.
- 클라이언트 캡처는 DISCOVER 패킷을 표시하지만 서버 캡처는 표시되지 않습니다.
- 클라이언트 캡처는 DISCOVER 패킷을 표시하고 서버에는 보낸 OFFER가 표시되지만 클라이언트에는 OFFER가 표시되지 않습니다.
- 클라이언트 캡처는 DISCOVER, OFFER 및 REQUEST를 표시하지만 서버에는 DISCOVER 및 OFFER만 표시됩니다.
- 클라이언트 캡처는 DISCOVER, OFFER 및 REQUEST를 표시하지만 서버에는 클라이언트에 ACK가 표시되지 않고 완료된 4개의 패킷(DISCOVER, OFFER, REQUEST, ACK)이 모두 표시됩니다.
삭제가 확인되면 네트워크 팀에 문의하여 삭제 문제를 조사하고 해결합니다.
이러한 단계를 통해 Wireshark를 사용하여 DHCP 통신이 중단되는 위치를 정확히 파악하여 DHCP 구성 또는 네트워크 문제를 보다 신속하게 해결할 수 있습니다.
타사 정보 고지 사항
이 문서에 나와 있는 다른 공급업체 제품은 Microsoft와 무관한 회사에서 제조한 것입니다. Microsoft는 이들 제품의 성능이나 안정성에 관하여 명시적이든 묵시적이든 어떠한 보증도 하지 않습니다.
데이터 수집
Microsoft 지원에 문의하기 전에 문제에 대한 정보를 수집할 수 있습니다.
필수 조건
- TSS는 로컬 시스템에 대한 관리자 권한이 있는 계정에서 실행해야 하며 EULA를 수락해야 합니다(EULA가 수락되면 TSS는 다시 메시지를 표시하지 않음).
- 로컬 컴퓨터
RemoteSigned
PowerShell 실행 정책을 사용하는 것이 좋습니다.
참고 항목
현재 PowerShell 실행 정책에서 TSS 실행을 허용하지 않는 경우 다음 작업을 수행합니다.
- cmdlet
PS C:\> Set-ExecutionPolicy -scope Process -ExecutionPolicy RemoteSigned
을RemoteSigned
실행하여 프로세스 수준에 대한 실행 정책을 설정합니다. - 변경 내용이 적용되는지 확인하려면 cmdlet
PS C:\> Get-ExecutionPolicy -List
을 실행합니다. - 프로세스 수준 권한은 현재 PowerShell 세션에만 적용되므로 TSS가 실행되는 지정된 PowerShell 창이 닫히고 나면 프로세스 수준에 대한 할당된 권한도 이전에 구성된 상태로 돌아갑니다.
Microsoft 지원에 문의하기 전에 주요 정보 수집
모든 노드에서 TSS를 다운로드하고 C:\tss 폴더에서 압축을 풉니다.
관리자 권한 PowerShell 명령 프롬프트에서 C:\tss 폴더를 엽니다.
다음 cmdlet을 사용하여 클라이언트 및 서버에서 추적을 시작합니다.
클라이언트:
TSS.ps1 -Scenario NET_DHCPcli
서버:
TSS.ps1 -Scenario NET_DHCPsrv
추적이 서버 또는 클라이언트에서 처음으로 실행되는 경우 EULA를 수락합니다.
녹화 허용(PSR 또는 비디오).
Y를 입력 하기 전에 문제를 재현합니다.
참고 항목
클라이언트와 서버 모두에서 로그를 수집하는 경우 문제를 재현하기 전에 두 노드에서 이 메시지를 기다립니다.
문제가 재현된 후 로그 수집을 완료하려면 Y를 입력합니다.
추적은 분석을 위해 작업 영역에 업로드할 수 있는 C:\MS_DATA 폴더의 zip 파일에 저장됩니다.
참조
이벤트 로그
시스템 및 DHCP 서버 서비스 이벤트 로그(애플리케이션 및 서비스 로그>Microsoft>Windows>DHCP-Server)에서 관찰된 문제와 관련된 보고된 문제를 확인합니다.
문제의 종류에 따라 다음 이벤트 채널 중 하나에 이벤트가 기록됩니다.
DHCP 서버 로그
DHCP 서버 서비스 디버그 로그는 DHCP 서버에서 수행하는 IP 주소 임대 할당 및 DNS 동적 업데이트에 대한 자세한 정보를 제공합니다. 기본적으로 이러한 로그는 %windir%\System32\Dhcp에 있습니다.
자세한 내용은 DHCP 서버 로그 파일 분석을 참조하세요.