본문으로 바로가기
반응형
본 게시글은 'PC모드'에서 보시면 잘리지 않은 정상적인 화면으로 보실 수 있습니다.

네트워킹의 왕도는 실습이다. - 피터 전


네트워크를 하시는 분들이라면 모를 수가 없는 피터 전 선생님의 명언입니다.

저도 네트워크를 공부하면서, 자격증을 따면서 느끼는 것은 네트워크는 '몸에 배어야 한다' 라는 것입니다.

콘솔만 봐도 자연스럽게 enable, configure terminal등이 나오게끔 하도록 몸에 배이도록 하는 것이 네트워크의 진정한 시작이라고 생각합니다.

그 시뮬레이션 프로그램 가장 강력한 시뮬레이션인 EVE-NG에서 추가적인 Switch(Catalyst) 사용을 위한 IOU/IOL[각주:1]의 추가 과정입니다.


Cisco IOU/IOL이란? Cisco IOS on Unix/IOS on Linux의 약자로써, Cisco 내부에서 사용하던 어플리케이션이다. CCIE R&S(Router & Switch) Lab에서 Troubleshooting용으로 사용되며 IOS랑 똑같이 CLI(명령줄 인터페이스)로 작동된다. PC의 Resource(자원)을 많이 잡아먹지 않아서 자주 활용된다.
GNS3는 Cisco社의 Switch(Catalyst)를 지원하지 않아서 이 IOU를 통해 Switch까지 시뮬레이션이 가능하다.


EVE-NG 특징
  • GNS3와 CPT에서 나타나는 버그들이 거의 없는, 실장비와 거의 동일한, 비슷한 작동을 한다.
  • CCIE R&S, Troubleshooting까지 원활하게 시뮬레이션 할 수 있다.
본 게시글은 EVE-NG Community Edition v2.0.3-105(6 January 2020) 버젼, Windows 10 1909 운영체제[각주:2], Google Chrome을 사용하여 다운로드 & 설치를 진행하고 있습니다. 추가적인 기능을 셋팅해야하는 새 버전이 나온다면 리빌딩 하겠습니다. (2020.02.07)


1. IOS 설치를 위해서 EVE-ng의 폴더 안에 FTP 프로그램을 이용하여 IOU/IOL Image를 업로드한다. 본 게시글에서는 FileZilla를 통해서 업로드한다. 호스트에는 자신의 EVE-ng IP, 사용자명은 root, 비밀번호는 자신이 설정한 비밀번호, 포트번호는 22번을 눌러서 연결한다.

2. EVE-ng 폴더 창에서 /opt/unetlab/addons/iol/bin으로 접속하여 IOU/IOL Image, 그리고 IOU License 발급 파일을 올려준다.

현재 EVE-ng에서 지원하는 IOU/IOL 버전은 2가지이며, 아래의 사이트에서 확인이 가능하다. 본 게시글에서는 L2 Type의 IOU/IOL 버전을 사용한다. 

3. IOU/IOL Image를 업로드 한 후 EVE-ng VM 또는 터미널 프로그램을 이용하여 EVE-ng에 CLI 환경으로 접속한다. 본 게시글은 PuTTY를 이용한다.

4. 접속 후 아래와 같이 명령어 2줄을 순서대로 입력해준다.[각주:3]

1. cd /opt/unetlab/addons/iol/bin : IOU/IOL Image를 업로드 한 폴더로 들어간다.

2. /opt/unetlab/wrappers/unl_wrapper -a fixpermissions : 권한을 고쳐주는 작업을 진행한다.

5. 여기서부터 IOU 장비를 사용하기 위한 가장 중요한 단계가 남아있다.

IOU 장비는 IOS 장비와 다르게 특정한 License가 필요하다. 이 License가 없으면 IOU 장비를 사용할 수 없다. 위에서 FTP로 업로드한 IOU/IOL License 발급 파일을 사용하여 python3 License.py 명령어를 통해 IOL/IOU License를 발급해준다.[각주:4]

#!/usr/bin/python

import os
import socket
import hashlib
import struct

hostid = os.popen("hostid").read().strip()
hostname = socket.gethostname()
ioukey = int(hostid, 16)

for x in hostname:
    ioukey = ioukey + ord(x)

print("hostid=" + hostid + ", hostname=" + hostname + ", ioukey=" + hex(ioukey)[2: ])

iouPad1 = b'\x4B\x58\x21\x81\x56\x7B\x0D\xF3\x21\x43\x9B\x7E\xAC\x1D\xE6\x8A'
iouPad2 = b'\x80' + 39 * b'\0'

md5input = iouPad1 + iouPad2 + struct.pack('!i', ioukey) + iouPad1
iouLicense = hashlib.md5(md5input).hexdigest()[: 16]

print("[license]\n" + hostname + " = " + iouLicense + ";\n")

5. 발급된 License를 iourc라는 파일을 생성하여 입력해줘야 한다. nano 에디터를 통하여 nano iourc 명령어를 통해 iourc 파일을 생성한다.[각주:5]

6. iourc 파일 생성과 동시에 nano 에디터가 실행된다. 발급받은 License를 입력[각주:6]'Ctrl + X' 키를 누른다.

7. Y를 입력하여 파일을 Save(저장)한다.

8. File name을 묻는 단계이다. nano iourc 명령어를 사용했으므로 자동으로 iourc가 기입되어 있다. Enter 키를 누른다.

9. 생성이 완료되며 nano 에디터가 종료된다.[각주:7]

10. 브라우저를 통해 EVE-ng에 접속한다. 기본 설정되어있는 ID와 Password는 admin, eve이다.

접속 후 왼쪽 상단의 두 번째 아이콘인 'Add new lab'을 클릭하여 새로운 Lab을 구성한다.

11. Lab의 이름, 저자, 설명을 적은 후 Save를 눌러서 저장한다.

12. 새로운 Lab이 생성되고 나면 왼쪽 상단의 + 버튼을 눌러서 Add an object -> Node를 눌러 새로운 Node를 추가한다.

IOL을 검색하면 자신이 설치한 버전의 IOL이 파란색 글씨로 활성화 되어있다.

13. 활성화 된 IOS를 클릭하면 아래와 같이 Node의 세부 설정을 할 수 있다.

우리는 L2 Type의 IOU/IOL을 추가했기 때문에 Name/prefix를 SW(Switch)로, Icon을 Switch.png로 바꿔주고 'Save' 버튼을 눌러 저장한다.[각주:8]

14. 왼쪽 위에 추가한 IOU/IOL 장비가 뜨면서 동시에 오른쪽 위에 Notifications과 함께 자동으로 Lab이 저장된다.









15. 추가된 IOU/IOL 장비에 마우스 오른쪽 버튼을 눌러 'Start' 버튼을 클릭하여 IOU/IOL을 실행한다.

16. IOU/IOL 장비가 실행되면 오른쪽 위의 Notifications에 started라는 문구와 함께 장비의 색깔이 파란색으로, ■아이콘에서 ▶아이콘으로 변하는 것을 확인할 수 있다.

17. 실행된 IOU/IOL 장비를 더블클릭하면 SSH Client를 여시겠습니까? 라는 앱 알림창이 뜬다. 'SSH~ client 열기' 버튼을 누른다.[각주:9][각주:10]

19. 정상적으로 부팅된 IOU/IOL 장비를 확인할 수 있다.


EVE-NG IOS의 설치 방법과 딱 하나, 라이센스 등록 차이밖에 나지 않습니다.

위에서 추가하지 않은 다른 타입(L3 등)의 IOU/IOL 장비도 위와 같이 추가해주시면 됩니다.


IOU 파일은 Cisco社에 저작권이 있습니다.


  1. 보통은 IOU로 부르며, 일반적으로 IOL도 지칭한다. 이 게시글에서는 IOU/IOL 둘 다 사용한다. [본문으로]
  2. 'Ctrl + R' 후 뜨는 실행 창에 winver을 입력하여 자신의 Windows 10 버전을 확인할 수 있다. [본문으로]
  3. IOU/IOL은 IOS와 달리 image로 변환할 필요가 없어, IOU/IOL Image 업로드 폴더에 접속하여 바로 권한만 고쳐주면 이미지를 사용할 수 있다. [본문으로]
  4. Licence를 발급할 때는 처음에 EVE-ng를 설정할 때 설정한 hostname과 자등으로 설정된 hostid, 그리고 ioukey를 가지고 License를 발급하게 된다. 고로 [license] 아래에 사진과 똑같이 나오지 않으므로 단계에 따라서 잘 따라오면 된다. [본문으로]
  5. 본 게시글에서는 nano 에디터를 통하여 iourc 파일을 만들지만 nano가 아닌 vi 에디터를 이용해도 좋다. 또한 발급된 License 파일을 메모장 또는 다른 편집 프로그램을 이용하여 만든 뒤 FTP를 이용하여 위에서 접속한 /opt/unetlab/addons/iol/bin 폴더에 넣어도 된다. 단 chomd와 chown을 통하여 파일의 권한과 사용자를 변경해줘야 한다. [본문으로]
  6. 라이센스를 잘 못 입력하여 IOU가 실행되지 않는 경우가 발생한다. 두 번, 세 번 확인하여 정확하게 입력한다. [본문으로]
  7. ls 명령어를 통하여 파일이 정확하게 생성됐는지 확인해볼 수 있다. 또한 cat iourc 명령어를 통해서도 확인할 수 있다. [본문으로]
  8. Switch이기 때문에 Ethernet Portgroups는 1당 4개씩 부여되기 때문에 4 또는 자신이 필요한 개수를 생각하여 추가하면 된다. [본문으로]
  9. 블로그의 EVE-ng IOS 게시글과는 다르게 '앱 선택 알림창'이 아닌 SSH Client 알림 창이 뜬다. 이유는 IOS 게시글 18번에서 '항상 이 앱 사용' 에 체크를 했기 때문이다. 만약 본인이 IOS를 추가하지 않고 바로 IOU/IOL을 추가한다면 IOS 게시글처럼 똑같이 '앱 선택 열기' 해서 본인이 선택하고 싶은 터미널 프로그램을 선택하면 된다. [본문으로]
  10. 왼쪽 맨 하단에 보면 telnet:// 으로 시작하는 주소와(telnet://192.168.64.131) 포트 번호(:32769)가 보이는 것을 확인할 수 있다. 이 주소를 통하여 더블 클릭이 아닌 다른 터미널 프로그램을 통하여 IOS 장비를 설정할 수 있다. [본문으로]
반응형