본문 바로가기

DHCP (Dynamic Host Configuration Protocol) Service

액트 2019. 5. 28.
반응형

@ DHCP Service


Dynamic Host Configuration Protocol - 자동 Host 할당 프로토콜 => 7계층 protocol

=> IP, Subnetm DNS, Gateway 기본적으로 4가지를 자동으로 할당 받는다.

=> 사용자들에게 인터넷을 할수 있게 IP를 자동으로 할당해주는 서비스

 

 

DHCP UDP 67(server), 68(client)

HTTP  TCP 80

DNS   UDP 53



DHCP는 분배단에 속해서 IP를 분배 해주게 된다.

=> Gateway가 있는 L3 switch에 올려놔야 한다.

 


 

 

- discover message : 서버를 찾는다.

- offer message : 제안을 한다 (모든 서버가 나 여깄다고 알린다)

- request message : 요청한다 (제일 빨리 도착한 서버를 쓰겠다고 모든 서버에게 알린다)

- acknowledgment message : 알려준다 (IP할당)

 

 

Client                                  discover message 

UDP 68  ----------------------------------------------------------------> Server

D : 255.255.255.255 (Broadcast)

S : 0.0.0.0

                                         

                                          offer message                                           Server

Client    <---------------------------------------------------------------  UDP 67

             모든 서버들이 offer message를 client에 에게 omesssage를 전송한다.     D : 255.255.255.255

                                                                                                                                 S : Server

 

- offer message가 제일 빨리 도착한 서버에 정보를 사용한다.

 

Client                                         request message

UDP 68   ----------------------------------------------------------------> Server

D : 255.255.255.255 (Broadcast로 보내는 이유 : 내가 원하는 DHCP서버를 쓰겠다고 모든 Server에게 알리는 작업)

S : 0.0.0.0

 

                                       acknowledgment message                              Server

Client    <---------------------------------------------------------------  UDP 67

                                                                                                        D : 255.255.255.255

                                                                                                                                 S : Server

 

                        

< 명령어 >

 

- Server

ip dhcp excluded-address <제외할 IP 주소>

ip dhcp pool <pool 이름>

network <pool 포함하고 있는 IP대역>

default-router <Gateway주소>

dns-server <dns IP>

option 150 <FTP Server 주소>

lease 일 시 분

interface vlan <번호>

ip address <Gateway 주소>

 

 

- client

int fa 0/0

ip address dhcp                    // ip 주소를 dhccp로 받아 오겠다.

 

 


ip dhcp excluded-address 10.1.10.1 10.1.10.20   // 10.1.10.1 ~ 10.1.10.20 의 IP는 제외한다. 

                                                          (gateway를 포함한 빼주고 싶은것)
ip dhcp pool XYS10                                // IP를 담아둘 dhcp를 위해서 XYS10 이라는 수영장을 만든다
network 10.1.10.0 255.255.255.0                    // XYS10이라는 수영장에 내가 나눠줄 IP의 대역대를 담아 준다.
default-router 10.1.10.1                            // gateway 알려준다.
dns-server 168.127.63.1                           // dns 서버 생성
option 150 10.1.1.50                                //FTP Server 주소 (option 150 : FTP 서버주소 주겠다고 선언)
lease 0 8 0                                         // 0일 8시간 동안 0분 임대하겠다.
!                                                    //주석
interface vlan 10                                  //SVI 만들면서 Gateway 생성
ip address 10.1.10.1 255.255.255.0               // Gateway 주소 생성
 
* lease infinite                                             // 계속 임대하겠다.

 

 

 

< 확인 명령어 >

 

- Server 에서 확인
show ip dhcp binding
debug ip dhcp server packet
 
- Client 에서 확인
debug dhcp detail    
=> debug 끄는 명령어 undebug all


 

 

 

 

< Server가 다른 Network 에 있을 경우 >

 

int vlan 10
ip address 10.1.10.1 255.255.255.0    // Gateway 주소 할당
ip helper-address 10.1.100.1           // 서버 IP 할당
 
< discover message를 다른 네트워크까지 보내는 방법 > 

- 클라이언트에서 보내는 브로드캐스트로 날리는 discover message는 L3장비까지만 간다. 
   다른 네트워크에 Server가 있으면 전송되지 않고 죽게 된다.
   클라이언트랑 연결되어 있는 L3장비를 릴레이식으로 대신 보내 주면 된다.
  => Broadcast를 잡아서 Unicast로 서버에 전달한다.
 
  조건 : L3장비에 물려있는 다른 네트워크에 있는 Server의 장비와 L3장비와 라우팅 되어 있어야 한다.

 

 

 

< 다른 네트워크에 Server가 많을 경우 >

1. Server가 적을 경우 

ip helper-address <Server IP> 로 다 적어 준다.

 

2. Server가 많을 경우 (Server Network에 적용)

- ip helper-address <x.x.x.255> 로 Broadcast로 적어준다.

- 서버 네트워크에 #ip directde-broadcast

 

 

 

 

 

- 실습 -

 

!---- preconfig
ena
conf t
ena sec cisco
no ip domain-lookup
line console 0
password cisco
login
logg sync
exec-timeout 0 0
exi
username CCNP password itbank321
line vty 0 4
login local
exi


!---- R1
int fa 0/0
no shut
ip add dhcp
end
debug dhcp detail


!---- R2
int fa 0/0
no shut
ip add dhcp
end
debug dhcp detail


!---- SW1
vlan 10
int fa 1/1
no shut
sw mode acc
sw acc vlan 10
exi

int fa 1/2
no shut
sw mode acc
sw acc vlan 10
exi

ip dhcp excluded-address 1.1.10.254
ip dhcp pool TEST
network 1.1.10.0 255.255.255.0
default-router 1.1.10.254
dns-server 168.127.63.1
lease infinite

int vlan 10
no shut
ip add 1.1.10.254 255.255.255.0
end
debug ip dhcp server packet
show ip dhcp binding

 

< 확인 > - Server, Client, Wireshark

- Server

 

!---- R1

R1#debug dhcp detail

 

- Discover Message 전송

 

 

- offer message 수신

 

 

 

- request message 전송

 

 

- ack  message 수신

 

-> 최종적으로 주소 1.1.10.1 을 할당 받음

 

 

- Client

Sw1#debug ip dhcp server packet

 

Sw1#show ip dhcp binding


 

 

- Wireshak

 

 

 

=> ACK packet

 

반응형

댓글