CentOS 7 DHCP 서버 구축

2016.12.05 14:43

gooddew 조회:253

DHCP 서버란 ?

자신의 네트워크안의 클라이언트 PC 들이 부팅을 할때 자동으로 IP, 서브넷마스크, 게이트웨이, DNS 서버 주소를 할당해주는 역활을 하는

서버 입니다. 




05.png



일반적인 사설 네트워크 구조 입니다. 좌측은 외부망이고 우측은 내부망입니다.


가운데 네트워크 끼리 연결을 하는 라우터가 있습니다. 라우터의 시리얼 포트와 이터넷 포트가 있습니다.


시리얼 포트는 외부 IP는 사용하고 이더넷 포트는 내부 IP 를 사용합니다.


위 그림에서 라우터의 이더넷 IP 는 192.168.10.1 입니다. DHCP 서버의 IP 는 192.168.10.5 는 입니다.


사설 내부망 자동 할당 IP 범위는 192.168.10.11~ 192.168.10.254 입니다.


클라이언트 PC는 부팅을 하면 DHCP 서버로 자동으로 IP를 받아서 라우터(게이트웨이)를 통해서 외부망(인터넷)으로 나가게 됩니다. 

  



① 방화벽 포트 오픈 및 보안 설정


06.png


67, 68 번 udp 포트를 오픈하면 됩니다.


# firewall-cmd --permanent --zone=public --add-port=67/udp
success
# firewall-cmd --permanent --zone=public --add-port=68/udp
success
# firewall-cmd --reload
success




☞ SELINUX  사용 중지


07.png


# nano /etc/sysconfig/selinux


SELINUX = desabled 로 수정


저장





② 충동 가능한 서비스 중지


☞ dnsmasq 서비스가 지금 사용중인지 확인해서 사용중이면 지금 중지 시켜야 합니다.


☞ dnsmasq 는 dhcp 기능을 하는 서비스이기 때문에 중지하지 않으면 DHCP 와 충돌이 발생할수 있습니다


03.png


☞ dnsmasq 설치가 됬는지 확인합니다.

# rpm -qa | grep dnsmasq

dnsmasq-2.66-12.el7.x86_64 → 설치가 되있군요


☞ 서비스 상태를 확인하겠습니다.


# systemctl status dnsmasq
● dnsmasq.service - DNS caching server.
   Loaded: loaded (/usr/lib/systemd/system/dnsmasq.service; disabled; vendor preset: disabled)
   Active: inactive (dead)


☞ 중지 되어 있습니다.


☞ dnsmasq가 Active:acvice 서비스가 운영중이라면 서비스를 중지합니다.

# systemctl  stop  dnsmasq


☞ dnsmasq가 상시 가동 되어 있으면 서비스를 중지합니다.
# systemctl  disable  dnsmasq   



③ DHCP 서버 설치


08.png


# yum -y install dhcp



☞ dhcp 설정(/etc/dhcp/dhcpd.conf) 파일을 수정합니다.


04.png


☞ 빨간색 글자만 자신의 네트워크 환경에 맞게 수정 하시면 됩니다.


# nano /etc/dhcp/dhcpd.conf


아래 내용을 복사해서 사용하시면 됩니다.

------------------------------------------------------------------------


ddns-update-style interim;

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-name-servers             121.254.25.230, 121.254.25.220;

range dynamic-bootp     192.168.10.11   192.168.10.254;
default-lease-time 21600;
max-lease-time 43200;
}


-------------------------------------------------------------------------


각 항목에 대한 설명 드리겠습니다.


☞ ddns-update-style interim;

→ Dynamic DNS update style 을 interim 으로 설정한다는 의미입니다.


☞ subnet  192.168.10.0    netmask         255.255.255.0   {

→ subnet 다음에 사설 네트워크 번호를 입력하고 netmask 다음에는 그 네트워크에 규모에 해당되는 서브넷 마스트를 입력합니다. 


☞ option  routers         192.168.10.1;

→ 게이트웨이 ip 의 옵션을 설정합니다. 보통은 라우터의 이더넷 ip 를 입력하면 됩니다.


☞ option  subnet-mask             255.255.255.0;

→ 네트워크의 서브넷 마스크를 입력하면 됩니다.


☞ option  domain-name-servers             121.254.25.230, 121.254.25.220;

→ DNS 서버 IP를 입력하면 되며, 2 이상일 경우 ,(콤마)로 구분합니다.


☞ range dynamic-bootp     192.168.10.11   192.168.10.254;

→ 사설 네트워크 클라이언트 PC 에게 동적으로 할당하려는 IP 범위를 지정합니다. 시작과 끝의 IP 사이는 공백으로 구분합니다. 

 
☞  default-lease-time 21600;

→  할당된 ip주소를 가질 수 있는 시간(초)입니다.


☞ max-lease-time 43200;

→  할당 받은 ip 주소를 가지고 있을 수 있는 최대 시간(초)입니다.


☞ 추가적인 기능으로 특정 mac 주소를 특정 ip로 고정하는 기능이 있습니다. 

host ns {

       hardware ethernet 00:11:22:33:44:55:66;

       fixed-address 192.168.10.100;

 }


☞ hardware ethernet 

→ 랜카드 MAC 주소


☞ fixed-address 192.168.10.100;

→  랜카드 MAC 주소를 고정 IP 로 설정


}


※ 설정 파일 작성간에 주의할점은 정의하는 곳에 앞뒤에 {} 형식으로 묶여 있고, 명령에 마지막에는 ; 콜론이 반듯이 들어 갑니다.


☞ 설정이 완료되어있으면  /etc/dhcp/dhcpd.conf 설정 파일을 저장합니다.




☞ DHCP 서비스 가동합니다.


09.png


# systemctl restart dhcpd

# systemctl enable dhcpd

# systemctl status dhcpd