GNS3 v.2.1.11의 최신버전으로 새로 작성한 글이 있으니 참고하세요.


https://se34.tistory.com/72






원래 시스코는 라우터만 만들던 회사였으나,

스위치를 만들던 회사인 카탈리스트를 인수하여 스위치까지 만드는 회사가 됩니다.


당시 카탈리스트에서 만드는 스위치에는 독자적인 CatOS(Catalyst-OS)를 탑재하였는데

시스코는 카탈리스트를 인수한 뒤에도 스위치의 운영체제로 CatOS를 유지합니다.


때문에 같은 회사의 제품임에도 불구하고 라우터와 스위치에 올라가는 운영체제가 다르게 되었는데,

이때문에 현재 스위치 시뮬레이터를 구동하는데 많은 어려움을 겪고 있습니다.


시스코의 라우터에 탑재되는 IOS라는 녀석은,

2005년도 즈음에 만들어진 다이나밉스(Dynamips)라는 무료 시뮬레이터 덕에

라우터의 IOS만 구하면 실제 라우터의 동작 99%를 가상으로 구현할 수 있었습니다.


비록 패킷트레이서처럼 토플로지를 직접 보면서 작업할 수도 없고, 설정도 약간 복잡한 편이지만

당시에는 패킷트레이서에 RIP인증도 없었고 안되는게 많았을 때라 다이나밉스를 거의 필수로 사용했습니다.


나중에는 다이나밉스를 기반으로한 Graphical Network Simulator 3, GNS3의 등장으로 매우 쉽게 라우터를 시뮬레이션 하게 됩니다.


다이나밉스가 0.2.8의 버전으로 정식 업그레이드를 종료했음에도 불구하고 GNS3개발자덕에 지속적으로 유지하고 있고,

나중엔 VPCS(Virtual PC Simulator), Wireshark, Host 브리징 등의 강력한 툴과 기능들을 시뮬레이터에 통합시킴으로써 많은 사용자를 확대해 나갑니다.


다만 CatOS의 특성상 다이나밉스에서 구동이 불가능해서 다이나밉스에서 스위치를 시뮬레이션 할수 없었습니다.

네트웍의 주요 장비인 L2스위치를 시뮬레이션 할 수 없다것은 네트워크 시뮬레이터로서는 치명적인 단점이었습니다.


하지만 GNS3 외에 달리 대안도 없기에 차선책으로 사용한 방법이 라우터에 NM-16ESW라는 스위칭 인터페이스를 꽂아 쓰는 것이었지만, 역시 라우터에 꽂아 쓰는 것이기에 실제 스위치와는 명령이 매우 다를 수 밖에 없었습니다.

간단한 VLAN등의 구현은 가능하지만 세부적인 STP조정, 이더채널 프로토콜 지정이 불가능 했으니 그저 더미허브보다 약간 나은 수준이었습니다. 요즘은 VLAN지정이 가능한 공유기도 나오니 고급 공유기 수준이랄까요.


최근 L3스위치를 가지고 실습할 게 많아져서 어쩔수 없이 패킷트레이서를 쓰고 있었습니다만

버전업이 되면서 명령이 많아졌다고 해도 역시 한계가 있더군요. 실제 돌아다니는 패킷을 캡쳐해볼수도 없고..


그래서 구글에서 검색에 검색을 거듭한 결과 IOS on UNIX, IOU라는 장비 시뮬레이터를 알게 됩니다.

대충 알아보니 시스코 내부 직원들이 교육용으로 사용한다는데, 장비 운영체제를 유닉스에서 가상으로 구동시켜놓고

그 유닉스에 접근해서 장비를 설정하는 개념이더군요. (그래서 Cisco IOU는 오픈소스가 아닙니다. 아쉽게도..)


그래서 이것저것 삽질해가며 IOU기반의 L2스위치를 GNS3에서 돌려보았습니다. 가장 먼저 확인한 것은 이더채널 커맨드..

LACP, PAgP 모두 구현 가능합니다. 드디어 카탈리스트 스위치를 GNS3에서 돌릴수 있습니다.


제가 늦게 알게 된건진 모르지만, 그래도 아직은 아는 분보단 모르는 분이 많을거 같아 구현하는 방법을 남겨봅니다.

(실제 이유가 다음에 또 헤매지 않기 위함인건 안비밀. 많이 헤맸습니다..)


스위치를 시뮬로 돌리게 되서 감동해서인지 서론이 길었습니다. 밑에 과정만 잘 따라와 주시면 됩니다~





0. GNS3는 당연히 깔려 있어야 합니다.


GNS3 다운로드: https://www.gns3.com/software


계정만드시고 로그인 하면 무료로 받을수 있습니다.



1. 가상화 솔루션 설치.


GNS3 가상머신을 구동시켜줄 가상화 솔루션을 설치해야합니다.


VMware Workstation Player(비상업용), Oracle VirtualBox는 무료입니다.


VMware Workstation Player 다운로드: http://www.vmware.com/products/player/playerpro-evaluation.html

Oracle VirtualBox 다운로드: https://www.virtualbox.org/wiki/Downloads




2. GNS3에서 제공하는 가상머신 파일(*.ova) 다운로드


가상화 솔루션에서 구동할 GNS3 가상머신을 내려받습니다.


https://github.com/GNS3/gns3-gui/releases


스크롤 쭈욱 내리시면 알파버전이 아닌 안정된 버전이 나옵니다.


사용할 GNS3와 버전이 일치해야 합니다. 원래 사용하던 GNS3는 1.4.x 였는데 가상머신을 1.5.3 받으니 에러 나더군요.


저는 VMware에서 구동할 것이기 때문에 VMware버전을 받았습니다





3. 가상머신에서 구동할 IOU 장비의 이미지 구하기


GNS3를 사용하기 전에 IOS를 추가하듯이, IOU장비도 이미지를 구해서 추가합니다.

구글에 검색하시면 구하실수 있을 겁니다.


이미지는 L2, L3가 있는데 구동해보니 L2는 L3스위치, L3는 라우터로 동작하는듯 합니다.






4. VMware, VirtualBox등의 가상화 솔루션에서 가상머신 파일 불러오기


이제 가상화 솔루션을 실행킵니다.


파일 들어가서 오픈 선택하시고 내려받은 "GNS3 VM.ova" 선택하시면 가상머신이 하나 추가됩니다.


사실 이 가상머신에서 모든 장비를 구현하라는게 GNS3의 권고안이고,


더 적은 CPU와 RAM을 가지고 많은 장비를 돌릴수 있습니다만


로컬서버에서 라우터를 돌리는게 확장성에서 더 유리하므로 IOU장비만 VM에서 구동하기로 합니다.




5. 가상화장치 부팅


가상머신을 설정하기 위해 부팅시킵니다. 우분투14.04 기반의 리눅스 시스템입니다.


vi는 없는데 python3는 올라가 있는 정말 요상한(?) 시스템입니다.


메롱하는 부팅이 끝나면 부팅된 GNS3 VM의 버전, IP, SSH계정 정보가 보입니다.







6. IOU License Generator를 가상머신으로 전송


IOU라는 시뮬레이터는 프리웨어가 아니라서 인증된 키파일을 올려야 사용할 수 있습니다.

이 키값이 디바이스마다 상이하므로 가상머신 내부에서 알아내야 합니다.


키젠은 "CiscoIOUKeygen.py" 라고 검색하시면 바로 나옵니다만.. 귀찮으신 분들을 위해!


http://forum.gns3.net/download/file.php?id=2950


받은 키젠을 가상머신에 올리는 방법은..


    - 웹 브라우저 열어서 <가상머신의아이피>:3080 입력하시면 흰색 배경의 GNS3 웹 페이지가 나옵니다.

    - 업로드 메뉴 들어가서 키젠 파일을 업로드 합니다.





업로드가 정상적으로 완료되면 파일의 경로가 리스트에 보이게 됩니다.


이게 정상적인 파일 업로드 방법 입니다만..

이전에는 업로드 단계에서 에러가 나서 SSH들어가서 ZMODEM으로 올렸습니다;;




7. 키젠 구동해서 키값 확인


GNS3 VM의 커맨드를 띄웁니다. 초기화면에서 OK를 누르고 Shell을 선택합니다.






키젠이 위치한 곳으로 경로를 옮기고 파일을 확인해봅니다.





이제 키젠을 구동해서 키값을 알아내면 됩니다만, 여기에서 삽질을 조금 했습니다.

현재 웹에 돌아다니는 키젠은 Python 2.7기준으로 작성된 것이 대부분인데,

최신의 GNS3 가상머신에는 Python 3가 기본으로 설치되어 있습니다.


따라서 키젠을 열어서 3버전으로 수정하시거나, Python 2.7을 설치하셔서 키젠을 구동해야 하지만

찾아보니 이미 GNS3 포럼에 Python 2.7, 3 모두 구동가능하도록 수정한 버전이 올라와있더군요.

올려주신 분이 무려 GNS3의 내부 패키지를 수정하시는 분입니다;;





6번 단계에 올려 놓은 링크는 수정된 버전의 키젠이니 실행만 하시면 됩니다. 아래처럼 키값이 보이면 성공입니다.





8. IOURC파일 만들기


IOURC파일 별거 없습니다. IOU의 라이센스를 인증하는 파일인데 2줄짜리 텍스트 파일입니다.


[license]

gns3vm = xxxxxxxxxxxxxxxx;


x표 한곳에 키젠에서 얻은 키값을 넣으시고 IOURC.txt 로 저장하시면 됩니다.

키값의 끝은 세미콜론이 있어야 에러가 안납니다.




9. GNS3에서 IOU설정


GNS3에서 가상머신, IOURC파일을 지정하고 IOU장비를 추가해야 합니다.


GNS3를 켜고 메뉴의 Edit - Preferences 로 들어갑니다



▲ Virtualization software는 설치한 가상화 솔루션을 고르시면 됩니다. VM name도 마찬가지..





▲ IOS on UNIX로 넘어와서.. IOURC파일의 위치를 지정해줍니다.




마지막으로.. 3번에서 받은 장비 이미지 파일을 L2, L3구분해서 IOU Devices에 추가해 주시면 설정은 끝납니다.




설정창 닫으시고 장비리스트 열어보시면 못보던 장비가 보일겁니다.


토플로지에 살포시 드래그 해놓으시고 스타트 해보시면 됩니다~


라우터에는 없는 커맨드.. 이더채널 명령이 모두 보입니다.





처음 설정할때는 2시간 정도 걸렸는데


캡쳐뜨려고 다시 해봤더니 10분도 안걸리네요.. ㅠㅠ




다른분들은 부디 저처럼 헤매지 마시길..

Posted by 비형랑#
: