🌐 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 |