Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

Contents

GNS3에 대하여

Graphical Network Simulator로 CCNA 자격증을 공부하기 위해서 사용하는 소프트웨어입니다. 전 CCNA와는 상관없이 네트워크 공부를 해볼까 하고 살펴보는 중입니다.

클라우드 관련일을 하다 보면 L2 낮은 수준부터 규모가 큰 센타 네트워크 구성까지 살펴봐야 하는데, 이런 환경을 구축하고 테스트하는게 문제입니다. 가장 좋은 방법은 직접 네트워크 장비를 구입해서 구매하는게 되겠으나 비용과 운용이 문제가 되죠. 그래서 소프트웨어 적으로 네트워크를 구성할 수 있는 방법이 없을까 해서 선택한게 GNS3 입니다.

GNS3는 CISCO와 같은 네트워크 장비의 운영체제 이미지를 에뮬레이션 할 수 있습니다. 거기에 Qemu(:12)나 virtualbox(:12)등을 이용해서 guest 운영체제를 실행해서 네트워크 장비에 붙여서 테스트 할 수 있습니다. 게다가 wireshark(:12)같은 패킷 분석 프로그램까지 이용해서 네트워크 프로토콜들까지도 패킷단위에서 확인할 수 있죠.

보낸 사람 Linux

네트워크 테스트와 공부에 최고의 툴이라고 할 수 있습니다. 윈도우 뿐만 아니라 맥, 리눅스용도 있고요.

문제는 버그가 많고 불안 불안 하다는 것.

GNS3 설치와 설정

제 리눅스 박스 Ubuntu 11.10에 설치했습니다.

GNS3 다운로드

우분투리눅스라면 패키지 관리자로 간단하게 설치할 수 있습니다. 이 경우 Qemu를 기본 가상화 툴로 사용하는데, 저는 VirtualBox(:12)를 가상화 툴로 사용하길 원했기 때문에 GNS3 사이트에서 직접 다운로드 받아서 설치했습니다.

http://www.gns3.net/download 에 가면 VirtualBox 버전을 다운로드 받을 수 있습니다.

virtualbox 설치

virtualbox를 설치합니다. apt-get으로 간단히 설치할 수 있습니다. 설치한 다음에는 나중에 테스트에 사용할 guest 운영체제를 두어개 만들어 둡니다. 게스트 운영체제는 어디까지나 네트워크 테스트 용이므로 가벼운 운영체제를 선택하는 걸 권합니다. 저는 (GUI 없는)ubuntu server 운영체제를 선택했습니다.

보낸 사람 Linux
256 메가면 충분합니다.

GNS3 설치

Gns3 VirtualBox 버전은 따로 프로그램이 없습니다. 그냥 적당한 디렉토리에 다운로드 받아서 압축을 푼 다음 gns3.pyw를 실행하면 됩니다. gns3는 가상 네트워크 인터페이스를 만들어야 하기 때문에 SUID를 적용해 줍니다.
# chmod +s gns3.pyw

dynamips

dynamips는 시스코 네트워크 장비 에뮬레이션입니다. 역시 apt-get으로 간단히 설치할 수 있습니다.

GNS3 설정

gns3를 실행한 후 Edit > Preferences로 GNS3 환경을 설정합니다.
보낸 사람 Linux
  • Terminal Settings
Cisco에 터미널로 접근 할때 사용할 터미널 애뮬레이션 프로그램을 설정합니다. 기본 터미널 애뮬레이션은 xterm입니다. xterm대신 gnome-terminal이나 konsole을 사용할 수 있습니다. 저는 konsole을 사용하고 있습니다.
  • Qemu
가상화 프로그램으로 Qemu를 사용할 수 있습니다. virtualbox를 사용하기로 했으니 설정할 필요가 없습니다.
  • Virtualbox
GNS3에서 사용할 게스트 운영체제를 등록합니다. virtualBox Guest 탭에서 virtualbox로 미리 만들어 둔 게스트 운영체제를 등록하면 됩니다.

CISCO IOS 이미지 설치

GNS3 설정이 모두 끝났습니다. dynamips를 이용해서 시스코 장비도 애뮬레이션 했습니다. 이제 (애뮬레이션한)시스코 장비에 올릴 운영체제를 준비해야 합니다. GNS3는 c1700, c2600, c2691, c3600, c3700, c7200등 라우터 장비를 비롯한 PIX와 같은 방화벽을 지원합니다. IOS 이미지는 인터넷 상에서 쉽게 구할 수 있으니 적당한 모델의 IOS를 구하시기 바랍니다. 전 c2600에 사용할 ios 이미지로 테스트 했습니다.

이미지를 다운로드 했으면 Edit > IOS Images and hypervisors에서 이미지 파일을 등록하면 됩니다.

GNS3로 초 간단 Network 환경 구축 해보기

게스트 운영체제 두 개를 L2 switch로 연결하는 네트워크를 구성해 보려합니다. IP는 192.168.100.1과 192.168.100.2로 정했습니다.

보낸 사람 Linux
switch와 게스트 운영체제는 Add a link (빨간 밑줄)툴을 이용해서 연결하면 됩니다. 그다음 Play 버튼을 누르면 virtualbox가 게스트 운영체제를 booting 합니다.

부팅한 다음 ifconfig로 게스트 운영체제의 IP를 할당했습니다.
# VBOX1
# ifconfig eth1 192.168.100.1

# VBOX2
# ifconfig eth1 192.168.100.2
ping 테스트를 해보죠. 제대로 설정했다면 서로 ping이 될겁니다. 혹시 ping이 안된다면, 게스트 운영체제들이 동일하 mac address를 사용하고 있지 않은지 확인해보시기 바랍니다. 버그인지 몰라도 virtualbox 가 때때로 mac 주소를 제대로 올리지 못할 때가 있습니다. virtuabox를 열어서 게스트 운영체제의 network 항목에서 랜덤한 mac 주소를 만들 수 있습니다.

SW1을 마우스 우클릭한 다음 MAC Address Table을 보면 게스트 운영체제들의 mac 주소를 확인할 수 있을 겁니다. 각 게스트 운영체제에서는 arp 명령을 이용해서 mac & ip 맵핑 정보를 확인할 수 있습니다.
# arp -na
? (192.168.100.2) at 08:00:27:2f:b4:64 [ether] on eth1

다음에 할일

Cisco 라우터를 붙이고, 이 라우터를 통해서 외부 인터넷으로 나가도록 삽질 좀 해볼 생각입니다.

히스토리

  • 2011년 12월 20일 문서 작성 시작