Profile picture

[CentOS 7] DHCP 서버 구축하기

JaehyoJJAng2023년 06월 07일

◾️ DHCP

동적 호스트 구성 프로토콜(Dynamic Host Configuration Protocol,DHCP)은 호스트 IP 구성 관리를 단순화하는 IP 표준이다.
동적 호스트 구성 프로토콜 표준에서는 DHCP 서버를 사용하여 IP 주소 및 관련된 기타 구성 세부 정보를 네트워크의 DHCP 사용 클라이언트에게 동적으로 할당하는 방법을 제공한다.


▪️ 동작 원리

아래 링크의 내용을 참고하면 동작 원리를 쉽게 이해할 수 있다.
image
출처: https://www.netmanias.com/ko/post/blog/5348/dhcp-ip-allocation-network-protocol/understanding-the-basic-operations-of-dhcp


▪️ 설치

아래 커맨드를 사용하여 DHCP Package 설치

$ yum install -y dhcp

DHCP 서비스 재시작

$ systemctl enable --now dhcpd

DHCP 상태 확인

$ systemctl status dhcpd

▪️ 방화벽 허용

dhcp server는 UDP 67번 포트를 사용하며 Client는 UDP 68번 포트를 사용한다.

$ firewall-cmd --permanent --zone=public --add-port=67/udp
$ firewall-cmd --reload

▪️ DHCP 설정 파일

DHCP 설정 파일인 /etc/dhcp/dhcpd.conf을 설정하자.

# Global configuration ####################################
option domain-name "dhcp-test.com";
option domain-name-servers ns.dhcp-test.com;
default-lease-time 3600;                    //기본 임대 시간
max-lease-time 7200;                        //최대 임대 시간
authoritative;

# subnet configuration ####################################
subnet 10.11.0.0 netmask 255.255.255.0 {
 option routers                  10.11.0.1;
 option subnet-mask              255.255.255.0;
 option domain-name              "dhcp-test.com";
 option domain-name-servers      8.8.8.8, 8.8.4.4;
 option time-offset              -18000;
 range 10.11.0.100 10.11.0.110;
}

위와 같이 Global Configuration에 공통 설정을 입력 할 수도 있고, subnet Configuration 에 별도로도 설정이 가능하다.


dhcpd.conf 설명

  • option domain-name : Domain Name 지정
  • option domain-name-servers : DNS 서버 지정
  • default-lease-time : 임대 요청 만료 시간을 초단위로 설정
  • max-lease-time : 클라이언트가 할당된 IP를 가지고 있을 최대 시간을 초단위로 설정
  • option routers : DHCP Server 주소 / Gateway 주소 지정
  • ragne : 클라이언트에 할당할 IP 범위 지정

▪️ 임대 IP 고정 할당

DHCP 서버에서 MAC Address 기반으로 특정 IP를 지정하여 할당하도록 설정할 수 있다.
/etc/dhcp/dhcpd.conf 하단에 아래와 같은 설정 추가

host dhcp-test.com {
	hardware ethernet 00:20:32:80:c9:40;
	fixed-address 10.11.0.200;
}

위와 같이 설정 시,
00:20:32:80:c9:40 MAC Address는 10.11.0.200으로 IP를 할당받음.


▪️ DHCP Log

아래 커맨드로 DHCP 서비스가 작동하는 과정 및 IP 할당 로그를 확인할 수 있음.

$ tailf /var/log/messages | grep -i 'dhcp'

Loading script...