Categories
Computer Network

리눅스 DHCP 서버의 설치 및 설정 방법

아래 명령으로 DHCP 서버를 설치한다.

sudo apt install isc-dhcp-server

DHCP 서버의 설정 파일은 /etc/dhcp/dhcpd.conf 이다. 이 파일을 백업한다.

sudo mv /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak

같은 이름으로 새로운 설정 파일을 만든다.

sudo vi /etc/dhcp/dhcpd.conf

아래와 같은 내용을 입력한다. 해시 표시 (#) 뒤에 있는 설명 부분은 입력하지 않아도 된다.

# IP 주소 임대 시간은 600초이다.
default-lease-time 600;
# 최대 IP 주소 임대 시간은 2시간이다.
max-lease-time 7200;
# 해당 DHCP 서버가 공식적인 서버임을 의미한다.
authoritative;

# 서브넷을 정의한다.
subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.201 192.168.0.220;    # 할당할 IP 주소의 범위
  option routers 192.168.0.1;   # 디폴트 게이트웨이의 IP 주소
  option domain-name-servers 8.8.8.8, 8.8.4.4;    # DNS 서버의 IP 주소
}

특정 클라이언트가 항상 똑같은 IP 주소를 할당받도록 해 보자. 이 경우에 해당 클라이언트의 MAC 주소가 필요하다.

아래 명령으로 MAC 주소를 알아낸다.

ip addr show

서브넷을 정의한 괄호 안에 아래 내용을 추가한다.

host client-221 {
  hardware ethernet 69:41:10:91:11:22;    # MAC 주소
  fixed-address 192.168.2.221;    # IP 주소
}

다음은 /etc/dhcp/dhcpd.conf 파일의 전체 내용이다.

default-lease-time 600;
max-lease-time 7200;
authoritative;

subnet 192.168.0.0 netmask 255.255.255.0 {
  range 192.168.0.201 192.168.0.220;
  option routers 192.168.0.1;
  option domain-name-servers 8.8.8.8, 8.8.4.4;

  host client-221 {
    hardware ethernet 69:41:10:91:11:22;
    fixed-address 192.168.2.221;
  }
}

DHCP 서버의 또다른 설정 파일은 /etc/default/isc-dhcp-server 이다. 이 파일은 DHCP 서버와 네트워크 인터페이스를 바인딩하는 역할을 한다. 이러한 바인딩은 DHCP 서버에 여러 개의 네트워크 인터페이스가 있을 경우에 필요하다.

/etc/default/isc-dhcp-server 파일을 열고 아래와 같은 내용으로 작성한다.

INTERFACESv4="enp4s0"
INTERFACESv6=""

enp4s0 은 네트워크 인터페이스 이름이다. DHCP 서버는 이 인터페이스를 통해 클라이언트 요청에 응답하게 된다.

모든 설정을 마쳤다. 변경한 내용을 적용하기 위해 DHCP 서버를 재시작한다.

sudo systemctl restart isc-dhcp-server

DHCP 서버의 동작 상태를 확인해 보자.

sudo systemctl status isc-dhcp-server

Leave a Reply

Your email address will not be published. Required fields are marked *