◾️ DHCP
동적 호스트 구성 프로토콜(Dynamic Host Configuration Protocol,DHCP)은 호스트 IP 구성 관리를 단순화하는 IP 표준이다.
동적 호스트 구성 프로토콜 표준에서는 DHCP 서버를 사용하여 IP 주소 및 관련된 기타 구성 세부 정보를 네트워크의 DHCP 사용 클라이언트에게 동적으로 할당하는 방법을 제공한다.
▪️ 동작 원리
아래 링크의 내용을 참고하면 동작 원리를 쉽게 이해할 수 있다.
출처: 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'