Tutorial — EVE-NG deployment on VMware (Linux)

EVE-NG is nice… but on Linux even more!

s0rtino
6 min readMar 7, 2021

What is Eve-NG?

Eve-ng logo

From the Project page:

“EVE-NG PRO is the first clientless multivendor network emulation software that empowers network and security professionals with huge opportunities in the networking world. Clientless management options will allow EVE-NG PRO to be the best choice for Enterprise engineers without the influence of corporate security policies as it can be run in a completely isolated environment.”

From my point of view: it is a great way to do lab and staging configuration of network infrastructure… before damaging the production.

It supports many different OS from host, server, and network appliances vendor, the complete list is available here.

Requirements

  • Intel CPU VT-x/EPT
  • One of the following:
  • Ubuntu Xenial Xerus 16.04.X LTS 64bit for EVE Community Only.
  • Ubuntu Bionic Beaver 18.04.X LTS 64bit for EVE-PRO Only
  • VMware ESXi 6.0 or later
  • VMware Workstation 14.0 or later
  • VMware Fusion 8 or later
  • VMware Player 14.0 or later
  • Google Cloud Platform VM
  • AMD Ryzen 3900, Epyc or newer series. Older series AMD can have issues
  • Note: EVE-NG can still work without Intel VT processors and can run installed within other hypervisors also but, 64 bits (x86_64) appliances won’t work, and you may experience poor performances with 32 bits (i386) appliances.

Required CPU and RAM depend on how many nodes are needed to run. 4 vCPU and 6GB of RAM can be enough for IOU/IOL and Dynamips only, but will be insufficient for topology with CSR1000V routers.

Procedure

The first thing to do is the .iso download, easily available on the EVE website. For this tutorial, I am going to use the Free Community Edition, but the procedure is the same for both versions. The only difference is an additional step for the PRO version (where you have to provide a valid license).

Download eve-ng ISO
Download iso image from the official site only!

After that, start your VMware application (in my case VMware Pro 16) and set up a new machine. For the success of the procedure, you need to install the OS later (select the option) and define the new OS as — Linux, Ubuntu 64-bit.

Setting up ISO EVE-NG
Remember: install the “operating system later”
Configuration OS VMWare
Linux — Ubuntu 64-bit

After defining some name for the machine and the logical location on your system, define disk settings. In many production situations, it is recommended several hundred GigaBytes of storage, but for little labs on a laptop, I use just 40 GB. In the case of more expensive needs, you can easily upgrade later.

Select max disk size
Just 40 GB… For now

Before press the “Finish button”, it is better to review “Hardware settings”, and make some changes to avoid possible issues during installations. These hardware changes involve:

  • Memory: Aka “Dedicated RAM”. I suggest putting as much RAM you can without affecting your system. In my case, I feel confident with a value between 16–24 GB, to have enough room for my system (depending on the specific day use, but generally between 2–8) + some spare GB for additional Virtual Machine and just safety gap.
  • CPU number: Instead of RAM’s “More is better”, here is better don’t overeat. If the system will perform too much slow during simulation, you could increase. On my system, I will set 2 Cores with 2 threads. If it is possible, flag the option virtualize Intel VT-x/EPT or AMD-V/RVI . If your VMWare doesn’t allow that, move on for the moment, you will be able to set up after the VM creation via VM → settings. In case you don’t know how much your system can manage, use lscpu for example:

└──╼ $lscpu

Architecture: x86_64

CPU op-mode(s): 32-bit, 64-bit

Byte Order: Little Endian

Address sizes: 39 bits physical, 48 bits virtual

CPU(s): 8

On-line CPU(s) list: 0–7

Thread(s) per core: 2

Core(s) per socket: 4

Socket(s): 1

NUMA node(s): 1

Vendor ID: GenuineIntel

CPU family: 6

Model: 158

Model name: Intel(R) Core(TM) i5–9300H CPU @ 2.40GHz

Stepping: 10

CPU MHz: 900.047

CPU max MHz: 4100.0000

CPU min MHz: 800.0000

BogoMIPS: 4800.00

Virtualization: VT-x

L1d cache: 128 KiB

L1i cache: 128 KiB

L2 cache: 1 MiB

L3 cache: 8 MiB

NUMA node0 CPU(s): 0–7

  • CD\DVD: (IMPORTANT) Define the ISO Image and be sure the device will connect at power on
  • Network: If you are on portable you can use nat or isolated local Vnet (you can easily use NAT, but I suggest to do manually, to have better control on IP addressing). In my example, I set up a custom Vmnet (#8) that is defined as NAT LAN via Virtual Network Editor
Connect ISO at power on
Pick up your iso image and flag “Connect at power on”
Example of virtual network settings
My virtual network settings

All these settings could seem quite greedy, but EVE runs virtualization on top of it (yes… that’s virtualization-inception) therefore keep it cool!

Now we can move on to the OS installation and after that, EVE deployment. Before moving, just recheck your settings (you should have something similar):

In this tutorial, I will skip some settings like installation language and typical Linux-based OS deployment, but I suggest to don’t overlook these things:

  • Type of EVE installation: if you are using your laptop\just for a personal lab, chose EVE VM instead of Bare Metal
  • Type of HTTP Proxy: leave empty in case you are on your system. In the case of the enterprise environment, you could need to set up it accordingly to the business proxy.
  • Updates: choose to Install security updates automatically

Here, there is one of the trickiest parts of the EVE-NG deployment. Even if it says installation complete that’s not true. The installation of Ubuntu that will host EVE is finished, but EVE “itself” is deployed.

To manage this, you have to force the CD\DVD device connection (VM →settings → CD\DVD and flag both options below Device Status). Only after this change you can press continue on ubuntu prompt

Force the connection of ISO Image
Force the connection of ISO Image

After reboot you could have several minutes of messages on screen: that’s automatic eve installation (done via the cd forced before). When it is finished you have a login prompt, use the credentials root:eve (username:passphrase) as suggested, and during the first login, they will force you to choose a new root password. Don’t worry if it doesn’t prompt any * while typing the password, that’s OK.

CLI Login
Nice Credentials reminder from the prompt

Set up custom stuff like hostname as you prefer, and if you prefer static IP address (not necessary on a NAT Network with DHCP enabled) in case you do static address, be sure you are compliant with the VMnet selected as NAT LAN, and be careful that many times the gateway is not the IP on the virtual card (in my case it is .2 instead of .1). In case of mistakes, you have to modify /etc/network/interfaces.

Little note: be careful to move across options (like setup static IP) via arrows and select with space button, then press enter (otherwise, you should move forward with default option).

Network setup
Network setup

The machine will automatically reboot, and from that point it is usable… But I suggest doing a couple of tests\updates.

Suggested extra activities

First of all, login with the new root credentials, and:

  • Check internet connection and DNS: ping www.google.com
  • Update and upgrade system: apt-get update and apt-get upgrade -y
  • Shout down and remove CD\DVD device: shutdown -h and from VM → Settings → CD\DVD unflag connect at power on

Now you can reboot your machine and try to reach it via browser (via HTTP, not via HTTPS) at the IP configured in the static way or the Dynamic IP found on the VM terminal. The default credentials are admin:eve

Ready to work with eve-ng
Here we are: the beginning of the new adventure!

--

--

No responses yet