GNS3로 배우는 네트워크 실습 #4 (DHCP 설정)

 

DHCP(Dynamic Host Configuration Protocol)는 네트워크에 속한 PC마다 IP 주소를 자동으로 할당하는 기술입니다. 본 포스트는 GNS3를 이용하여 DHCP 기능을 담당하는 노드(라우터)를 배치하고 운영하는 방법을 소개합니다.

 

실습 네트워크 구성


GNS3 프로젝트를 생성하고 아래와 같은 노드를 빈 공간에 추가합니다.

  • Cisco 라우터 (R1)
  • 이더넷 스위치 (Switch1)
  • GNS3에서 제공하는 VPC (VM1, VM2)
  • VirtualBox/Vmware로 띄운 Linux VPC (VM3, 링크 참고 or 없으면 없는 대로 진행)

 

생성된 노드를 케이블로 이어줄 건데요. 라우터에서 스위치로 연결하는 포트를 FastEthernet0/0로 잡아줍시다. 나머지 케이블은 아무 포트에 연결해도 상관 없습니다.

 

상단에 위치한 초록색 화살표 (▶) 버튼을 클릭하여 노드를 모두 활성화시켜줍니다.

 

라우터 설정


라우터(R1)를 우클릭하고 'Console ' 항목을 선택합니다. 터미널이 생성되면 다음 단계를 진행하세요.

 

앞으로 구성하게 될 DHCP 주소 체계는 다음과 같습니다.

  • IP 대역: 192.168.88.0/24
  • DHCP 서버 주소: 192.168.88.1
  • 가용 가능한 IP 범위: 192.168.88.2 ~ 192.168.88.254

 

DHCP 서버 IP 할당

라우터가 DHCP 서버 역할을 할 것이기에, 스위치로 뻗어나가는 포트 f0/0에 IP 주소 192.168.88.1을 할당해줍니다.

R1# conf t
R1(config)# interface fastethernet 0/0
R1(config-if)# ip address 192.168.88.1 255.255.255.0
R1(config-if)# no shutdown
R1(config-if)# exit

 

예외 IP 설정

192.168.88.1는 DHCP 서버 외에 다른 노드에게 부여되어선 안되므로 예외 IP 리스트에 추가합니다.

R1(config)# ip dhcp excluded-address 192.168.88.1

 

DHCP 설정

새로운 DHCP Pool(LAN)을 생성하고 주소 체계와 게이트웨이 등과 같은 정보들을 설정해줄 겁니다.

R1(config)# ip dhcp pool LAN
R1(dhcp-config)# network 192.168.88.0 255.255.255.0
R1(dhcp-config)# default-router 192.168.88.1
R1(dhcp-config)# dns-server 192.168.88.1
R1(dhcp-config)# lease infinite
R1(dhcp-config)# end

 

‘lease’는 추후에 설명하겠지만, 할당된 IP 주소가 만료되는 주기를 결정하는 명령어입니다. lease infinite는 PC가 한 번 부여 받은 IP 주소를 무한히 사용하겠다는 것을 의미합니다.

 

IP 할당받기


이제 스위치에 연결된 VM마다 IP를 할당 받아보겠습니다. 우선 GNS3의 기본 제공 템플릿에 해당하는 VPC 노드를 하나 골라 우클릭 후, Console을 열어봅니다.

 

VM1(GNS3)> dhcp
VM1(GNS3)> show ip

 

VM1에서 IP 주소 192.168.88.2를 사용할 수 있게 되었습니다. 이제 그 옆에 있는 VM2에게도 같은 작업을 해줍시다. VM1과 VM2이 IP를 제대로 동적 할당 받았다면, 둘 간의 Ping 신호를 잡을 수 있습니다.

VM2(GNS3)> dhcp
VM2(GNS3)> show ip

VM2(GNS3)> ping 192.168.88.2

 

마찬가지로, VirtualBox로 가동 중인 VM3의 화면을 열어서 유선 연결이 DHCP로 잘 설정되었는지 확인해봅니다. 설치된 OS에 따라 다르겠지만, 보통 네트워크를 재시작해야 DHCP 서버에서 발급된 IP를 사용할 수 있습니다.

 

시험 삼아 Ping 테스트로 노드 간의 통신이 되는지 점검해보세요.

 

DHCP 상태 진단


아래는 DHCP 서버(R1)에서 DHCP 운용 현황을 파악하는데 도움을 주는 명령어 입니다.

 

동적 할당된 IP 주소 목록 조회

R1# show ip dhcp binding

 

DHCP 요청 통계

R1# show ip dhcp server statistics

 

DHCP Pool 정보 요약

R1# show ip dhcp pool

 

IP 갱신 주기 변경


‘lease time(임대 시간)’은 DHCP 클라이언트가 자신에게 부여된 IP 주소를 사용할 수 있는 기간을 뜻합니다. 임대 시간이 만료되면 DHCP 클라이언트는 기존에 할당된 IP 주소를 지속적으로 사용할 수 있게끔, 서버에 임대 연장 요청을 보내야 합니다. Cisco 장비의 경우, 대게 lease time은 하루(24시간) 정도가 기본 값입니다.

 

Lease time 변경

GNS3에서 lease time을 변경하는 방법은 아래와 같습니다. 1분마다 IP를 재설정하길 원한다면 ‘lease 0 0 1’ 이라는 명령어를 수행하면 됩니다.

R1# conf t
R1(config)# ip dhcp pool LAN
R1(dhcp-config)# lease [days] [hours] [minutes]
R1(dhcp-config)# exit
R1(config)# end

 

변경된 설정을 DHCP 클라이언트에게도 적용해주기 위해 터미널을 옮겨 아래의 명령어를 입력합니다.

VM1(GNS3)> dhcp

 

이제부터 라우터에서 DHCP 클라이언트를 조회해보면 임대 만료 시간(Lease expiration)을 눈으로 확인해볼 수 있습니다.

R1# show ip dhcp binding

 

DHCP 패킷 확인

Wireshark 프로그램이 컴퓨터에 설치되어 있는 경우, DHCP 패킷을 직접 분석해보고자 한다면 우측 Topology Summary 탭에서 라우터(R1)를 우클릭하고 ‘Start capture’를 선택하세요.

 

Wireshark 필터 옵션에 임의로 DHCP 클라이언트 IP 주소 하나를 추가해봅니다. 그렇다면 아래와 같이 대략 30초 간격으로 DHCP 패킷이 수집된 화면을 볼 수가 있을 텐데요. 이들이 바로 IP 주소 임대 연장 요청 메시지입니다.

 

여기서, lease time을 1분으로 설정했는데 왜 30초마다 갱신 요청을 보내냐고 질문하실 수도 있는데요. DHCP 클라이언트는 lease time의 50% 정도가 지난 뒤에 갱신을 요청하는 게 일반적이기 때문입니다.

반응형