[Rocky] 11. DHCP 서버 구성
카테고리: ROCKY
🔔 DHCP란?
DHCP란 Dynamic Host Configuration Protocol의 약자로, 네트워크에서 IP 주소를 자동으로 할당해주는 프로토콜로 이를 통해 네트워크 장치들은 IP 주소를 수동으로 설정하지 않아도 자동으로 IP 주소를 획득할 수 있습니다.
-
IP 주소는 고정적으로 할당되어야 하지만, 수동으로 IP 주소를 할당하게 되면 네트워크 관리가 복잡해질 수 있습니다.
- 예를 들면, 네트워크 장치를 추가하거나 IP 주소를 변경해야 할 때 마다 모든 장치들의 IP 주소를 수동으로 설정해야 하는 번거로움이 발생하게 되는데 이를 해결하기 위해 DHCP가 등장하였습니다.

■ IP 주소 전달 방식

-
DHCP Discover : 클라이언트가 서브넷에 DHCP 서버를 찾는 메시지를 보내는 단계
-
DHCP Offer : DHCP 서버가 클라이언트에게 자신의 IP 주소와 클라이언트가 사용할 IP 주소, DNS 정보, IP 주소의 임대 시간 등을 전달하는 단계
-
DHCP Request : 클라이언트가 DHCP 서버에게 IP 주소를 사용한다고 통보하는 단계
-
DHCP Ack : DHCP 서버가 클라이언트에게 IP 주소의 사용을 확정하고 네트워크를 이용하도록 하는 단계
■ DHCP 메시지 종류
| 메시지 종류 | 설명 |
|---|---|
| DISCOVER (클라이언트) | 서버를 찾는 브로드캐스트 메시지 |
| OFFER (서버) | 클라이언트에게 동적 할당 할 IP를 제안하는 메시지 |
| REQUEST (클라이언트) | 선택된 서버를 알리는 메시지 |
| DECLINE (클라이언트) | IP 충돌이 확인되면 할당과정을 취소하기 위해 전달하는 메시지 |
| ACK (서버) | IP 할당과정의 정상적인 종료를 알리는 메시지 |
| NAK (서버) | IP 충돌 감지 등의 이유로 할당과정을 취소하기 위해 전달하는 메시지 |
| RELEASE (클라이언트) | 할당된 IP 해제 요청 |
| INFORM (클라이언트) | 현재 binding 된 정보 이외의 추가 정보를 요청하는 메시지 |
| FORCERENEW (서버) | binding 클라이언트의 정보를 삭제하고 재 요청을 하게 만드는 메시지 |
🔔 DHCP 서버 구성
■ DHCP를 설치 및 구성
$ dnf -y install dhcp-server
$ vi /etc/dhcp/dhcpd.conf
# 도메인 이름 지정
option domain-name "srv.world";
# DNS 서버의 호스트 이름 또는 IP 주소 지정
option domain-name-servers 168.126.63.1, 8.8.8.8;
# 기본 임대 시간
default-lease-time 600;
# 최대 임대 시간
max-lease-time 7200;
# DHCP 서버 중에서 해당 설정이 되어 있는 서버가 더 높은 우선순위를 가지게 되는 설정
authoritative;
# 네트워크 주소 및 서브넷 마스크 지정
subnet 192.168.219.0 netmask 255.255.255.0 {
# 임대 IP 주소 범위 지정
range 192.168.219.200 192.168.219.230;
# 브로드캐스트 주소 지정
option broadcast-address 192.168.219.255;
# 게이트웨이 지정
option routers 192.168.219.2;
}
$ systemctl enable --now dhcpd
# 방화벽 설정
$ firewall-cmd --add-service=dhcp; firewall-cmd --runtime-to-permanent
■ Log 확인 - 서버의 IP 할당 과정 확인
$ tail -f /var/log/messages
Apr 19 19:35:33 localhost systemd[1]: Started DHCPv4 Server Daemon.
Apr 19 19:36:51 localhost dhcpd[27860]: DHCPDISCOVER from 00:0c:29:f9:50:e2 via ens160
Apr 19 19:36:52 localhost dhcpd[27860]: DHCPOFFER on 192.168.219.200 to 00:0c:29:f9:50:e2 via ens160
Apr 19 19:36:52 localhost dhcpd[27860]: DHCPREQUEST for 192.168.219.200 (192.168.219.101) from 00:0c:29:f9:50:e2 via ens160
Apr 19 19:36:52 localhost dhcpd[27860]: DHCPACK on 192.168.219.200 to 00:0c:29:f9:50:e2 via ens160
■ 임대된 IP와 클라이언트 정보 확인 - /var/lib/dhcpd/dhcpd.leases
$ cat /var/lib/dhcpd/dhcpd.leases
~(생략)~
lease 192.168.219.200 {
starts 3 2023/04/19 10:36:52;
ends 3 2023/04/19 10:46:52;
cltt 3 2023/04/19 10:36:52;
binding state active;
next binding state free;
rewind binding state free;
hardware ethernet 00:0c:29:f9:50:e2;
uid "\001\000\014)\371P\342";
}
댓글 남기기