Hyper-V에 EVE-NG 설치하기

지난 포스팅에서 AOS-CX 시뮬레이터를 소개한 바 있습니다.
AOS-CX 시뮬레이터는 EVE-NG나 GNS3와 같은 에뮬레이터를 통해서 동작이 가능한데요. 오늘은 그 중에서도 EVE-NG를 이용한 설치를 알아보고자 합니다.

EVE-NG는 아주 강력한 네트워크 가상화 에뮬레이터로 다양한 제조사의 네트워크 장비를 실제 장비처럼 사용해볼 수 있다는 장점을 갖고 있습니다. 좀 더 자세한 내용은 eve-ng 홈페이지에서 확인 가능합니다.

EVE-NG 홈페이지에서 설치 관련 문서를 살펴보면 다양한 환경에서 설치가 가능한 것을 확인할 수 있습니다.
하지만, 아쉽게도 Windows 10 Professional이나 Windows Server에서 기본적으로 제공하는 Hyper-V는 공식적으로 지원하지 않는 것으로 나옵니다.

그래서 오늘, VMware나 ESX와 같은 하이퍼바이저가 아닌 Windows Hyper-V를 이용한 EVE-NG 설치 방법을 알려드리겠습니다.

1. 사전 요구사항 확인

노트북이나 PC, 서버에 Hyper-V 서비스가 정상적으로 설치되고 있다는 전제하에 진행합니다.
Hyper-V에 대해서 잘 모르거나, 설치 및 구성 방법이 궁금하다면, 아래 Microsoft 공식 사이트를 참고 바랍니다.
https://docs.microsoft.com/ko-kr/virtualization/hyper-v-on-windows/

EVE-NG를 설치하고 운영하기 위한 사양이 적절한지도 확인해봐야 합니다.
아래 링크를 통해서 사양을 확인해보시기 바랍니다.
– http://www.eve-ng.net/documentation/installation/system-requirement

2. Ubuntu(우분투) 설치

Ubuntu 18 버전은 지원하지 않기 때문에 Ubuntu 사이트에서 Ubuntu 16.04 LTS의 ISO 파일을 다운 받습니다. 데스크톱 버전보다는 서버 이미지를 추천합니다.
http://releases.ubuntu.com/16.04/

  • 이제 Hyper-V에 새로운 VM을 생성합니다.
  • VM 생성
    • 이름: EVE-NG
    • 세대: 2세대
    • 메모리: 최소 8GB 이상 권장 (동적 메모리 활성화)
    • 네트워킹: 인터넷에 연결되는 vSwitch 선택 (반드시 인터넷과 연결되어야 함)
    • 하드디스크: 신규 가상 하드디스크 선택. (용량은 적절하게 선택 – 나중에 조절 가능)
    • 설치 이미지: 다운로드 받은 Ubuntu 16.04 LTS 이미지 파일 (ISO) 선택
  • VM이 생성되면, 오른쪽 클릭하여 설정으로 이동하여 Secure Boot 비활성화
  • 가상 CPU 프로세서 숫자 변경 – PC 사양에 따라 알맞게 조정
  • 네트워크 어댑터의 MAC 주소 스푸핑 활성화 (네트워크 어댑터 → 고급 기능)
  • 설정 저장 후 VM 실행
  • Ubuntu 설치 옵션
    • Language(언어): 영어
    • Location: Korea
    • Configure Keyboard: 알맞은 키보드 선택
    • Configure Network: DHCP 선택 또는 알맞은 네트워크 주소 입력
    • Hostname: eve-ng
    • Domain Name: 아무거나 작성. (예: aruba.local 또는 example.com)
    • Full Name of User: 원하는 User Name 생성
    • Encrypt your home directory? NO
    • Configure Clock: 제대로 된 Timezone인지 확인 (Asia/Seoul)
    • Partitioning Method: use entire disk and setup LVM 선택
    • Select disk to partition: Disk가 하나밖에 없기 때문에 <Continue> 선택
    • Write the changes to disk and configure LVM? YES
    • Amount of volume: 디스크 전체 사이즈 자동 선택
    • Force UEFI Installation? YES
    • Write the changes to disk? YES
    • HTTP proxy information: 프록시가 없다면 빈칸으로 놔두고 <Continue> 선택
    • Configure Task: Install security updates automatically 선택
    • Software Selection: *중요* OpenSSH Server 선택 (스페이스바로 선택)
    • Reboot

3. EVE-NG 설치 사전 작업

재부팅 이후에는 앞서 생성한 UserName과 Password로 로그인 합니다.

Ubuntu 16.04.7 LTS eve-ng tty1

eve-ng login: <Username>
Password: <Password>

Welcome to Ubuntu 16.04.7 LTS (GNU/Linux 4.4.0-186-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

109 packages can be updated
78 updates are security updates
        ........
-------   생략  -------
        ........
To run a command as administrator (user "root"), use "sudo <command>".
See "man sudo_root" for details.

aruba@eve-ng:~$ 

root 계정으로 로그인 합니다.

<Username>@eve-ng:~$ sudo su
[sudo] password for <Username>: <Password>
root@eve-ng:~#

root 계정의 패스워드를 변경합니다.

root@eve-ng:~# sudo passwd root
Enter new UNIX password: eve
Retype new UNIX password: eve
passwd: password updated successfully
root@eve-ng:~#

VI 편집기를 통해 host 파일을 변경합니다.

root@eve-ng:~# vi /etc/hosts

127.0.0.1       localhost
127.0.1.1       eve-ng.example.com      eve-ng

root 계정으로 SSH 로그인 할 수 있도록 설정 (Optional)

root@eve-ng:~# vi /etc/ssh/sshd_config

Change:
PermitRootLogin prohibit-password
To:
PermitRootLogin yes

SSH 서비스 재시작

root@eve-ng:~# service ssh restart

4. EVE-NG 설치

EVE-NG를 설치하기에 앞서 인터넷 연결이 잘 되는지 확인이 필요합니다. Ping 명령어를 통해 외부 인터넷과 통신이 되는지 확인합니다.

root@eve-ng:~# ping google.com
PING google.com (172.217.161.46) 56(84) bytes of data.
64 bytes from nrt12s23-in-f14.1e100.net (172.217.161.46): icmp_seq=1 ttl=111 time=59.1 ms
64 bytes from nrt12s23-in-f14.1e100.net (172.217.161.46): icmp_seq=2 ttl=111 time=59.3 ms
64 bytes from nrt12s23-in-f14.1e100.net (172.217.161.46): icmp_seq=3 ttl=111 time=60.3 ms
^C

이제 설치를 위해 root 계정으로 로그인 되었는지 다시 확인하고 아래와 같이 입력합니다.

root@eve-ng:~# wget -O - http://www.eve-ng.net/repo/install-eve.sh | bash -i

그럼 자동 스크립트에 의해 파일 다운로드 및 설치가 진행됩니다.

설치가 완료되면 reboot 명령어와 함께 재부팅을 실시합니다. 재부팅 완료 후에 아래와 같은 경고를 확인할 수 있는데, 이것은 뒤에서 해결하겠습니다.

WARNING: neither Intel VT-x or AMD-V found

부팅이 완료되고, root 계정으로 로그인 하면.. 아래와 같이 eve-ng 구성 관련 화면이 나오게 됩니다.

이와 관련 설정 방법은.. 아래 URL을 통해서 진행하시면 됩니다.
https://www.eve-ng.net/index.php/documentation/installation/howto-configure-eve-during-first-boot/

설정이 완료되면 자동으로 재부팅이 됩니다.
재부팅 완료 후에, 패키지를 최신 버전으로 업데이트 하고 종료합니다.

root@eve-ng:~# apt-get update
(... 생략 ...)
root@eve-ng:~# apt-get upgrade
(... 생략 ...)
root@eve-ng:~# shutdown now

이제 아까 WARNING 메시지에 대해 해결해야 합니다.
Hyper-V라는 하이퍼바이저 위에 또 다른 가상 에뮬레이터인 EVE-NG가 동작하다 보니 생기는 메시지입니다.
nested virtualization 설정을 통해 해결하면 됩니다.

PowerShell을 관리자 권한으로 실행합니다.
생성한 VM의 이름을 “EVE-NG”라고 작성했다는 가정하에 아래와 같이 입력합니다.

> Set-VMProcessor -VMName "EVE-NG" -ExposeVirtualizationExtensions $True

VM을 다시 시작하게 되면 더 이상 “WARNING: neither Intel VT-x or AMD-V found“의 메시지가 나오지 않을 것입니다.

VM 부팅이 완료되면 설정한 IP주소로 브라우저에 입력하면 정상적으로 로그인 화면이 나올 것입니다.

  • Username: admin
  • Password: eve

드디어 EVE-NG 설치가 완료되었습니다. 다음 포스팅에서는 이미지를 추가해서 Lab을 구성해보도록 하겠습니다.