본문 바로가기
Linux

DHCP

by Mostlove 2025. 3. 26.
728x90
반응형

DHCP (Dynamic Host Configuration Protocol)란?

**DHCP (Dynamic Host Configuration Protocol)**는 네트워크에 연결된 장치(호스트)에게 자동으로 IP 주소 및 기타 네트워크 설정(서브넷 마스크, 게이트웨이, DNS 서버 등)을 할당하는 프로토콜입니다. DHCP는 관리자가 수동으로 IP 주소를 할당하는 번거로움을 줄여주고, IP 주소를 동적으로 할당함으로써 네트워크의 효율성을 높여줍니다.

DHCP의 동작 원리

  1. DHCP Discover: 네트워크에 새로 연결된 장치는 DHCP 서버를 찾기 위해 브로드캐스트 방식으로 DHCP Discover 메시지를 보냅니다.
  2. DHCP Offer: DHCP 서버는 요청을 받은 장치에게 사용할 수 있는 IP 주소와 관련 정보를 담은 DHCP Offer 메시지를 브로드캐스트로 응답합니다.
  3. DHCP Request: 장치는 여러 서버로부터 오퍼를 받을 수 있지만, 하나를 선택하고, DHCP Request 메시지를 보내서 해당 서버에서 제공하는 IP 주소를 사용한다고 요청합니다.
  4. DHCP Acknowledgment: DHCP 서버는 클라이언트가 요청한 IP 주소를 할당하고 DHCP Acknowledgment 메시지를 보내어 클라이언트가 IP 주소를 사용하도록 승인합니다.

이 과정은 자동으로 이루어지며, 각 장치는 네트워크에 연결될 때마다 DHCP 서버에서 IP 주소를 동적으로 할당받게 됩니다.

DHCP 서버의 구성 요소

  1. IP 주소 풀: DHCP 서버는 네트워크에서 사용할 수 있는 여러 개의 IP 주소를 풀(pools) 형태로 관리합니다.
  2. 서브넷 마스크: DHCP 서버는 네트워크의 서브넷 마스크를 클라이언트에게 전달하여, 네트워크의 범위를 알 수 있도록 합니다.
  3. 게이트웨이 및 DNS 서버: 네트워크 내부 및 외부 통신을 위한 게이트웨이 주소와 도메인 네임 시스템(DNS) 서버 주소도 함께 전달합니다.

DHCP 서버 설치 및 구성 예시

1. DHCP 서버 설치 (예: CentOS, RHEL, Fedora)

sudo yum install dhcp

2. DHCP 서버 설정 파일 수정

/etc/dhcp/dhcpd.conf 파일을 수정하여 IP 주소 범위, 서브넷 마스크, 게이트웨이 등의 설정을 합니다.

sudo vi /etc/dhcp/dhcpd.conf

기본적인 설정 예시는 다음과 같습니다:

# 기본 설정
option domain-name "example.com";
option domain-name-servers ns1.example.com, ns2.example.com;

# 기본 임대 시간과 최대 임대 시간 설정
default-lease-time 600;
max-lease-time 7200;

# 서브넷 설정 (예시: 192.168.1.0/24)
subnet 192.168.1.0 netmask 255.255.255.0 {
    range 192.168.1.10 192.168.1.50;  # IP 주소 풀
    option routers 192.168.1.1;       # 기본 게이트웨이
    option broadcast-address 192.168.1.255;
    option domain-name-servers 192.168.1.2;
}

3. DHCP 서버 시작 및 활성화

설정 후 DHCP 서버를 시작하고, 부팅 시 자동으로 시작되도록 설정합니다.

sudo systemctl start dhcpd
sudo systemctl enable dhcpd

4. 방화벽 설정

DHCP 서버가 네트워크에서 올바르게 동작하려면 포트 67번(UDP)을 열어야 합니다. 방화벽을 통해 이 포트를 열어줍니다.

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

5. DHCP 서버 상태 확인

DHCP 서버가 정상적으로 작동하는지 확인하려면 다음 명령어를 사용하여 서비스 상태를 확인할 수 있습니다.

sudo systemctl status dhcpd

DHCP 클라이언트 설정

대부분의 클라이언트 시스템은 DHCP 서버를 통해 자동으로 IP 주소를 할당받습니다. 예를 들어, Linux 시스템에서는 dhclient 명령어로 DHCP 서버에서 IP 주소를 요청할 수 있습니다.

sudo dhclient

이 명령어를 실행하면 시스템이 DHCP 서버에 요청을 보내고, IP 주소를 할당받습니다.

Windows 클라이언트에서 DHCP 설정 확인

Windows에서는 DHCP 클라이언트 설정이 기본적으로 활성화되어 있습니다. 명령 프롬프트에서 ipconfig /renew 명령어를 사용하여 IP 주소를 갱신할 수 있습니다.

ipconfig /renew

DHCP 활용 예시

  1. 동적 IP 주소 할당: DHCP 서버를 사용하면 네트워크에 새로 추가된 장치가 자동으로 IP 주소를 할당받을 수 있습니다. 예를 들어, 사무실에서 새 컴퓨터를 연결하면 DHCP 서버가 자동으로 IP 주소를 할당하여 사용자가 바로 인터넷을 사용할 수 있도록 합니다.
  2. 고정 IP 주소 할당: 특정 장치가 항상 동일한 IP 주소를 사용해야 할 경우, DHCP 서버에서 "예약" 기능을 사용하여 MAC 주소에 따라 특정 IP 주소를 할당할 수 있습니다. 예를 들어, 프린터, 서버, 라우터 등 중요한 장치에 대해 고정 IP를 할당할 수 있습니다.
  3. DHCP Relay: 여러 개의 서브넷에 DHCP 서버가 없을 경우, DHCP Relay Agent를 사용하여 중앙 DHCP 서버로부터 IP 주소를 할당받을 수 있도록 설정할 수 있습니다. 이 방식은 큰 네트워크에서 유용합니다.

결론

DHCP는 네트워크 관리에서 IP 주소 할당을 자동화하여 효율성을 높이고, 수동으로 IP 주소를 관리하는 번거로움을 줄여줍니다. DHCP 서버를 설정하여 네트워크에 연결되는 장치들에게 자동으로 IP 주소를 할당할 수 있으며, 고정 IP 주소 할당도 가능합니다. 이를 통해 네트워크 관리가 한층 더 간편해지고, IP 주소 충돌을 방지할 수 있습니다.

반응형

'Linux' 카테고리의 다른 글

Kerberos Authentication Server  (0) 2025.03.26
Remote Log Server  (0) 2025.03.26
NTP 설정 및 활용  (0) 2025.03.26
Proxy Server  (0) 2025.03.25
Mail Server  (0) 2025.03.25