🌐 DHCP 개념, DORA 정리, 서버-클라이언트 설정방법 (리눅스)

2025. 4. 16. 21:49·Linux

 


🌐 DHCP 완전 정복! - 개념부터 DORA까지 쉽게 정리 🧠

 

 

DHCP가 생기기까지의 역사

 

 

RARP -> BOOTP->DHCP


📌 DHCP란?

DHCP (Dynamic Host Configuration Protocol) 는 네트워크에 연결된 장치에 자동으로 IP 주소를 할당해주는 프로토콜

매번 수동으로 IP 주소를 설정할 필요 없이 자동으로 설정해주는 것. 🙌


📦 Pool vs Scope?

✅ Pool: 주소를 할당할 수 있는 네트워크 대역

예) 192.168.50.0/24 (총 256개의 주소)

✅ Scope: 실제로 클라이언트에게 할당할 수 있는 IP 주소 범위

예) 192.168.50.100 ~ 192.168.50.150
즉, Pool은 전체 수영장, Scope는 수영할 수 있는 구역이라고 생각하면 쉬워요! 🏊‍♂️


⏰ 임대 개념 (Lease Time)

주소 바인딩 - 주소할당받는 단계
갱신 - 임대시간 절반 흐른 후에 (50%) 임대시간 연장요청 / 연장되면 주소바인딩으로 순서가 다시 돌아감
리 바인딩- 갱신 실패시에(50%지났는데 연장요청이 이뤄지지 않았을 때) 
임대시간을 연장하지 않고 완전히 새로운 주소를 재할당받는 단계 (87.5%시점에 진행)
해제- 임대종료 1)갱신실패,리바인딩 실패로 강제 해제 2)사용자 종료

 

 

DHCP는 IP 주소를 무기한 주는 게 아니라 일정 시간 동안만 임대

=Lease Time(임대 시간) 

예) 1시간 임대 → 1시간 동안만 그 주소 사용 가능


🔄 임대 과정 - 주소의 생애주기

IP 주소는 다음의 순서로 관리

1️⃣ 주소 바인딩 (Binding)

→ 클라이언트가 주소를 받아 사용하는 상태

2️⃣ 갱신 (Renew)

→ 임대시간의 50%가 지났을 때 서버에게 연장 요청
💡 예: 1시간 임대 시, 30분쯤에 갱신 요청

3️⃣ 리바인딩 (Rebinding)

→ 갱신 실패 시, 임대시간의 87.5% 경과 시점에 다른 서버에게 새 주소 요청

4️⃣ 해제 (Release)

→ 임대시간 종료 시 주소 반납

  • 자동 만료
  • 사용자가 직접 네트워크 종료 시 해제

🚀 IP 주소 할당 과정 - DORA 프로세스

DHCP에서 주소를 할당받는 과정을 **DORA(D-O-R-A)**라고 함.
총 4단계로 이루어져 있고, 각 단계마다 메시지를 주고받는다 📬


🔍 1. Discover (발견 요청)

  • 클라이언트 → 서버
  • 자신에게 주소를 줄 수 있는 DHCP 서버를 찾기 위한 브로드캐스트 메시지 💨

📦 패킷 정보:

  • 7계층: DHCP Discover
  • 4계층: UDP (Src Port: 68 / Dst Port: 67)
  • 3계층: IP (Src IP: 0.0.0.0 / Dst IP: 255.255.255.255)
  • 2계층: Ethernet (Src MAC: A / Dst MAC: FF:FF:FF:FF:FF:FF)

🎁 2. Offer (주소 제안)

  • 서버 → 클라이언트
  • IP 주소, 서브넷, 게이트웨이 등을 포함한 제안 메시지

📦 예시: 192.168.50.150 주소 제안
📦 패킷 정보:

  • 7계층: DHCP Offer
  • 4계층: UDP (Src Port: 67 / Dst Port: 68)
  • 3계층: IP (Src IP: 192.168.50.100 / Dst IP: 192.168.50.150)
  • 2계층: Ethernet (Src MAC: S / Dst MAC: A)

🙋‍♀️ 3. Request (주소 요청)

  • 클라이언트 → 서버
  • 받은 여러 제안 중 하나를 선택해서 요청하는 메시지
    💡 브로드캐스트로 전송하여 선택받지 못한 서버들도 "넌 아니야~" 라는 걸 알 수 있게 함 😅

📦 패킷 정보:

  • 7계층: DHCP Request
  • 4계층: UDP (Src Port: 68 / Dst Port: 67)
  • 3계층: IP (Src IP: 0.0.0.0 / Dst IP: 255.255.255.255)

✅ 4. ACK (주소 승인)

  • 서버 → 클라이언트
  • 클라이언트가 요청한 주소를 최종적으로 승인하고 할당을 완료 🎉

📦 패킷 정보:

  • 7계층: DHCP ACK
  • 4계층: UDP (Src Port: 67 / Dst Port: 68)
  • 3계층: IP (Src IP: 192.168.50.100 / Dst IP: 192.168.50.150)

🧠 한눈에 보는 DORA 요약표

단계 송신자 메시지 종류 목적 특이사항

Discover Client 브로드캐스트 서버 찾아요~ MAC만 있음
Offer Server 유니, 브로드캐스트 이 IP 어떤가요? 제안
Request Client 브로드캐스트 이 주소 쓸게요! 선택 통보
ACK Server 유니캐스트 오케이, 이제 써도 돼요~ 최종 승인

✨ 덧붙이는 팁

  • DHCP는 기본적으로 같은 네트워크 안에서 통신. (Discover 메시지가 브로드캐스트라서)
  • 라우터를 넘기기 위해선 DHCP Relay Agent가 필요
  • 네트워크에서 IP 충돌 없이 효율적인 관리가 가능한 이유는 바로 이 DHCP 덕분! 🙌

 

DHCP 서버 설정

 

–y install dhcp-server

cp /usr/share/doc/dhcp-server/dhcpd.conf.example/etc/dhcp/dhcpd.conf

–y install dhcp-server
cp /usr/share/doc/dhcp-server/dhcpd.conf.example/etc/dhcp/dhcpd.conf

/etc/dhcp/dhcpd.conf

/etc/dhcp/dhcpd.conf

재시작 후 확인

 systemctl restart dhcpd

 

DHCP 클라이언트 설정

/etc/sysconfig/network-scripts/ifcfg-<인터페이스명> (CentOS 및 RHEL 계열)

 

 

/etc/sysconfig/network-scripts/ifcfg-<인터페이스명> (CentOS 및 RHEL 계열)

네트워크 인터페이스 설정 파일로, BOOTPROTO=dhcp로 설정하면 DHCP를 통해 IP를 자동 할당받음. 영구설정.

/etc/resolv.conf

/etc/resolv.conf

DNS 서버 정보를 저장하는 파일로, DHCP 서버에서 제공하는 DNS 정보를 자동으로 설정. 껐다 키면 사라짐.

 

 

'Linux' 카테고리의 다른 글

리눅스 파일 다운로드,패키지 관리 프로그램 (RPM, DNF)  (0) 2025.04.16
리눅스 권한  (0) 2025.04.16
리눅스의 확장 권한, 파일 속성, 프로세스 관리, 백그라운드 실행 방식  (0) 2025.04.16
DNS 이름 해석 구조부터 Zone 파일 구성까지 정리  (0) 2025.04.16
DNS 서버 종류 & 영역 전송 정리  (0) 2025.04.16
'Linux' 카테고리의 다른 글
  • 리눅스 권한
  • 리눅스의 확장 권한, 파일 속성, 프로세스 관리, 백그라운드 실행 방식
  • DNS 이름 해석 구조부터 Zone 파일 구성까지 정리
  • DNS 서버 종류 & 영역 전송 정리
햅삐root
햅삐root
happyroot 님의 블로그 입니다. IT 보안 정리💛
  • 햅삐root
    햅삐한 root
    햅삐root
  • 전체
    오늘
    어제
    • 전체보기 IT (123)
      • Linux (21)
      • Network (23)
      • packet tracer& GNS3 (10)
      • Cryptology (7)
      • WEB (16)
      • DB (16)
      • Hacking (28)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    injectionvector
    sqlinjection
    Hack
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
햅삐root
🌐 DHCP 개념, DORA 정리, 서버-클라이언트 설정방법 (리눅스)
상단으로

티스토리툴바