DHCP란?

정의

DHCP(Dynamic Host Configuration Protocol)는 네트워크에 연결된 장치에게 IP 주소, 서브넷 마스크, 게이트웨이, DNS 서버 등의 네트워크 정보를 자동으로 할당해주는 프로토콜입니다.

개념

  • 클라이언트는 DHCP 서버에 IP 주소 요청 (DHCPDISCOVER)
  • 서버는 가용 IP 중 하나를 제안 (DHCPOFFER)
  • 클라이언트가 선택 요청 (DHCPREQUEST)
  • 서버가 확정 응답 (DHCPACK)

이 과정을 통해 수작업 없이 네트워크 설정이 자동화됩니다.

왜 사용하는가?

  • IP 주소 수동 설정의 번거로움 제거
  • IP 중복 방지
  • 네트워크 설정의 일괄 관리 가능
  • 대규모 인프라에 적합

DHCP 서버 구축 (CentOS 7.9)

사전 준비

  • OS: CentOS 7.9
  • 네트워크 구성 확인 (서브넷, 게이트웨이 등)

패키지 설치

sudo yum install -y dhcp

설정 파일 위치

  • 메인 설정 파일: /etc/dhcp/dhcpd.conf
  • PID 파일: /var/run/dhcpd.pid
  • 리스 파일: /var/lib/dhcpd/dhcpd.leases

설정 파일 작성 예시

아래는 DHCP 서버가 하나의 서브넷(192.168.100.0/24)에 대해 동적으로 IP를 할당하도록 설정한 예시입니다.
IP 범위는 192.168.100.100~200이며, 기본 게이트웨이와 DNS 서버, 도메인 이름도 함께 클라이언트에게 제공됩니다.
서버는 이 서브넷의 권한 있는(authoritative) DHCP 서버로 지정되어 있습니다.

# /usr/share/doc/dhcp*/dhcpd.conf.example 예제 파일 위치
# /etc/dhcp/dhcpd.conf

default-lease-time 600;
max-lease-time 7200;

authoritative;
subnet 192.168.100.0 netmask 255.255.255.0 {
  range 192.168.100.100 192.168.100.200;
  option routers 192.168.100.1;
  option subnet-mask 255.255.255.0;
  option domain-name-servers 8.8.8.8, 8.8.4.4;
  option domain-name "example.local";
}

# 설정파일 문법 확인
dhcpd -t

특정 MAC 주소에 고정 IP 할당 예시 (예약)

host printer1 {
  hardware ethernet 00:11:22:33:44:55;
  fixed-address 192.168.100.50;
}

서비스 활성화

sudo systemctl enable dhcpd --now
sudo systemctl status dhcpd

방화벽 허용

sudo firewall-cmd --permanent --add-service=dhcp
sudo firewall-cmd --reload

로그 확인

DHCP 서버가 클라이언트에게 IP를 성공적으로 할당했는지는 로그와 리스 파일을 통해 확인할 수 있습니다.

journalctl -u dhcpd
cat /var/log/messages | grep dhcpd

또는 리스 파일을 직접 확인하여 현재 연결된 클라이언트 목록을 확인할 수 있습니다:

cat /var/lib/dhcpd/dhcpd.leases

이 파일에는 각 클라이언트의 MAC 주소, 할당된 IP 주소, 임대 시간, 갱신 시간 등의 정보가 포함되어 있습니다.

journalctl -u dhcpd
cat /var/log/messages | grep dhcpd

주요 DHCP 옵션 설명

옵션 설명
range 클라이언트에게 할당할 IP 주소 범위
option routers 게이트웨이 주소 설정
option domain-name-servers DNS 서버 주소 설정
option domain-name 도메인 이름 설정
default-lease-time 임대 기본 시간 (초 단위)
max-lease-time 임대 최대 시간 (초 단위)
fixed-address 특정 MAC에 고정 IP 할당

DHCP의 고도화 방안

보안 강화

  • DHCP Snooping (스위치 레벨에서 DHCP 위조 방지)
  • DHCP 인증 구현 (보안 옵션이 제한적이나 보완 방법 고려)

고가용성(HA)

  • failover peer 설정으로 주/보조 DHCP 서버 구성 가능

모니터링

  • dhcpd.leases 파일 주기적 확인
  • 로그 모니터링 + Zabbix 연동 가능

 PXE 서버 연동

  • DHCP 옵션 66/67을 통해 PXE 부팅 서버 지정 가능
option tftp-server-name "192.168.100.10"; # 옵션 66
option bootfile-name "pxelinux.0"; # 옵션 67