웹사이트 검색

CentOS 및 Ubuntu에서 DHCP 서버 및 클라이언트를 설정하는 방법


DHCP(동적 호스트 구성 프로토콜의 약어)는 서버가 IP 주소 및 기타 관련 구성 매개변수(예: 서브넷 마스크)를 자동으로 할당할 수 있도록 하는 클라이언트/서버 프로토콜입니다. 및 기본 게이트웨이)를 네트워크의 클라이언트에 연결합니다.

DHCP는 시스템 또는 네트워크 관리자가 네트워크에 추가된 새 컴퓨터나 한 서브넷에서 다른 서브넷으로 이동된 컴퓨터의 IP 주소를 수동으로 구성하는 것을 방지하기 때문에 중요합니다.

DHCP 서버가 DHCP 클라이언트에 할당한 IP 주소는 “임대”에 있으며, 임대 시간은 일반적으로 임대 기간에 따라 다릅니다. 클라이언트 컴퓨터에는 연결이나 DHCP 구성이 필요할 수 있습니다.

이 문서에서는 CentOSUbuntu Linux 배포판에서 DHCP 서버를 구성하여 IP 주소를 클라이언트 시스템에 자동으로 할당하는 방법을 설명합니다.

CentOS 및 Ubuntu에 DHCP 서버 설치

DCHP 서버 패키지는 주류 Linux 배포판의 공식 저장소에서 사용할 수 있습니다. 설치는 매우 쉽습니다. 다음 명령을 실행하기만 하면 됩니다.

yum install dhcp		        #CentOS
sudo apt install isc-dhcp-server	#Ubuntu

설치가 완료되면 구성 파일 /etc/default/isc-dhcp-server 또는 에서 DHCP 데몬이 요청을 처리할 인터페이스를 구성합니다. >/etc/sysconfig/dhcpd.

vim /etc/sysconfig/dhcpd		 #CentOS
sudo vim /etc/default/isc-dhcp-server	 #Ubuntu

예를 들어 DHCPD 데몬이 eth0에서 수신 대기하도록 하려면 다음 지시어를 사용하여 설정하세요.

DHCPDARGS=”eth0”

파일을 저장하고 종료합니다.

CentOS 및 Ubuntu에서 DHCP 서버 구성

기본 DHCP 구성 파일은 /etc/dhcp/dhcpd.conf에 있으며 여기에는 수행할 작업, 수행 위치 및 제공할 모든 네트워크 매개변수에 대한 설정이 포함되어 있습니다. 클라이언트에게.

이 파일은 기본적으로 두 가지 광범위한 범주로 그룹화된 명령문 목록으로 구성됩니다.

  • 전역 매개변수: 작업 수행 방법, 작업 수행 여부 또는 DHCP 클라이언트에 제공할 네트워크 구성 매개변수를 지정합니다.
  • 선언: 네트워크 토폴로지를 정의하고, 클라이언트가 속해 있음을 명시하고, 클라이언트에 대한 주소를 제공하거나, 선언 그룹에 매개변수 그룹을 적용합니다.

이제 구성 파일을 열고 편집하여 DHCP 서버를 구성하십시오.

------------ On CentOS ------------ 
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf	
vi /etc/dhcp/dhcpd.conf	

------------ On Ubuntu ------------
sudo vim /etc/dhcp/dhcpd.conf				

파일 상단에서 지원되는 모든 네트워크에 공통적인 전역 매개변수를 정의하는 것부터 시작하세요. 모든 선언에 적용됩니다.

option domain-name "tecmint.lan";
option domain-name-servers ns1.tecmint.lan, ns2.tecmint.lan;
default-lease-time 3600; 
max-lease-time 7200;
authoritative;

다음으로, 표시된 대로 내부 서브넷(예: 192.168.1.0/24)에 대한 하위 네트워크를 정의해야 합니다.

subnet 192.168.1.0 netmask 255.255.255.0 {
        option routers                  192.168.1.1;
        option subnet-mask              255.255.255.0;
        option domain-search            "tecmint.lan";
        option domain-name-servers      192.168.1.1;
        range   192.168.10.10   192.168.10.100;
        range   192.168.10.110   192.168.10.200;
}

특별한 구성 옵션이 필요한 호스트는 호스트 설명에 나열될 수 있습니다(dhcpd.conf 매뉴얼 페이지 참조).

이제 DHCP 서버 데몬을 구성했으므로 서비스를 시작하고 다음 시스템 부팅 시 자동으로 시작되도록 활성화하고 다음 명령을 사용하여 서비스가 실행되고 있는지 확인해야 합니다.

------------ On CentOS ------------ 
systemctl start dhcpd
systemctl enable dhcpd
systemctl enable dhcpd

------------ On Ubuntu ------------
sudo systemctl start isc-dhcp-server
sudo systemctl enable isc-dhcp-server
sudo systemctl enable isc-dhcp-server

그런 다음 다음을 실행하여 포트 67/UDP에서 수신 대기하는 방화벽의 DHCP 데몬에 대한 요청을 허용합니다.

------------ On CentOS ------------ 
firewall-cmd --zone=public --permanent --add-service=dhcp
firewall-cmd --reload 

#------------ On Ubuntu ------------
sudo ufw allow 67/udp
sudo ufw reload

DHCP 클라이언트 구성

마지막으로 DHCP 서버가 제대로 작동하는지 테스트해야 합니다. 네트워크에 있는 몇몇 클라이언트 시스템에 로그온하고 서버에서 자동으로 IP 주소를 받도록 구성합니다.

클라이언트가 IP 주소를 자동 수신할 인터페이스에 대한 적절한 구성 파일을 수정합니다.

CentOS에서 DHCP 클라이언트 설정

CentOS에서 인터페이스 구성 파일은 /etc/sysconfig/network-scripts/에 있습니다.

vim /etc/sysconfig/network-scripts/ifcfg-eth0

아래 옵션을 추가하세요.

DEVICE=eth0
BOOTPROTO=dhcp
TYPE=Ethernet
ONBOOT=yes

파일을 저장하고 네트워크 서비스를 다시 시작합니다(또는 시스템을 재부팅합니다).

systemctl restart network

Ubuntu에서 DHCP 클라이언트 설정

Ubuntu 16.04에서는 구성 파일 /etc/network/interfaces에서 모든 인터페이스를 구성할 수 있습니다.

   
sudo vi /etc/network/interfaces

다음 줄을 추가하세요.

auto  eth0
iface eth0 inet dhcp

파일을 저장하고 네트워크 서비스를 다시 시작합니다(또는 시스템을 재부팅합니다).

sudo systemctl restart networking

Ubuntu 18.04에서 네트워킹은 Netplan 프로그램에 의해 제어됩니다. 예를 들어 /etc/netplan/ 디렉토리 아래에서 적절한 파일을 편집해야 합니다.

sudo vim /etc/netplan/01-netcfg.yaml 

그런 다음 특정 인터페이스(예: 이더넷, ens0)에서 dhcp4를 활성화하고 고정 IP 관련 구성을 주석 처리합니다.

network:
  version: 2
  renderer: networkd
  ethernets:
    ens0:
      dhcp4: yes

변경 사항을 저장하고 다음 명령을 실행하여 변경 사항을 적용합니다.

sudo netplan apply 

자세한 내용은 dhcpddhcpd.conf 매뉴얼 페이지를 참조하세요.

man dhcpd
man dhcpd.conf

이 문서에서는 CentOSUbuntu Linux 배포판에서 DHCP 서버를 구성하는 방법을 설명했습니다. 어떤 점에 대해 더 명확한 설명이 필요한 경우 아래 피드백 양식을 통해 질문하거나 의견을 공유해 주세요.