DHCPpool 192.168.1.0/24.10.11.12.13.14DORA: Discover · Offer · Request · Ack

DHCP

11 분 읽음네트워킹

네트워크에 연결하는 모든 장치에는 아무것도 입력하지 않고도 IP 주소, DNS 서버 및 기본 경로가 제공됩니다. 그 마법은 모든 Wi-Fi 연결과 모든 이더넷 플러그의 백그라운드에서 조용히 실행되는 DHCP(동적 호스트 구성 프로토콜)입니다. 그것이 무엇을 하는지 이해하면 많은 네트워크 동작이 의미가 있습니다.

전체 기사 본문은 아래에 영어로 제공됩니다.

DHCP(동적 호스트 구성 프로토콜)는 네트워크의 장치에 IP 주소 및 기타 네트워크 구성을 자동으로 할당하는 프로토콜입니다. 이는 이전 BOOTP 프로토콜에서 파생된 1997년 RFC 2131에서 표준화되었습니다. 모든 Wi-Fi 네트워크와 기업 이더넷이 이를 실행합니다. 대부분의 사용자는 직접 상호 작용하지 않습니다.

DHCP가 클라이언트에 제공하는 것

A 일반적인 DHCP 응답에는 다음이 포함됩니다.

  • IP 주소 — 임대 기간이 있는 이 네트워크의 클라이언트 주소
  • 서브넷 마스크 — 어떤 주소가 로컬인지, 아니면 로컬 주소인지 정의합니다. router
  • 기본 게이트웨이 — 아웃바운드 트래픽을 위한 라우터의 IP
  • DNS 서버 — 일반적으로 라우터 자체 또는 공개 확인자
  • 도메인 접미사 — 짧은 확인용 호스트 이름
  • NTP 서버 — 때로는 시간 동기화
  • 공급업체별 옵션 옵션(PXE 부팅 서버, VoIP 설정 등)

DORA 교환

4단계 DHCP 핸드셰이크(DORA)는 클라이언트가 클라이언트에 연결할 때마다 발생합니다. Joins:

  1. DHCPDISCOVER — 클라이언트는 "IP를 제공하는 사람이 있습니까?"라고 브로드캐스트합니다. 255.255.255.255(IP가 아직 없다는 것은 유니캐스트가 없음을 의미함).
  2. DHCPOFFER - DHCP 서버가 제안된 IP 및 임대 매개변수로 응답합니다.
  3. DHCPREQUEST - 클라이언트가 제공된 IP를 공식적으로 요청합니다. (이 역시 방송되므로 여러 DHCP 서버가 누가 이겼는지 알 수 있습니다.)
  4. DHCPACK — 서버가 임대를 확인합니다.

임대 기간은 고정되어 있습니다(홈 네트워크의 경우 24시간, 기업의 경우 더 길 경우가 많습니다). 클라이언트는 중간 지점에서 임대를 갱신합니다. 갱신이 실패하면 임대의 87.5%에서 다시 시도하고 마지막으로 만료되기 전에 다시 시도합니다. 갱신에 성공하지 못하면 IP가 해제되고 클라이언트가 다시 시작됩니다.

정적, 동적 및 예약

  • 정적 할당 — 클라이언트는 IP를 사용하여 수동으로 구성됩니다. DHCP는 사용되지 않습니다. 운영상 투박함; 특별한 경우(라우터 자체, 키 서버)를 위해 예약되었습니다.
  • 동적 할당 — DHCP는 풀에서 무료 IP를 선택합니다. 클라이언트는 사용 가능한 모든 것을 얻습니다.
  • DHCP 예약 — DHCP는 특정 MAC 주소가 항상 특정 IP를 얻어야 한다는 것을 알고 있습니다. DHCP의 유연성과 정적의 편리함. 대부분의 홈 라우터는 이를 지원합니다.

DHCP 릴레이

DHCP는 라우터를 통과하지 않는 브로드캐스트에 의존합니다. 다중 서브넷 네트워크(대부분의 기업)의 경우 라우터는 브로드캐스트를 포착하여 중앙 집중식 DHCP 서버로 전달하는 DHCP 릴레이 에이전트를 실행합니다. 이는 수백 개의 서브넷이 있는 기업 네트워크가 서브넷당 하나가 아닌 하나의 DHCP 서버를 실행할 수 있는 방법입니다.

DHCPv6 및 SLAAC

IPv6은 다른 접근 방식을 취했습니다. SLAAC(상태 비저장 주소 자동 구성)를 사용하면 클라이언트는 라우터가 광고하는 네트워크 접두사와 무작위 인터페이스 식별자에서 자체 IP를 파생할 수 있습니다. DHCP 스타일의 상태 저장 할당도 가능하지만(DHCPv6) 선택 사항입니다. 많은 IPv6 네트워크는 주소용 SLAAC, DNS용 DHCPv6 및 기타 옵션과 같은 하이브리드를 실행합니다.

DHCP 공격

  • Rogue DHCP 서버. 네트워크에 연결된 공격자는 악의적인 설정을 전달하는 자체 DHCP 서버를 실행하여 공격자가 제어하는 ​​IP에서 게이트웨이와 DNS를 가리킵니다. 완화 방법: 스위치의 DHCP 스누핑.
  • DHCP 고갈. 주소 풀이 고갈될 때까지 스푸핑된 MAC 주소를 사용하는 요청으로 합법적인 DHCP 서버를 넘치게 한 다음 불량 서버를 가동합니다. 완화: 속도 제한, MAC 소스 바인딩 정책.
  • 스푸핑 옵션. DHCP 옵션을 조작하여 악성 DNS 또는 PXE 부팅 서버를 삽입합니다.

DHCP 스누핑 및 관리되는 스위치의 DAI(동적 ARP 검사)는 기업의 표준 완화입니다. 네트워크.

실용적인 DHCP 문제

  • "내 IP가 계속 변경되는 이유는 무엇입니까?" 짧은 임대 시간 또는 장치 측 ID 변경(Wi-Fi의 MAC 무작위화). 안정적인 IP를 위해 DHCP 예약 또는 장기 임대를 구성합니다.
  • "휴가 후에 내 장치가 연결되지 않습니다." 임대가 오래 만료되었으며 라우터/DHCP가 장치를 잊어버렸습니다. ipconfig /renew(Windows), dhclient -r(Linux)로 갱신하거나 Wi-Fi를 전환합니다.
  • "두 장치의 IP가 동일합니다." DHCP 서버가 동기화되지 않거나(드물게) 중복되도록 수동으로 구성된 장치입니다. DHCP만 사용하십시오. 동일한 범위에서 정적 및 동적을 혼합하지 마십시오.
  • "내 프린터가 사라집니다." 프린터의 IP가 DHCP를 통해 변경되었으며 인쇄 대기열은 여전히 ​​이전 IP를 가리킵니다. 해결 방법: 프린터에 대한 DHCP 예약.

DHCP 지문

클라이언트가 요청하는 DHCP 옵션 패턴을 통해 해당 장치가 어떤 종류인지 알 수 있습니다. 네트워크에서는 iPhone, MacBook, Windows 노트북, ESP32 기반 IoT 등 장치 인구를 추적하기 위해 이를 기록하는 경우가 많습니다. 지문 채취 데이터베이스(Fingerbank)는 수백 개의 서로 다른 지문을 분류합니다. 개인 식별은 불가능하지만 네트워크 관리에 유용합니다.

자주 묻는 질문

집에서 나만의 DHCP 서버를 실행할 수 있나요?
귀하의 라우터는 이미 하나를 실행하고 있습니다. 별도의 DHCP 서버(고급 홈랩, 네트워크 테스트)를 실행하려면 먼저 라우터의 DHCP를 끄세요. Pi-hole, dnsmasq, ISC DHCP 및 Kea가 일반적인 대안입니다. 대부분의 사용자는 그럴 필요가 없습니다.
DHCP 임대란 무엇입니까?
클라이언트가 할당된 IP를 사용할 수 있는 기간입니다. 임대가 만료되면 IP가 풀로 반환됩니다. 클라이언트는 만료되기 전에 임대를 갱신합니다. 클라이언트 연결이 끊어지면 결국 임대가 만료되고 IP를 재사용할 수 있습니다. 홈 네트워크의 경우 임대 시간은 24시간이 일반적입니다.
내 Wi-Fi가 때때로 다른 IP를 할당하는 이유는 무엇입니까?
임대가 만료되어 주소가 다른 사람에게 재할당되었거나(그래서 DHCP가 다음 번에 다른 주소를 선택함) 장치의 MAC 무작위화로 인해 네트워크가 귀하를 새 장치로 인식합니다. 안정성을 위해 DHCP 예약을 구성하거나 개인정보 보호를 위해 변경 사항을 수락하세요.
DHCP가 내 DNS 서버를 설정할 수 있나요?
예. 이는 표준 DHCP 옵션 중 하나입니다. 장치의 DNS 확인자는 DHCP가 지시한 대로입니다. 재정의하려면 장치의 네트워크 설정(대부분의 운영 체제가 인터페이스별 지원)에서 DNS를 수동으로 설정하십시오. VPN 클라이언트는 VPN이 연결되어 있는 동안에도 DNS를 재정의합니다.
DHCP와 고정 IP의 차이점은 무엇입니까?
DHCP는 자동으로 IP를 할당합니다. 고정 IP는 수동으로 입력됩니다. 대부분의 장치에서는 DHCP가 정확합니다. 특정 경우(안정적인 IP가 필요한 서버, DNS가 아닌 IP로 연결해야 하는 장치)의 경우 정적 또는 DHCP 예약이 작동합니다. 최신 네트워크에서는 순수한 수동 정적이 거의 발생하지 않습니다.
DHCP 설명: 장치가 구성 없이 IP 주소를 얻는 방법