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