본문 바로가기

클라우드,네트워크,서버/네트워크

Cisco IP DHCP Configuration(IP 자동할당, DHCP 고정할당,Relay설정)

728x90
반응형
1. DHCP(Dynamic Host Configuration Protocol) 란?

DHCP(Dynamic Host Configuration Protocol)는 TCP/IP 네트워크의 호스트에 구성 정보를 전달하기 위한 프레임워크를 제공하는 BOOTP(Bootstrap Protocol)를 기반으로 한다.

BOOTP란?
- Bootp는 TCP/IP상에서 자동 부팅을 위한 최초의 표준프로토콜이다.
- X터미널 등과 같이 하드디스크를 갖지 않은 장치의 설정 정보를 자동적으로 할당, 관리하기 위해서 개발되었습니다.
- 3가지 정보를 제공해줍니다. (IP 주소, 부트 파일이 있는 서버 이름, 부트 파일 이름)
- BOOTP는 클라이언트 - 서버 구조로 동작한다.
- DHCP의 하위버전이라고도 부립니다. DHCP와는 완벽 호환됩니다. 즉, DHCP서버와도 연결이 가능합니다.
- BOOTP는 다른 두개의 well-known 포트 번호를 사용합니다. UDP 포트 67은 서버에서 사용하고, UDP 포트 68은 클라이언트에 사용됩니다.

DHCP는 재사용 가능한 네트워크 주소와 구성 옵션을 인터넷 호스트에 자동으로 할당하는 기능을 추가한다. DHCP는 지정된 DHCP 서버 호스트가 네트워크 주소를 할당하고 동적으로 구성된 호스트에 구성 매개 변수를 제공하는 클라이언트/서버 모델을 기반으로 구축된다.

 

한마디로 쉽게 말해 집에서 인터넷을 사용할때 PC에 IP설정을 따로 하지 않고 자동으로 IP 할당 옵션을 선택한다. 그러면  ISP에서 지정한 IP를 자동으로 받아가 인터넷이 된다. 이 자동으로 IP를 받아가는 것을 DHCP 프로토콜이라고 이해하면 된다.

 

2. DHCP 동작원리

DHCP 동작원리

1. DHCP Discover

클라이언트가 DHCP 서버를 찾는 단계(클라이언트 PC->서버)

" DHCP 서버 계십니까? 계신다면 응답 좀 해주세요~" 

이때 이더넷 상에 클라이언트는 (Destination MAC = FF:FF:FF:FF:FF:FF ,SIP : 0.0.0.0 DIP : 255.255.255.255) 합니다.

 

2. DHCP Offer

DHCP 서버가 클라이언트에게 응답하는 단계(DHCP 서버->클라이언트PC)

" 네 여기 있습니다. 제 IP 주소는 10.10.10.1 입니다. 클라이언트에게 10.10.10.100을 임대해줄수 있습니다."

서버 : (SIP : 10.10.10.1 , DIP: 255.255.255.255) DHCP Paylod(your ip = 10.10.10.100 subnetmask : 255.255.255.0 

Router= 10.10.10.254 DNS= 168.126.63.1& 8.8.8.8 , IP lease time=3600 등의 정보를 클라이언트에게 보냅니다.

 

3. DHCP Request

클라이언트가 DHCP 서버에게 답변하는 단계(클라이언트 PC -> DHCP 서버)

"답변주셔서 감사합니다. 그럼 DHCP 서버께서 저에게 IP를 할당해 주시겠습니까?"

클라이언트 : (SIP : 0.0.0.0 ,DIP : 255.255.255.255 , Request IP address= 10.10.10.100, DHCP Server Identifier= 10.10.10.1)

 

4. DHCP ack

DHCP 서버가 클라이언트에게 IP를 할당하는 단계(DHCP 서버 -> 클라이언트 PC)

" 네 IP 주소를 임대해 드리겠습니다. 임대시간은 1시간입니다"

서버 : (SIP : 10.10.10.1 DIP : 255.255.255.255, DHCP Paylod(your ip = 10.10.10.100 subnetmask : 255.255.255.0

Router= 10.10.10.254 DNS= 168.126.63.1& 8.8.8.8 , IP lease time=3600 , DHCP Server Identifier= 10.10.10.1)

 

클라이언트 pc는 IP address= 10.10.10.100 allocation completed  할당받고 인터넷을 사용할수 있게 된다.

 

3. How to Configure the Cisco IOS DHCP Server

DHCP 서버를 구성하느 방법은 몇가지 순서를 따릅니다.

 

1. Configuring a DHCP Database Agent or Disabling Conflict Logging

-> DHCP 서버의 정보를 보관하는 데이터베이스 호스트를 지정하거나 DHCP Logging 을  disable 시킨다.

1. enable
Router> enable
2. configure terminal
Router# configure terminal
3. ip dhcp database url [timeout seconds | write-delay seconds]orno ip dhcp conflict logging
Router(config)# ip dhcp database ftp://user:password@172.16.1.1/router-dhcp timeout 80
Router(config)# no ip dhcp conflict logging

2. Excluding IP Addresses

-> DHCP 자동할당 제외 IP 설정한다.(라우터에서 DHCP서버는 서브넷단위로밖에 DHCP POOL 이 지정할수 밖에 없기에제외 IP를 먼저 설정)

1. enable
Router> enable
2. configure terminal
Router# configure terminal
3. ip dhcp excluded-address low-address [high-address]
Router(config)# ip dhcp excluded-address 172.16.1.100 172.16.1.103

3. Configuring a DHCP Address Pool
-> DHCP POOL을 잡고, POOL에 DHCP 구성한다.

1. enable
Router> enable
2. configure terminal
Router# configure terminal
3. ip dhcp pool name //DHCP POOL NAME 설정
Router(config)# ip dhcp pool 1
4. network network-number [mask | /prefix-length]   //DHCP 자동할당 IP 대역 지정
Router(dhcp-config)# network 172.16.0.0 /16
5. domain-name domain // 도메인 네임설정
Router(dhcp-config)# domain-name cisco.com 
6. dns-server address [address2 ... address8]  //dns 서버 IP 설정
Router(dhcp-config)# dns server 172.16.1.103 172.16.2.103
7. next-server address [address2 ... address8] (옵션 - 여러개의 DHCP 서버가 있을경우 라운드로빈으로 IP 할당)
Router(dhcp-config)# next-server 172.17.1.103 172.17.2.103
9. netbios-name-server address [address2 ... address8] (옵션 - Netbios name 서비스 실행하고 있는 서버지정)
Router(dhcp-config)# netbios-name-server 172.16.1.103 172.16.2.103
10. netbios-node-type type(옵션 - 노드타입은 여러가지 있지만 가장 일반적인 H로 설정)
Router(dhcp-config)# netbios-node-type h-node
11. default-router address [address2 ... address8] //디폴트 게이트웨이 설정
Router(dhcp-config)# default-router 172.16.1.100 172.16.1.101
12. option code [instance number] {ascii string | hex string | ip-address} (옵션- DHCP 서버 옵션)
Router(dhcp-config)# option 19 hex 01
13. lease {days [hours] [minutes] | infinite} (옵션 - DHCP 임대기간 default 는 one-day)
Router(dhcp-config)# lease 30
14. network network-number [{mask | /prefix-length} [secondary]] (옵션 - DHCP 세컨드리 IP 범위 지정)
Router(dhcp-config)# network 10.10.0.0 255.255.0.0 secondary
15. override default-router address [address2 ... address8] (옵션 - DHCP 세컨드리 IP 의 게이트웨이 지정)
Router(config-dhcp-subnet-secondary)# override default-router 10.10.0.100 10.10.0.101
16. end

4. DHCP IP 확인 명령어

Router# show ip dhcp binding (할당 IP 확인)

dhcp ip 할당상태확인 - show ip dhcp binding

Router# show ip dhcp conflict (IP 충돌 확인)

dhcp ip 충돌확인 - show ip dhcp conflict

Router# show ip dhcp database (DHCP database  상태확인)

dhcp database 상태 확인 - show ip dhcp database

Router# show ip dhcp pool 1(dhcp pool 상태 확인)

dhcp pool의 ip 할당 상태 - show ip dhcp pool 1

Router# show ip dhcp server statistics(dhcp 서버 상태 및 ip 할당 갯수 확인)

dhcp 서버 상태 확인 - show ip dhcp server statistics 

4. Manual Bindings (특정 host 지정 IP 할당)
Router> enable
Router(config)# ip dhcp pool pool1
Router(dhcp-config)# host 10.1.0.3 255.255.255.0
Router(dhcp-config)# client-identifier 01b7.0813.8811.66 (01은 이더넷미디어 타입을 나타내고 나머지 바이트는 DHCP 클라이언트의 MAC 주소를 나타낸다.)
Router(dhcp-config)# client-name client1

Router# debug ip dhcp server packet

dhcp ip 지정 할당 디버깅
5. Setting the Gateway Address of the DHCP Broadcast to a Secondary Address Using Smart Relay Agent Forwarding

인터페이스에 세컨드리 주소를 사용하게 되면 해당 네트워크 스위치에서 dhcp 설정시 ip 할당이 안됨.

그럴때 사용하는 명령이 smart-relay 를 사용

- 주로 설정한 dhcp 대역이 모두 할당되면 보조 대역의 dhcp ip 대역이 할당됩니다.

Device> enable
Device# configure terminal
Device(config)# ip dhcp smart-relay
Device(config)# exit

 

 

6. DHCP Relay 를 이용하여 여러 네트워크 대역의 DHCP 서비스

- 보통의 기업에서는 단일 네트워크를 사용하기보다는 브로드캐스트 영역을 최소한으로 가져가기 위해 VLAN설정하여 각건물이나 각층의 대역의 IP 를 다르게 하여 네트워크 서비스를 한다.

 

일반적으로 DHCP 는 동일 네트워크에서 작동한다. 만약 VLAN이 나눠져있는 네트웍이라면 VLAN마다 DHCP 서버를 두어 IP를 자동 할당을 받게 해야하는가 ?? 각 VLAN 마다 DHCP 서버를 두고 서비스를 한다면 자원 소모 및 관리의 어려움이 생긴다. 이때 DHCP RELAY 를 이용하면 하나의 DHCP SERVER 에서 여러 네트워크를 서비스 할수 있다.

 

DHCP Relay는 DHCP 요청을 다른 네트워크 대역에 있는 DHCP SERVER로 중계하는 역할을 한다.

각 대역마다 DHCP RELAY를 두어 하나의 DHCP SERVER 로 RELAY 하게끔 설정한다.

 

DHCP RELAY

1. enable
2. configure terminal
3. interface type number
Router(config)# interface FastEthernet0/0
4. ip helper-address address
Router(config-if)# ip helper-address 172.16.1.2

VLAN 설정이 있는 경우 DHCP를 받고자 하는 VLAN 인터페이스에 ip helper-address 를 입력하면 된다.
interface vlan 100
ip helper-address 172.16.1.2
end

 

 

참고문서 : https://www.cisco.com/en/US/docs/ios/12_4t/ip_addr/configuration/guide/htdhcpre.html

              https://www.cisco.com/en/US/docs/ios/12_4t/ip_addr/configuration/guide/htdhcpsv.html

728x90
반응형