본문으로 바로가기

Day-30 DHCP

category Linux 2017. 1. 23. 12:06

DHCP 동작 과정 4단계 (SERVER 67, 68)
1. 서버 발견 (Server Discovery)
2. IP 임대 제안 (IP Lease Offer)
3. IP 요청 (IP Request)
4. IP 임대 확인 (IP Lease Acknowledgement)

 

DHCP 서버의 IP할당 방식

 

1. 동적할당
 - 네트워크 관리자가 일정 범위 IP주소를 예약하고 각 클라이언트의 요청에따라 예약된 범위(pool)내에서 IP주소가 할당되는 방식
 - 임대시간이 지나면 서버는 임대했던 IP주소를 회수하고 다시 할당하는 방식으로 가장 많이 사용된다.
2. 자동할당
 - 클라이언트의 요청에 따라 할당된 IP주소가 해당 클라이언트에게 영구적으로 사용이 된다.
 - 자동할당을 하기 위해서는 DHCP서버가 과거의 IP주소 할당 테이블을 가지고 있어야 하며,

    이 테이블에 따라 클라이언트가 같은 IP주소를 기간에 상관없이 사용할 수 있다.
3. 수동할당
 - 클라이언트의 MAC주소에 기반을 두고 고정 IP주소를 할당하는 방식
 - 고정 할당이라고 불리며, IP주소는 고정되어 다른 클라이언트에게 할당 할 수 없다.

 

 

Server-A


서버A 스냅샷 초기화

 

1. 설치 및 확인
#yum -y install dhcp                                                              //yum을 통해 dhcp 패키지 설치
#rpm -qa | grep dhcp                                                            //rpm을 통해 패키지 설치

 

 


#cat /etc//dhcp/dhcpd.conf                                               //기본 설정 파일
#vi /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample              //기본 샘플 파일 내용확인
실무에서는 #cp /usr/share/doc/dhcp-4.1.1/dhcpd.conf.sample /etc/dhcp/dhcpd.conf 로 사용한다.
#cat /etc/services | grep bootp  //dhcp 서버 포트확인, 서버 UDP 67, 클라이언트 UDP 68

 

 

 

2. DHCP 서버 설정
#vi /etc/dhcp/dhcpd.conf

 

#Global Setting start        
default-lease-time 600;                                    //기본적으로 DHCP 서버가 입대를 허용할 시간을 초단위로 설정
max-lease-time 7200;                                       //최대 임대시간
option subnet-mask 255.255.255.0;                  //서브넷 마스크 정보
option broadcast-address 100.100.100.255;      //브로드캐스트 정보
option routers 100.100.100.2;                           //게이트웨이 정보
option domain-name-servers 8.8.8.8, 8.8.4.4;    //DHCP클라이언트가 사용할 네임서버 지정
option domain-search "taehoon.com";                //DHCP클라이언트가 사용할 기본 도메인 지정
option ntp-servers 100.100.100.120;                 //DHCP클라이언트가 사용할 NTP서버 지정
#Global Setting End


subnet 100.100.100.0 netmask 255.255.255.0{
 range 100.100.100.10 100.100.100.20;
}


고정IP
#host [서버명] {
# option host-name "Server-B-120"
# hardware ethernet "MAC"
# fixed-address "고정 IP주소"
#}

 

#service network restart

 

1.Client-Windows IP 확인

 

 


2.부팅시 자동으로 시작하도록 설정

#chkconfig --list dhcpd           // 부팅시 런레벨  확인

#chkconfig  서비스명  on/off   // 2,3,4,5 런레벨 on/off

 

 


3.서비스 동작 확인
 - service dhcpd status
 - lsof -i udp:67
 - ps -ef | grep dhcpd

4. IP tables 방화벽 설정 추가
 iptables -A INPUT -i eth0 -p udp --dport 67:68 --sport 67:68 -j ACCEPT

5. IP 임대 확인
 - #cat /var/lib/dhcpd/dhcpd.leases

 

 

IP할당 과정


1. 서버 발견 (Server Discovery)
- IP주소가 필요한 클라이언트는 udp를 이용해 브로드캐스트로 너트워크에 패킷을 보낸다.
  출발지 ip 0.0.0.0                 prot 68
  도착지 ip 255.255.255.255 prot 67 
- 클라이언트는 자신의 IP주소가 없기 때문에, 0.0.0.0으로 출발지 포트를 68번으로 설정
- DHCP서버의 IP도 모르기 때문에 255.255.255.255 목적지 주소로 DHCP 서비스를 제공하는 67번 포트를 목적지 포트로 설정하여 네트워크에 전송
 
2. IP 임대 제안 (IP Lease Offer)
  출발지 ip 100.100.100.110 port 67
  도착지 ip 255.255.255.255 port 68
- 클라이언트 MAC주소, 서버가 제안하는 IP주소, 서브넷 마스크, 임대기간, DHCP서버의 IP주소등이 포함되어 있다.
 

3. IP 요청 (IP Request)
    서버가 제안한 IP주소를 사용하겠다는 수락 메세지를 서버에게 다시 브로드캐스트
    출발지 ip  0.0.0.0                port 68
    도착지 ip 255.255.255.255 port 67
 
 
4. IP 임대 확인 (IP Lease Acknowledgement)
 DHCP서버가 클라이언트로부터 DHCPREQUIT 메세지를 받으면 서버는 DHCPACK
 패킷을 통해 임대 기간 및 DNS 정보를 비롯한 다른 설정 정보를 클라이언트에게 보내게 되고,

 클라이언트는 이 정보를 네트워크에 할당함으로써 IP설정 과정을 모두 마치게 된다.
 
 출발지 ip 100.100.100.110    port 67
 도착지 ip 255.255.255.255 port 68

 

'Linux' 카테고리의 다른 글

Day-32 DNS  (0) 2017.01.25
Day-31 DNS  (0) 2017.01.24
Day-29 DHCP  (0) 2017.01.22
Day-28 공개키 기반 인증  (0) 2017.01.20
Day-27 SSH  (0) 2017.01.19