관리 메뉴

IT창고

DHCP 서버 구축(윈도우 서버, 리눅스) 본문

보안/System

DHCP 서버 구축(윈도우 서버, 리눅스)

방구석여포 2018. 8. 21. 20:35

각 OS별로 DHCP 서버의 구축을 해보도록 하겠습니다. 

리눅스의 DHCP 서버는 2017/09/15 - [서버운영/Linux] - 리눅스 DHCP에서도 구축해보았으며 윈도우 서버도 포함하여 알아보도록 하겠습니다.

DHCP(Dynamic Host Configuration Protocol)는 동적 호스트 구성 프로토콜로 즉 IP 자동 할당을 해줍니다. 월래의 목적은 IP자원의 효율적인 관리를 위하여 만들어진 서버입니다.


DHCP의 IP 주소를 할당받는 과정은 4단계로 Discover 메세지를 보내서 DHCP서버가 아니라면 무시하고 맞다면 Offer 응답을 브로드케스트로 보내게 되며 Offer메세지를 받은 단말은 Request메세지를 보내서 IP를 사용하겠다는 응답을 보내고 마지막으로 DHCP서버가 Ack응답을 보내어 단말이 메세지를 받으면 해당 IP를 사용하게 됩니다. 

주소 할당 절차를 앞에 단어만 따서 DORA라고 외우면 편합니다.


IP 임대 갱신과정에 대해 알아보겠습니다.

DHCP 서버로 부터 8시간동안 임대시간을 할당받았을 경우 (Lease Time /2) 시간 즉 4시간 후 Renewal을 시도하게 됩니다. (expire)만료시간을 늘리는 과정으로 이 과정에서는 Discover, Offer는 진행하지 않고 Request와 Ack응답만 있습니다. 

Renewal과정이 제대로 진행되지 않았다면 7/8 시간 즉 7시간 후에 Rebinding 과정이 진행됩니다. 이때는 단말이 브로드케스트로 Request와 Ack과정을 진행하며 응답할 DHCP서버가 없다면 Dicover메세지를 브로드케스트로 보내어 새로운 DHCP서버를 찾게됩니다. 응답할 DHCP서버도 없다면 8시간 후 IP가 없는 169.254.x.x IP를 할당받게 되는데 169.254.x.x IP는 OS에서 할당한 IP로 네트워크와는 연결되지 않습니다. 해당 과정은 와이어샤크로 확인해볼수있습니다.


DHCP 서버는 MAC주소를 사용하는 2계층통신을 합니다.



이제 윈도우 서버에 DHCP서버를 구축해보도록 하겠습니다.

서버관리자에 역활추가에 보면 DHCP서버가 있습니다. 체크하고 다음으로 넘어갑니다.


DHCP서버는 반드시 고정IP를 사용해야하며 반드시 서비스하고 싶은 IP대역 중 하나의 IP를 고정IP로 사용해야만 합니다.


부모 도메인은 아무렇게나 설정해도 지장이 없습니다. DNS설정은 설치과정중에 진행하지 않고 전부 설치하고 나서도 수정이 가능합니다. 설치를 진행하며 WINS서버는 사용하지 않겠습니다.


저는 가상머신환경에서 네트워크를 100.100.100.0/24 대역을 사용중입니다. 100.100.100.255는 브로드케스트 IP이므로 254까지만 지정하고 추가하였습니다.  다음을 클릭하시면 DHCPv6에 대해 나오는데 IPv6는 사용하지 않으므로 비저장모드를 사용하지 않음으로 체크하고 다음으로 넘어갑니다. IPv6는 라우터에서 DHCP기능을 담당합니다. 여기까지 진행하고 설치를 진행하시면 됩니다.


설치가 끝났다면 시작에 관리도구에서 DHCP를 클릭하여 DHCP서버를 설정할수있습니다.


주소풀에 들어가서 새 제외 주소범위를 설정할수있습니다. 현재 주소 범위에는 게이트웨이와 가상머신의 NAT 랜카드인 VM8 IP도 포함되어있기 떄문에 제외를 꼭 해야만 합니다.


50~70사이의 IP는 현재 NAT로 사용중인 PC들이 있는 곳이기에 제외시켜두었습니다.


VMware의 NAT기능에서 DHCP기능을 OFF시켜두었습니다. 현재 PC들은 모두 고정IP를 사용중이며 윈도우7 PC에서 테스트를 진행하도록 하겠습니다.

테스트 PC에서 자동 IP할당으로 바꿔놨습니다.


cmd에서 ipconfig /release를 입력하면 IP할당을 초기화하고 ipconfig /renew로 다시 IP를 할당받을수있습니다. 연결별 DNS접미사에 보면 아까 DHCP서버를 설치할때 설정한 부모 도메인이 보입니다. DHCP서버가 100.100.100.52 IP인걸 보면 윈도우 서버에서 제대로 할당받은걸 확인할수있습니다. 만약 DHCP서버에서 IP를 할당받지 못했다면 APIPA로 OS에게 169.254.x.x IP를 받아오게 됩니다.


윈도우 서버에서 주소임대에 보면 현재 IP를 할당받은 PC를 확인해볼수있습니다.

예약에서 MAC주소만 제대로 입력하면 해당 IP를 우선적으로 할당해주는게 가능합니다.



리눅스에서 DHCP서버를 구축해보도록 하겠습니다.

리눅스 DHCP서버는 이 글의 맨위의 링크에서도 확인해볼수있으므로 간단하게 설명하겠습니다.


먼저 yum -y install dhcp 로 DHCP서버 패키지를 다운로드 합니다.


/usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample 경로에 샘플파일이 존재합니다. 이걸 실제 dhcp설정파일에 복사해서 수정하도록 하겠습니다. 


복사한 설정파일에서 위이 내용만 제외하고는 모두 지워도 상관없습니다.


우와 같이 네트워크 설정을 하였습니다. option domain-name-servers에는 해당 DNS서버의 IP를 넣어줘도 됩니다.

ex) 168.126.63.1,8.8.8.8

아래의 host는 윈도우 서버의 예약과 같은 기능입니다. MAC주소를 넣어 할당할 IP를 설정하면 됩니다.


테스트 윈도우7 PC에서 확인해보면 연결별 DNS접미사에 리눅스에서 설정한 이름이 나오고 예약기능을 사용했기 때문에 100번대로 IP가 할당이 되었습니다.


마지막으로 필터링 기능을 알아보겠습니다.

필터기능은 해당 IP를 허용과 차단을 시킬수있는 기능입니다. 윈도우 서버에는 DHCP창에서 설정이 가능합니다.


리눅스에서는 class에 MAC주소를 입력하고 pool안에 설정한 멤버 이름을 넣어주면 됩니다. class의 MAC주소와 맞으면 허용이고 맞지 않으면 차단시킵니다.

'보안 > System' 카테고리의 다른 글

실제 실행파일에 악성코드 삽입  (0) 2018.08.22
DHCP Starvation Attack  (0) 2018.08.21
SSH 터널링으로 우회하기  (0) 2018.08.20
Eternalblue, Doulepulsar exploit  (0) 2018.08.19
Windows Server 2008 R2 관리  (0) 2018.08.16
Comments