IT이야기/네트워크

DHCP: 네트워크 자동 IP 할당의 핵심 기술 완벽 정리

Chiba-in 2025. 2. 28. 06:30

🔹 DHCP란?

1. DHCP(Dynamic Host Configuration Protocol)의 정의

DHCP(Dynamic Host Configuration Protocol)네트워크에서 장치에 자동으로 IP 주소를 할당하는 프로토콜입니다.
DHCP를 사용하면 수동으로 IP를 설정할 필요 없이, 네트워크 장치가 자동으로 IP를 할당받고 네트워크에 연결될 수 있습니다.

DHCP의 주요 기능:

  • IP 주소 자동 할당 → 사용자가 직접 IP를 설정할 필요 없음
  • 네트워크 설정 자동화 → 서브넷 마스크, 게이트웨이, DNS 등 자동 구성
  • IP 주소 관리 최적화 → 중복 IP 방지 및 네트워크 관리 효율성 증가

📌 DHCP는 기업 네트워크, 가정용 공유기, 클라우드 환경 등 다양한 환경에서 필수적인 네트워크 프로토콜


🔹 DHCP 작동 방식 (DHCP IP 할당 과정)

DHCP 클라이언트(PC, 스마트폰, IoT 기기 등)가 DHCP 서버로부터 IP 주소를 할당받는 과정은 DORA 프로세스(DORA: Discover, Offer, Request, Acknowledge)를 따릅니다.

✔️ DHCP DORA 과정:

1️⃣ Discover → 클라이언트가 DHCP 서버를 찾기 위해 브로드캐스트 요청을 보냄
2️⃣ Offer → DHCP 서버가 사용 가능한 IP 주소를 제안
3️⃣ Request → 클라이언트가 특정 IP 주소를 요청
4️⃣ Acknowledge → DHCP 서버가 요청을 승인하고 IP 할당 완료

📌 이 과정을 통해 네트워크에 연결된 장치는 자동으로 IP 주소를 할당받고 사용할 수 있음


🔹 DHCP 서버 구성 요소

DHCP 서버는 다음과 같은 구성 요소를 포함합니다.

구성 요소 설명
DHCP 범위(Scope) 할당 가능한 IP 주소 범위 (예: 192.168.1.100 ~ 192.168.1.200)
리스 기간(Lease Time) IP 주소 사용 가능 기간 (예: 24시간)
게이트웨이(Gateway) 기본 라우터 주소 (예: 192.168.1.1)
DNS 서버(DNS Server) 도메인 네임 시스템 서버 주소
예약 주소(Reservation) 특정 장치에 항상 같은 IP 주소 할당

📌 DHCP 서버에서 IP 주소 범위와 설정을 지정하면 클라이언트가 자동으로 네트워크 설정을 받음


🔹 DHCP IP 할당 방식

DHCP는 다양한 방식으로 IP 주소를 할당할 수 있습니다.

1. 동적 할당(Dynamic Allocation)

가장 일반적인 방식으로, DHCP 서버가 IP 주소를 자동으로 할당하고 리스 기간이 만료되면 IP를 반환
✔️ 사용 사례: 기업 네트워크, 공공 Wi-Fi, 클라우드 서버


2. 자동 할당(Automatic Allocation)

처음 할당된 IP 주소를 클라이언트가 계속 유지
✔️ 사용 사례: 기업 내 프린터, VoIP 전화기


3. 고정 할당(Static Allocation, Reservation)

특정 MAC 주소에 항상 같은 IP 주소를 할당
✔️ 사용 사례: 서버, 네트워크 장비 (예: 00:1A:2B:3C:4D:5E192.168.1.10)

📌 고정 할당을 사용하면 중요한 네트워크 장치가 변경 없이 항상 같은 IP를 사용 가능


🔹 DHCP 서버 구축 방법

1. 리눅스(Linux)에서 DHCP 서버 설정

Linux에서 ISC DHCP 서버를 설치하고 설정

✔️ DHCP 서버 설치 (Ubuntu 기준)

sudo apt update
sudo apt install isc-dhcp-server

✔️ DHCP 설정 파일 수정 (/etc/dhcp/dhcpd.conf)

subnet 192.168.1.0 netmask 255.255.255.0 {
  range 192.168.1.100 192.168.1.200;
  option routers 192.168.1.1;
  option domain-name-servers 8.8.8.8, 8.8.4.4;
  default-lease-time 600;
  max-lease-time 7200;
}

✔️ DHCP 서버 시작 및 확인

sudo systemctl restart isc-dhcp-server
sudo systemctl status isc-dhcp-server

📌 Linux 환경에서 DHCP 서버를 설정하면 네트워크 내 여러 장치가 자동으로 IP를 할당받을 수 있음


2. 윈도우 서버(Windows Server)에서 DHCP 설정

Windows Server의 DHCP 역할을 이용하여 DHCP 서버 구성 가능

✔️ 설정 과정:
1️⃣ Windows Server에서 "DHCP 역할 추가"
2️⃣ 새 DHCP 범위(Scope) 생성 (192.168.1.100 ~ 192.168.1.200)
3️⃣ 게이트웨이 및 DNS 서버 지정 (192.168.1.1, 8.8.8.8)
4️⃣ DHCP 서비스 활성화 및 확인

📌 Windows Server DHCP를 활용하면 GUI 환경에서 손쉽게 네트워크 관리 가능


🔹 DHCP와 보안 이슈

DHCP는 자동 IP 할당의 편리함을 제공하지만, 보안 문제가 발생할 수 있음.

1. DHCP 스푸핑 공격 (DHCP Spoofing)

공격자가 가짜 DHCP 서버를 만들어 잘못된 IP 주소를 제공
✔️ 해결 방법:

  • DHCP Snooping 기능 활성화 (스위치 보안 설정)
  • 정식 DHCP 서버만 사용하도록 네트워크 정책 강화

2. IP 주소 할당 과부하 (DHCP Starvation Attack)

공격자가 다수의 요청을 보내 IP 주소를 모두 소진시키는 공격
✔️ 해결 방법:

  • MAC 주소 기반 인증 활성화
  • DHCP 할당 범위를 제한하여 과부하 방지

📌 결론

DHCP(Dynamic Host Configuration Protocol)는 네트워크에서 장치가 자동으로 IP 주소를 할당받도록 하는 핵심 기술이다.
DHCP를 사용하면 네트워크 설정을 자동화하고, IP 주소 충돌을 방지할 수 있다.
Linux 및 Windows 환경에서 DHCP 서버를 구축하여 기업 및 가정 네트워크를 효율적으로 관리할 수 있다.
보안 이슈를 고려하여 DHCP Snooping 등 네트워크 보안 기능을 활성화하는 것이 중요하다.