웹사이트 검색

Ubuntu 및 Debian에 DHCP 서버를 설치하는 방법


동적 호스트 구성 프로토콜(DHCP)은 호스트 컴퓨터가 서버로부터 자동으로 IP 주소 및 관련 네트워크 구성을 할당받을 수 있도록 하는 데 사용되는 네트워크 프로토콜입니다.

DHCP 서버가 DHCP 클라이언트에 할당한 IP 주소는 "임대" 상태이며, 임대 시간은 일반적으로 클라이언트 컴퓨터에 연결 또는 DHCP 구성이 필요한 기간에 따라 달라집니다.

DHCP는 어떻게 작동하나요?

다음은 DHCP가 실제로 어떻게 작동하는지에 대한 간략한 설명입니다.

  • 클라이언트(DHCP를 사용하도록 구성됨)가 네트워크에 연결되면 부팅되면 DHCPDISCOVER 패킷을 DHCP 서버로 보냅니다.
  • DHCP 서버는 DHCPDISCOVER 요청 패킷을 수신하면 DHCPOFFER 패킷으로 응답합니다.
  • 그런 다음 클라이언트는 DHCPOFFER 패킷을 받고 DHCPREQUEST 패킷을 서버에 보내 DHCPOFFER에 제공된 네트워크 구성 정보를 수신할 준비가 되었음을 나타냅니다. 강한> 패킷.
  • 마지막으로 DHCP 서버는 클라이언트로부터 DHCPREQUEST 패킷을 수신한 후 클라이언트가 이제 할당된 IP 주소를 사용할 수 있음을 나타내는 DHCPACK 패킷을 보냅니다.

이 기사에서는 Ubuntu/Debian Linux에서 DHCP 서버를 설정하는 방법을 보여주고 sudo 명령으로 모든 명령을 실행하여 루트 사용자 권한을 얻습니다.

테스트 환경 설정

이 설정에는 다음 테스트 환경을 사용할 예정입니다.

DHCP Server - Ubuntu 16.04 
DHCP Clients - CentOS 7 and Fedora 25

1단계: Ubuntu에 DHCP 서버 설치

1. 아래 명령을 실행하여 이전에 dhcp3-server로 알려졌던 DCHP 서버 패키지를 설치합니다.

sudo apt install isc-dhcp-server

2. 설치가 완료되면 /etc/default/isc-dhcp-server 파일을 편집하여 DHCPD가 INTERFACES 옵션을 사용하여 DHCP 요청을 처리하는 데 사용해야 하는 인터페이스를 정의합니다. .

예를 들어, DHCPD 데몬이 eth0에서 수신 대기하도록 하려면 다음과 같이 설정하십시오.

INTERFACES="eth0"

또한 위 인터페이스에 대한 고정 IP 주소를 구성하는 방법도 알아보세요.

2단계: Ubuntu에서 DHCP 서버 구성

3. 기본 DHCP 구성 파일은 /etc/dhcp/dhcpd.conf입니다. 클라이언트에 보낼 모든 네트워크 정보를 여기에 추가해야 합니다.

그리고 DHCP 구성 파일에는 두 가지 유형의 명령문이 정의되어 있습니다.

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

4. 이제 기본 구성 파일을 열고 수정하고 DHCP 서버 옵션을 정의합니다.

sudo vi /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;

5. 이제 하위 네트워크를 정의합니다. 여기서는 192.168.10.0/24 LAN 네트워크에 대한 DHCP를 설정합니다(귀하의 시나리오에 적용되는 매개변수 사용).

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

3단계: DHCP 클라이언트 시스템에서 고정 IP 구성

6. 특정 클라이언트 컴퓨터에 고정(정적) IP 주소를 할당하려면 해당 컴퓨터의 MAC 주소와 정적으로 할당할 IP를 명시적으로 지정해야 하는 섹션을 아래에 추가하세요.

host centos-node {
	 hardware ethernet 00:f0:m4:6y:89:0g;
	 fixed-address 192.168.10.105;
 }

host fedora-node {
	 hardware ethernet 00:4g:8h:13:8h:3a;
	 fixed-address 192.168.10.106;
 }

파일을 저장하고 닫습니다.

7. 다음으로 DHCP 서비스를 잠시 시작하고 다음과 같이 시스템 부팅 시 자동으로 시작되도록 활성화합니다.

------------ SystemD ------------ 
sudo systemctl start isc-dhcp-server.service
sudo systemctl enable isc-dhcp-server.service


------------ SysVinit ------------ 
sudo service isc-dhcp-server.service start
sudo service isc-dhcp-server.service enable

8. 다음으로, 아래와 같이 방화벽에서 DHCP 서비스(DHCPD 데몬이 포트 67/UDP에서 수신 대기)를 허용하는 것을 잊지 마세요.

sudo ufw allow  67/udp
sudo ufw reload
sudo ufw show

4단계: DHCP 클라이언트 시스템 구성

9. 이제 네트워크의 클라이언트 컴퓨터가 DHCP 서버로부터 자동으로 IP 주소를 받도록 구성할 수 있습니다.

클라이언트 컴퓨터에 로그인하고 다음과 같이 이더넷 인터페이스 구성 파일을 편집합니다(인터페이스 이름/번호를 기록해 두십시오).

sudo vi /etc/network/interfaces

그리고 아래 옵션을 정의하세요.

auto  eth0
iface eth0 inet dhcp

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

------------ SystemD ------------ 
sudo systemctl restart networking

------------ SysVinit ------------ 
sudo service networking restart

또는 데스크톱 컴퓨터의 GUI를 사용하여 설정을 수행하고 아래 스크린샷(Fedora 25 데스크톱)에 표시된 대로 방법을 자동(DHCP)으로 설정합니다.

이 시점에서 모든 설정이 올바르게 구성되면 클라이언트 시스템은 DHCP 서버로부터 자동으로 IP 주소를 수신해야 합니다.

그게 다야! 이 튜토리얼에서는 Ubuntu/Debian에서 DHCP 서버를 설정하는 방법을 보여주었습니다. 아래 피드백 섹션을 통해 여러분의 생각을 공유해 주세요. Fedora 기반 배포판을 사용하는 경우 CentOS/RHEL에서 DHCP 서버를 설정하는 방법을 살펴보세요.