[CentOS] 11. DHCP 서버 구성

Date:     Updated:

카테고리:

태그:


🔔 DHCP란?



DHCP란 Dynamic Host Configuration Protocol의 약자로, 네트워크에서 IP 주소를 자동으로 할당해주는 프로토콜로 이를 통해 네트워크 장치들은 IP 주소를 수동으로 설정하지 않아도 자동으로 IP 주소를 획득할 수 있습니다.


  • IP 주소는 고정적으로 할당되어야 하지만, 수동으로 IP 주소를 할당하게 되면 네트워크 관리가 복잡해질 수 있습니다.

    • 예를 들면, 네트워크 장치를 추가하거나 IP 주소를 변경해야 할 때 마다 모든 장치들의 IP 주소를 수동으로 설정해야 하는 번거로움이 발생하게 되는데 이를 해결하기 위해 DHCP가 등장하였습니다.


2222


■ IP 주소 전달 방식

33333


  • 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";
}


CENTOS 카테고리 내 다른 글 보러가기

댓글 남기기