16장. DHCP 서버 설치 및 운영 - DHCP 서버 구축

728x90
반응형

출처 : https://www.youtube.com/watch?v=8z-ETwZDfBE&list=PLVsNizTWUw7FqN2gq79Cb3R6qkS7mqOJk&index=70

 

 

DHCP 개념

  • DHCP(Dynamic Host Configuration Protocol) 서버는 자신의 네트워크 안에 있는 클라이언트 컴퓨터가 부팅될 때 자동으로 IP 주소, subnet mask, gateway 주소, DNS 서버 주소를 할당해주는 역할을 한다.
  • 일반 사용자는 IP에 관련된 어려운 정보를 알지 못해도, 인터넷을 사용하는 데는 더 이상 아무런 문제가 없어졌다.
  • DHCP 서버의 가장 큰 장점은 관리하기 편하고 이용자가 편하다는 것이다.
  • DHCP는 현재 사용 중이지 않은 컴퓨터의 IP 주소를 다른 컴퓨터에게 할당해줌으로써, 한정된 IP 주소를 가지고 더 많은 IP 주소가 있는 것처럼 활용할 수 있다. 즉, 적은 갯수의 IP 주소로 여러 명의 사용자가 사용할 수 있다.

자세한 항목은 네트워크 항목 참고

 

4. Network Layer (Data Plane) (2)

(3) IP : Internet Protocol 네트워크 계층의 구조 네트워크 계층의 구조는 위 그림과 같다. 위로는 Transport Layer, 밑으로는 Link Layer가 있다. ​ Network Layer의 역할은 2가지가 있다. Routing과 Forwarding ​ 라우

zangwoo.tistory.com

 

 

DHCP 서버의 작동 원리

 

  1. PC(DHCP 클라이언트)는 컴퓨터 전원 켜기와 끄기 과정만 거치면 된다. 즉, 사용자는 IP 주소와 관련된 정보를 신경 쓸 필요 없이 그저 컴퓨터를 켜고 인터넷을 사용하기만 하면 된다.
  2. PC는 전원이 켜지면 DHCP 서버에게 자동으로 IP 주소를 요청하는 메시지를 전송한다. 
  3. DHCP 서버는 가지고 있는 IP 목록을 조회하고 비어있는 IP를 확인한다.
  4. DHCP 서버가 PC에게 비어있는 IP 주소를 할당해준다.
  5. PC는 할당받은 IP 주소로 인터넷을 사용한다.
  6. PC가 전원을 끈다.
  7. PC의 전원이 꺼지면 DHCP 서버에게 자동으로 IP 주소를 반납하는 메시지를 전송한다.
  8. DHCP 서버는 반납된 IP 주소를 다시 할당 가능하도록 설정한다.

 

사용자 PC는 컴퓨터를 켜고 인터넷을 사용하기만 하면되고, DHCP 서버는 사용자들에게 할당할 IP 주소 목록을 관리하면 된다.

 

DHCP 클라이언트 설정

 

DHCP 클라이언트 설정은 간단하다.

 

Windows의 경우 [Internet Protocol Version 4(TCP/IPv4) 속성]에서 자동으로 IP 주소 받기, 자동으로 DNS 서버 주소 받기로 설정하면 된다.

Linux의 경우 터미널에서 nm-connection-editor 명령을 실행해 [네트워크 연결]->[ens160 편집]->[IPv4 설정]에서 자동으로 설정하면 된다.

 

DHCP 구현

VMware 내부에서 구현할 DHCP 서버 구성도

 

기존에는 위 그림에서는 생략됬지만 VMware에서 192.168.111.254가 DHCP 서버로 제공되고 있었다. 그렇기 때문에 Client, WinClient 가상 머신은 고정 IP를 설정하지 않아도 인터넷이 접속이 되었다.

 

이번 시간에는 VMware가 제공하는 DHCP는 종료시키고 server 가상 머신을 DHCP 서버로 구성하는 실습을 진행한다.

나머지 가상 머신은 부팅하면 자동으로 IP 주소를 할당받아서 인터넷을 접속할 수 있게 된다.

 

실습 목표

  • DHCP 서버를 구축한다.
  • VMware의 네트워크 구성 환경을 이해한다.

 

4대의 가상 머신을 모두 초기화한다. 부팅은 아직 하지 않는다.

 

 

Client 가상 머신 상태 확인

 

먼저 Client 가상 머신을 부팅한다.

 

Client 가상 머신에서 nm-connection-editor 명령을 입력한 후 [네트워크 연결]->[ens160 편집]->[IPv4 설정]에서 [Method]를 확인하면 '자동(DHCP)' 으로 선택되어 있을 것이다. 즉, DHCP 서버에서 자동으로 IP 주소를 할당받도록 설정되어있다. [ens160 편집]과 [네트워크 연결] 창을 닫는다.

nm-connection-editor

 

ifconfig ens160 명령을 입력해 현재 IP 주소를 확인한다. 이 IP 주소는 VMware에서 제공하는 DHCP 서버가 할당해준 IP 주소다.

ifconfig ens160

 

 

nameserver(DNS 서버) 또한 DHCP 서버가 제공하는 IP 주소를 사용하고 있다.

cat /etc/resolv.conf

 

 

VMware의 DHCP 서버 중지

DHCP 서버를 구축하고 사용하기 위해서는 우선 VMware에서 제공되는 DHCP를 종료시켜야 한다. VMware Workstation Pro를 실행하고 [Edit]->[Virtual Network Editor] 메뉴에 들어간다.

 

 

먼저 우측 하단에 [DHCP Settings]로 들어가면 VMware가 제공하는 IP 정보(서브넷 IP, 서브넷 마스크, 제공되는 IP 주소의 범위)를 확인할 수 있다. 이 IP 주소들을 기억해두자.

 

 

다시 Virtual Network Editor로 들어가 하단에 Use local DHCP service to distribute IP address to VMs 항목을 해제하고 OK 버튼을 클릭한다. 그러면 VMware에서 제공하는 DHCP 서버 기능이 중지가 된다.

 

Client 가상 머신 설정

현재 Client 가상 머신은 VMware의 DHCP 서버가 제공한 IP 주소를 할당받아있는 상태이므로 재부팅을 한다.

 

부팅 시간이 평소보다 좀 오래걸릴 것이다. 왜냐하면 Client 가상 머신이 DHCP 서버에게 IP 주소를 할당받기 위해서 메시지를 Broadcast하는데 DHCP가 중지되서 응답 메시지가 도착하지 않으므로 계속 Broadcast를 진행하기 때문이다. 하지만 시간이 지나면 결국 IP주소를 할당받지 못한 상태로 부팅이 되므로 기다리면 된다.

 

 

다시 네트워크를 확인하면 IP 주소를 할당받지 못한 것을 확인할 수 있다.

 

 

IP 주소를 할당받지 못했으므로 인터넷도 접속이 되지 않는다.

 

server(B) 가상 머신 설정

 

server(B) 가상 머신을 부팅하고 root 사용자로 접속한다.

구글 닷컴으로 핑 요청을 진행해보면 응답이 잘 도착한다. 왜냐하면 server(B)는 DHCP에게 IP를 할당받지 않고 고정 IP로 설정되어서 자기자신의 IP를 갖고있기 때문이다.

ping -c 3 www.google.com

 

 

nano 에디터로 /etc/NetworkManager/system-connections/ens160.nmconnection 을 실행한다.

12번째 행의 [ipv4]에서 method를 auto로 변경하고 밑의 2줄은 제거해서 server(B)는 이제 고정 IP가 없고, DHCP 서버에게 IP를 할당받아야 하도록 설정한다.

nano /etc/NetworkManager/system-connections/ens160.nmconnection

12행
method=auto
밑의 2줄 삭제

 

 

네트워크 장치를 종료시켰다가 다시 킨다. 네트워크를 다시 확인했을 때 만약 ip 주소가 그대로 192.168.111.200 번을 할당받은 상태로 놓이면 재부팅을 진행한다.

nmcli connection down ens160	-> 네트워크 장치 중지
nmcli connection up ens160	-> 네트워크 장치 시작
reboot

 

 

재부팅하고 다시 네트워크를 확인해보면 IP 주소를 할당받지 못한 것을 확인할 수 있다.

ifconfig ens160

 

 

server 가상 머신 DHCP 서버 구축

server를 부팅하고 root 사용자로 접속한다.

 

 

DHCP 서버를 설치한다.

dnf -y install dhcp-server

 

 

gedit 에디터로 /etc/dhcp/dhcp.conf 파일을 실행하고 아래 내용을 작성한다.

ddns-update-style interim;					-> 네임서버의 동적 업데이트 옵션
subnet 192.168.111.0	netmask	255.255.255.0	{		-> DHCP의 네트워크 주소 지정
	option	routers	192.168.111.2;				-> 클라이언트에게 알려줄 라우터 IP 주소
	option	subnet-mask	255.255.255.0;			-> 클라이언트에게 알려줄 네트워크의 범위 255.255.255.0은 C 클래스
	range	dynamic-bootp	192.168.111.55	192.168.111.99;	-> 클라이언트에게 할당할 IP 주소의 범위
	option	domain-name-servers	8.8.8.8;		-> 클라이언트에게 알려 줄 네임 서버의 IP 주소
	default-lease-time	10000;				-> 클라이언트에게 IP 주소를 임대할 기본적인 시간. 초 단위이다.
	max-lease-time	50000;					-> 클라이언트가 하나의 IP 주소를 할당 받은 후에 보유할 수 있는 최대 초 단위 시간. 이 시간을 넘어가면 할당이 해제된다.
}

 

 

dhcpd 서비스를 재시작하고 상시 가동되도록 설정한다. 상태를 확인해봤을 때 active(running) 상태가 되면 된다.

systemctl restart dhcpd
systemctl enable dhcpd
systemctl status dhcpd

 

 

Client 가상 머신 확인

 

su권한으로 네트워크를 다시 시작하고 할당받은 IP 정보를 확인한다. 확인해보면 192.168.111.55 번을 할당받았다.

이 글을 보고 실습하는 분들은 끝번호가 다른 주소를 할당받을 수도 있다. 우리가 설정한 범위(55~99) 안에서 랜덤하게 받을 것이다.

su -c 'systemctl restart NetworkManager'
ifconfig ens160

 

 

DNS 서버 주소를 보면 우리가 설정한 8.8.8.8(구글의 DNS 서버)로 할당된 것을 확인할 수 있다.

 

 

다시 파이어폭스로 인터넷을 들어가면 잘 접속된다.

 

server(B) 가상 머신 확인

 

server(B) 가상 머신으로 돌아와 네트워크를 재시작하고 할당받은 IP 주소를 확인한다. server(B)의 경우 192.168.111.56 을 할당받았다.

systemctl restart NetworkManager
ifconfig ens160

 

ping 요청을 보내면 응답이 잘 도착한다. 즉, 인터넷이 정상적으로 동작하고 있음을 확인할 수 있다.

ping -c 3 www.google.com

 

 

server에서 IP주소 할당 기록 확인

 

server에서 gedit 에디터로 /var/lib/dhcpd/dhcpd.leases 파일을 열면 위 그림과 같이 어떤 DHCP 클라이언트가 IP를 할당받았는지에 대한 내역을 볼 수 있다.

 

gedit /var/lib/dhcpd/dhcpd.leases

 

 

 

우리는 가상 머신들을 다시 초기화하고 진행할 것이므로 DHCP를 원래대로 되돌려야한다.

추후 실습을 위해 다시 VMware의 DHCP 서버를 작동시킨다.

 

Workstation Pro에서 [Edit]->[Virtual Network Editor] 로 들어가 Use local DHCP service to distribute IP address to VMs를 체크하고 OK를 클릭한다.

 

 

728x90
반응형