You are on page 1of 76

GNS3

https://kimunderground.tistory.com
GNS3 란 ?
GNS3
• GNS3 (Graphical Network Simulator-3)
 2008 년에 처음 출시된 네트워크 소프트웨어 에뮬레이터
 가상 및 실제 기기의 결합을 허용하며 복잡한 네트워크를 시뮬레이션 하는 목적으로 사용
 Python 으로 작성된 오픈 소프트웨어

• 장점
 실 장비와 가상 장비의 네트워크를 동시에 운용할 수 있음
 실제 서버를 운용하기 전에 시뮬레이션으로 사용 가능
 Wireshark 와 함께 연동하여 실제 전송되는 Packet 을 확인할 수 있음

• 단점
 무료 오픈 소프트웨어이기 때문에 버그가 굉장히 많음
GNS3 사용 예시 (1)

Static Routing
Test Topology
GNS3 사용 예시 (2)

Dynamic Routing
Test Topology
GNS3 설치
GNS3 설치 파일

Router Remote GNS3


IOS 파일 접속 Putty Installer File

• 현제 GNS 최신 버전 : 2.2.11
• 본 자료에서는 ver. 2.1.11 임에 주의
• 상위 버전에서는 버그가 해결
되어있을 수 있음
GNS3 설치 과정

1 2 3

4 5 6
GNS3 설치 과정 ( ※ GNS3 설치 중에 실행 됨 WinPcap 설치
)

1 2 3

4
GNS3 설치 과정 ( ※ Wireshark 설치 과정은 Error 발생으로 따로 설치 )

1 2 3

4 5 6
GNS3 설치 후 실행

3
4
GNS3 실행 화면 (Project 생성 X) – 실행 후 종료

Project 저장 및
실행 메뉴
Project 에
사용 중인 장비
목록
Project 화면

장비 메뉴

물리적 PC
성능 모니터링

Event
로그 화면
Wireshark 설치
What is Wireshark?
• Wireshark 란 ?
 자유 및 오픈 소스 패킷 분석 프로그램
 네트워크의 문제 , 분석 , 소프트웨어 및 통신 프로토콜 개발 , 교육에 사용
 원래 이름은 Ethereal 이었으나 Wireshark 로 변경

• 프로그램 개요
 작성 언어 : C, C++
 종류 : 패킷 Sniffing
 개발자 : Wireshark Team
 안정화 버전 : 2.6.3 / 2018 년 8 월 29 일
 License : GNU 일반 공중 사용 허가서
Wireshark 설치 (
https://www.wireshark.org/download.html)
Wireshark 설치 과정 (1)

그대로 둠

1 2 3

그대로 둠
그대로 둠

4 5 6
Wireshark 설치 과정 (2) 14 Page 4 번에서 체크 항목 중 Npcap 은 Wireshark 를 설치할 때 설치하는 것이 좋음

체크 X 1 2 3

체크 X
4 5 6
Wireshark 설치 과정 (3)
GNS3 파일 설정
1. GNS3 Putty 파일 설정
1. GNS3 Putty 파일 설정

C:\Program Files\GNS3 → Super Putty 파일 4 개 복사 + 붙여넣기


• 동일 한 파일은 덮어쓰기

2
2. GNS3 Router IOS 설정
IOS 파일 설정
2. GNS3 Router IOS 설정
IOS 파일 설정

C:\User\[ 계정명 ]\GNS3\images : IOS 폴더 생성 후 장비 이미지 파일


저장
• 만약 [ 계정명 ] 밑에 GNS3 폴더가 없는 경우 GNS3 를 먼저 실행 후 다시 확인
• IOS 폴더 명은 대 / 소문자를 구분 하므로 꼭 대문자로 생성
GNS3 실행 및 설정
GNS3 실행 화면

1
Project Name

2 Project Location( 위치 )

3
GNS3 설정 진입

GNS3 설정
GNS3 설정 내용
General 설정

Project 경로

추가 장비 이미지
GNS3 설정 내용
General 설정 설정 파일 이미지 위치
GNS3 설정 내용
General 설정 원격 접속 프로그램 설정
GNS3 Remote Program 설정

1
2
3

5
GNS3 Remote Program 설정
GNS3 Router IOS 설정
GNS3 Dynamips > IOS routers 설정

※ 총 3 개의 장비를 만들 것 이므로
위의 번호를 잘 보고 따라올 것 !

2
GNS3 Router IOS 설정 (1) 가상 Router
생성

Default RAM 의 크기는


256 MiB 로 설정

1 2 3

4 5
GNS3 Router IOS 설정 (1) 가상 Router
생성

방금 만든 Router
의 H/W 정보
GNS3 Router IOS 설정 (2) 가상 Multilayer Switch 생성
GNS3 Router IOS 설정 (2) 가상 Multilayer Switch 생성

체크 시 Name 은
자동으로 변경 됨

자동으로 slot 에
추가 됨

3 4 5
GNS3 Router IOS 설정 (2) 가상 Multilayer Switch 생성

방금 만든 Multilayer Switch
H/W 정보
GNS3 Router IOS 설정 (3) 가상 L2 Switch 생성
GNS3 Router IOS 설정 (3) 가상 L2 Switch 생성

router -> switch


변경

나머지 과정은
(2) 와 동일
GNS3 Router IOS 설정 (3) 가상 L2 Switch 생성

Symbol Image
변경 필요
GNS3 Router IOS 설정 (3) 가상 L2 Switch 생성

Switch 검색
2

Switch Image
선택
1
3

5
GNS3 Router 장비

 c3600 : L3 장비
 Router 로만 사용하기 위한 장비

 EtherSwitch router : Multilayer Switch


 L3, L2 겸용 장비

 EtherSwitch switch : L2 Switch


 Switch 로만 사용하기 위한 장비
장비 Idle PC 설정
2. 아래 항목 중
Installed appliances 선택

3. 방금 만든 장비들 확인
1.
선택
Drag & Drop
잠깐 ! Idle PC? 왜 지정 하는가 ?
• Idle PC?
 Idle : 유휴상태 , 어떠한 프로그램에 의해서도 사용되지 않는 상태

 말 그대로 PC 에서 어떤 자원도 사용되지 않는 상태가 되도록 하는 PC 를 지정하는 것

• 왜 지정 해야하지 ?
 가상머신 (Virtual Machine) 은 실제 물리적 PC 의 자원을 공유하여 사용하고 있는 것을 말 한
다 . 즉 , 물리적인 어떤 PC 내에 논리적인 또 다른 가상의 장치들을 설치하는 것을 의미 한다 .
 이러한 가상머신의 개수가 많아지게 되면 물리적인 PC 에서도 부하가 발생한다 . 하지만 우리는
그 장비들을 1 초도 쉬지않고 통제를 하지 않으며 , 여러 개가 있을 경우에는 연결 만 해 두고
아예 사용되지 않는 장비가 있기 마련이다 .
 그런 장비들을 자동으로 Idle 상태로 돌리기 위한 작업을 하는 Master PC 를 지정하는 것 이다 .
1. 실행

실행 후
우클릭
2. Idle PC 설정

우클릭

Idle PC 가 아닌 상태에서
CPU 와 RAM 을 주목
3. Idle PC 설정 중
4. Idle PC 설정 확인
5. Putty 로 원경 장비 접속

실행 중인 장비 더블 클릭
잠깐 ! What is Putty?
• Putty 란 ?
 SSH, Telnet, rlogin, raw TCP 를 위한 클라이언트로 동작하는 자유 및 오픈 소스 단말
에뮬레이터 응용 프로그램
 Putty 에서 “ tty” 는 유닉스 전통의 터미널의 이름을 가리키며 teletype 를 짧게 줄인 것

• 프로그램 개요
 작성 언어 : C
 개발자 : 사이먼 테이썸
 종류 : 터미널 에뮬레이터
 라이선스 : MIT License
6. 장비를 더블 클릭하면 나오는 Putty 로
설정
6. 장비를 더블 클릭하면 나오는 Putty 로 설정
• [Shortcuts] Tab 을 제외한 모든 Tab 의 항목은 캡쳐 화면과 동일하게 설정할 것
• 그래야 정신건강에 이롭습니다 .
• 끝나면 [Ok] 버튼으로 설정 끝
7. 실행중인 장비에 Putty 로 접속 한 화면

이런 화면이 출력되고 ,
마지막에 더 이상 아무 내용도 출력되지
않는 상태에서 [Enter] 키를 한 번 입력
해 주면 바로 Auto Idle 상태가 됨
6. Idle PC 설정 전 / 후 PC 성능 비교

Idle PC 설정 전 Idle PC 설정 후
8. 참고 (1) GNS3 메뉴 중에 실행 버튼으로 실행하면 ?
이 버튼을 말 하는 것 일 텐데
이 버튼은 일괄 실행 버튼 이다 .

이렇게 5 개의 장비가 나와 있는 상태에서


저 실행 버튼을 누르면 ?
8. 참고 (1) GNS3 메뉴 중에 실행 버튼으로 실행하면 ?

성능 요약 부분을 보면 알겠지만 ,
여러분의 PC 의 안전을 위해서 되도록
저 버튼은 사용하지 않는 것이
정신건강에 이롭다…
Network 장비 Test
1. Cable 연결

이 버튼이 케이블 연결을 위한 도구


• GNS3 에는 특이하게 DCE, DTE 설정이 따로
없으며 , Serial 연결은 따로 없음
• 대부분 FastEthernet 연결로 이루어 짐
• 그렇다고 Serial 연결이 없는 것은 아님
1. Cable 연결

2. 장비에 마우스를 가져다 대면 장비의 Link State 가 출력 됨

1. 클릭
1. Cable 연결

1. 클릭

Slot 에 사용할 수 있는 Port 를 출력


R1 에서 [FastEthernet0/0] 을 클릭
1. Cable 연결

1. [FastEthernet0/0] 을 선택하고 마우스를 움직이면


아래처럼 케이블이 출력 됨

2. ESW2 에 마우스를 가져다 대면 ,


R1 에서와 동일하게 장비의 Link State 가 출력 됨
1. Cable 연결

1. ESW2 선택
• [ 참고 ] ESW2 는 실행이 되어 있어야 함

2. R1 과 동일하게 사용할 수 있는 Port 들이 출력 됨


• Port 는 0/0 ~ 0/15 까지 총 16 개의 Port 가 있음

3. [FastEthernet0/1] 을 선택
2. R1 장비 설정

아래 내용 그대로 작성 (# 뒤의 내용만 쓰시오… )


R1# conf t
R1(config) # int fa 0/0
R1(config-if) # ip addr 192.168.95.1 255.255.255.0
R1(config-if) # no shut
3. ESW2 장비 설정

아래 내용 그대로 작성 (# 뒤의 내용만 쓰시오… )


ESW2 # conf t
ESW2(config) # int fa 0/1
ESW2(config-if) # ip addr 192.168.95.2 255.255.255.0
ESW2(config-if) # no shut
4. Connection Ping Test
R1 → ESW2

R1 (config-if) # do ping 192.168.95.2


4. Connection Ping Test
ESW2 → R1

ESW2 (config-if) # do ping 192.168.95.1


[ 참고 ]
• Global Config Mode 에서 Privilege Mode 명령어 사용하는 방법 : do 를 명령어 앞에 붙이면 됨
• 예 ) IP 설정 모드에서 Running Config 를 보고 싶을 때 : do show running-config

• Ping 명령어에서 ! 는 올바른 통신이 이루어 진 표시

• 반면 . 으로 표시되면 통신이 안된다는 표시


5. Wireshark 를 이용한 Packet Capture

A. 연결 된 두 장비 사이의 케이블에서 [ 우클릭 ]


B. Start capture 클릭
C. 아래와 같은 창이 출력되면 [Ok] 버튼을 클릭
• Start the capture visualization program 의 체크를 풀면 D 번은
생략 됨

D. Wireshark 가 자동으로 실행 됨

Packet Capture 가 실행되면


케이블에 돋보기 모양이 생김
6. Wireshark 실행 화면
7. 4 번을 다시 수행 후 Wireshark 확인

A. R1 → ESW2 로 Ping 수행
B. Wireshark 로 확인
C. ICMP Packet 발생을 확인하면 성공
8. GNS3 의 Packet Capture 버그 주의

[ 버그 발생 시나리오 ]
A. Packet Capture 를 위해 GNS3 내에서 Wireshark 를 이용하였다 .
B. Packet Capture 가 끝나고 Wireshark 를 닫았다 .
C. 다시 Packet Capture 를 위해 동일한 케이블에서 Wireshark 를 실행하였다 .
D. 버그 발생 할 가능성이 있다 .
• 어떤 버그 ? 정상적으로 Packet Capture 가 수행되지 않는 버그

[ 버그 해결 방법 ]
A. Packet Capture 를 위해 Wireshark 를 실행할 때 기존과는 다르게 File name 을 변경한다 .
B. 그 후에 실행하면 정상적으로 Packet Capture 를 수행할 수 있다 .
• 상위 버전에서는 해결이 이미 되었을 수도 있음
9. Project 끄기 전에 주의 사항 필필필필필독 !

A. Project 내에서 생성한 장비들은 GNS3 를 종료 하거나 Project 를 닫을 때는 저장을 먼저 해야 함


B. GNS3 의 [File] Tab 에서 저장하는 것 과는 별개로 장비의 설정 내용을 따로 저장 해야 함
C. 만약 Project 파일만 저장하고 장비에서 저장을 수행하지 않으면 , Project 실행 시 장비에서 설정
했던 내용은 모두 사라짐
D. 이는 실제 장비에서도 동일하게 이루어 지므로 설정 내용은 항상 저장 할 필요가 있음

[ 설정 저장 방법 ] - 설정 저장은 Privilege Mode 에서 수행


R1 # copy running-config startup-config

[Enter]
GNS3 에서 구현할 수 있는 기능

• 기본적인 Cisco Packet Tracer 에서 구현한 네트워크

• VMware 와 Virtual Box 를 이용한 가상머신 네트워크 연결 기능

• 가상머신 내부 네트워크와 실제 사용되는 외부의 공인 네트워크와의 연결 기능

• NAT 를 이용한 가상머신 ( 네트워크 장비들 ) 과 외부 실제 장비 통신

• Firewall, iptables 혹은 UTM 을 통한 Packet Filtering 기능 작동 확인

• 기타 등등…
Thank
You
https://kimunderground.tistory.com

You might also like