DHCP(Dynamic Host Configuration Protocol)

DHCP란 호스트들의 IP, Gataway, DNS 서버를 자동으로 할당해주는 프로토콜로,
과거 BootP(디스크가 없는 컴퓨터에게 IP 주소 및 구성정보를 자동으로 설정)의 상위버전으로 볼 수 있다.

LAN 구성도

위의 그림과 같이 조직 내부에서 지정된 범위의 IP를 자동으로 할당해주는 서버를
리눅스로 구성해보겠다.

* 실습환경 : Intel i7-1260P(AMD64)
** 네트워크 대역 : 192.168.100.0/24
*** 해당 실습에서 사용된 가상 머신 : Ubunser20.04(.145), CentOS7
(.DHCP), Windows7(.DHCP)

● DHCP 서버 구축

VMWare Edit Tab -> Virtual Network Editor

현재 실습환경은 물리적인 노드가 아닌 VMWare 안의 가상머신으로 진행되기 때문에
VMWare 메인 네트워크 어댑터를 통한 자동 IP할당 옵션을 체크해제

# DHCP 서버 구축을 위해 필요한 패키지 설치(Ubuntu Server 20.04 기준 패키지)
sudo apt install -y isc-dhcp-server

# Default 설정파일을 백업
sudo cp -arp /etc/dhcpd.conf /etc/dhcpd.conf.bak


# dhcpd.conf 파일을 수정하여 설정사항을 저장
sudo vim /etc/dhcpd.conf

[파일내용]
# A slightly different configuration for an internal subnet.
subnet 192.168.100.0 netmask 255.255.255.0 {
  range 192.168.100.210 192.168.100.215;
  option domain-name-servers 192.168.100.2;
  option domain-name "ditto.com"
  option subnet-mask 255.255.255.0;
  option routers 192.168.100.2;
  option broadcast-address 192. 168.100.255;
  default-lease-time 600;
  max-lease-time 7200;
}

# DHCP 할당 시켜줄 네트워크 대역을 정의 192.168.100.0/24
# DHCP 할당 시켜줄 네트워크의 범위를 설정 .210 ~ .215까지 할당
# DNS를 설정 192.168.100.2(Default)
# Domain Name을 설정 "ditto.com"
# 기본 대여 시간 600초, 최대 대여 시간 7200초로 설정됨


sudo iptables -I INPUT 1 -p udp -m state --state NEW --dport 67 -j ACCEPT

DHCP의 포트 번호로는 서버(67번) / 클라이언트(68번)을 사용하며
클라이언트가 IP 할당을 위해 요청을 할 수 있게끔 67번 포트를 활성화해준다.

iptables를 이용하여 INPUT 체인에 67번 포트에 관한 룰을 추가해준다.
(sudo ufw allow ~ 를 이용하여 대체할 수 있음)

sudo /etc/init.d/isc-dhcp-server start

해당 명령어를 이용하여 서비스 시작 또는 재시작이 가능하며,
보편적으로 systemctl [Option] [Service] 를 이용하여 서비스를 시작해준다.

▼ CentOS7(DHCP 클라이언트)

# 기존 Static(정적)으로 설정 되어있던 CentOS7의 네트워크 설정파일을 수정
sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33

[파일 내용]
TYPE="Ethernet"
PROXY METHOD="none"
BROUISER ONLS="no
BOOTPROTO="dhcp"			# BOOTPROTO = "dhcp" 설정
DEFROUTE "yes"
IPU4_FAILURE_FATAL = "no"
IPUGINIT-"yes"
IPU6 _AUTOCONF="yes"
IPV6 _DEFROUTE-"Jes"
IPUG FAILURE FATAL= "no"
IPU6_ADDR_GEN _MODE-"stable-privacy"
NAME-"ens33"
UUID="3c9ae2f6-bf1a-469a-8217-ca99bce784ff"
DEUICE="ens33"
ONBOOT-"ues"
#IPADDR="192.168.100.160"
#PREFTX=124*
#GATEWAY="'192.168.100.2"
#ONS1="192.168.100.2"
10052=44192.168. 190 :7.
#DNS3="8.8.8.8"				# 기존에 정적으로 설정되었던 부분은 주석처리

CentOS7

CentOS7

설정파일 수정 및 저장 후,
"sudo ifdown ens33 && sudo ifup ens33"
명령으로 네트워크 카드를 재시작해보면
DHCP 범위의 첫 번째 주소인 .210 으로 할당된 것을 확인해볼 수 있다.


▼ Windows 7(DHCP 클라이언트)

Windows 7

윈도우 탭 -> 네트워크 -> 네트워크 속성(R) 탭을 클릭하여
수동으로 지정 되어있던 IP 설정을 자동으로 변경해준다.

Windows 7

설정을 마친 후 윈도우 명령 프롬프트에서 "ipconfig" 로 네트워크 정보 확인 시
DHCP 할당 범위에 속하는 ~.211로 IP가 설정된 것을 확인할 수 있다.

▼ Ubunser(DHCP 서버)

sudo dhcp-lease-list

해당 명령어로 현재 IP주소를 부여받은 노드들의 정보를 확인해볼 수 있다.




'Linux_System' 카테고리의 다른 글

[Linux]Log_Server  (0) 2023.02.10
[Linux]Squid(Proxy_Server)  (0) 2023.02.09
[Linux]Ansible  (0) 2023.02.04
[Linux]YUM_Priority  (0) 2023.01.18
[Linux]ZFS  (0) 2023.01.16

+ Recent posts