LAST UPDATED ON 7/6/2023
What the heck is "Bare Metal", anyways?
The term "bare metal " refers running computer operating system software directly on computer hardware. In regards to the servers, we need to make a distinction between operating systems are installed directly onto the server hardware or "metal" and those that are installed on top of an operating system. When we virtualize a system on top of another system, we refer to this as a Virtual Machine, which is managed by "Hypervisior" software.
So.. what is a "Hypervisor"?
A Hypervisor is software that can virtualize operating systems and other platforms. There are two types of Hypervisor; Type 1 and Type 2.
A Type 1 Hypervisor is said to be run directly on bare metal, meaning the server itself. For example: Applications like VMWARE ESXi are type 1 hypervisors.
A Type 2 Hypervisor runs on top of an operating system, such as Windows 10. For example: VMWARE Workstation Player or Virtual Box is a type 2 hypervisor.
When we run our application directly on bare metal, we are giving it full access to all the resources of the server. All CPU cores, storage medium, and RAM. There is no software layer between your application and the components of the server, which gives way for far better stability and performance.
Now, depending on the application itself, it may make sense to deploy it on a virtual server built on a hypervisor or containerize it using Docker. However when you are running an application like EVE-NG, which in essence is a hypervisor itself, it is highly recommended to install this directly onto your server for better performance and stability. And better yet, this is the is the reccomended way to install from the creators of EVE-NG.
Also, keep in mind any other other factors come into play for your situation, such as:
Your homelab budget.
Your lab needs (project complexity, number of nodes running, et cetera).
Since I want the utmost performance that I can achieve using the server that I have purchased, I have decided to install the EvE-NG directly onto the server, with no software layer or hypervisor required.
There are two methods that you can use:
Using the EVE-NG Pro ISO File.
Installing manually on top of Ubuntu 20.04 Server
Why I prefer Method #2..
This install will work for any Ubuntu 20.04 Server, be it bare metal, or cloud based.
I have had varying degrees of success using the Installer from the EVE-NG website in the past although, this seems to be working well for EVE-NG 5.X. For most people, the ISO should work just fine, if it doesn't, continue on..
My preference and how recommend to others on how to get it setup is to follow the workflow proposed in Method #2, to install Ubuntu Server 20.04 first, then to install EVE-NG pro from the repository, add the dockers functionality and configure the basic EVE settings. It is my tried and tested install method and results in a stable server running EVE-NG Professional without any issue.
Some problems I have seen: Cloud adapters do not appear under 'network' when you try to add a cloud adapter into a topology (to bridge your physical and virtual topologies), re-installation fixed this.
Install isn't successful, Ubuntu is up and you can login, but no EVE-NG splash page appears on boot, and you cannot browse to the EVE-NG Gui.
Method 1 - Install using EVE-NG PRO Official ISO Installer
The first step is to download the following EvE-Pro image file. Once this file is downloaded, you'll need a USB drive with at least 4 GB of memory.
Next, you will need software than can write the .iso file onto the USB thumb drive. I suggest using Etcher.
When the USB drive is prepared, insert it into an available USB port on your target machine.
NOTE: You may need to enter the system bios and enable booting from USB.
Next boot your system, follow the prompts to install EVE PRO on Bare Metal.
Once the installation is complete you can remove the USB drive and log into the CLI of your new Ubuntu 20.04 server installation.
Now login using the account you created during the install. Once logged in, run the following commands to change the root password.
enter sudo password:
Enter the new root account password, confirm it and you have successfully reset the root account password. From here, be sure to use the root account for all the upcoming installation steps.
To enable SSH access using the root account, you need to edit the SSH configuration file. You can do this be entering the following command:
Once inside the Nano text editor, add the following lines, or uncomment them if they are there already:
To save your changes use ctrl+o, then use ctrl+x to exit the editor. Once this is saved, restart the SSH service with the following command:
service ssh restart
systemctl restart sshd.service
You should now have EVE-PRO fully installed.
You may have success using Method #1, but if you don't, use Method #2 to install EVE-NG Pro manually, from scratch.
Method 2 - Install EVE-NG PRO 5.X on top of Ubuntu 20.04 Server
For me, this method is preferred. I've had a lot of success following the steps below. Following these steps should result in a fully functional working and stable server install on bare metal. I have also had success following these steps on VMWARE workstation player as a VM, your mileage may vary.
To see the entire process, watch this video: <VIDEO IS TBD>
STEP #1 - Install Ubuntu 20.04 Server LTS
First we need to download Ubuntu 20.04 Server from the link below:
Next, we need to install our Ubuntu 20.04 server, during the install wizard, be sure to install open-ssh! Once the installation is complete, follow the steps mentioned in Method #2 to allow root login, and ensure configure the SSH config file.
Before we proceed, ensure, update and upgrade Ubuntu 20.04 packages.
apt update -y
apt upgrade -y
STEP #2 - Download the eve-pro 5.X install script and execute it
Login as root and continue the following steps.
Download and run an install script install-eve-pro.sh found in the eve-ng.net repository using the wget command.
As the root user, run this command to download and execute the install script.
wget -O - http://www.eve-ng.net/focal/install-eve-pro.sh >> install-eve-pro.sh
chmod u+x install-eve-pro.sh
This install will take about 30 minutes. You can monitor the progress as it runs. Once the script is complete, we will update, upgrade and reboot our server yet again.
apt update -y
apt upgrade -y
After the reboot, install EvE Dockers.
apt install eve-ng-dockers -y
EvE-NG uses an alias on the docker command, dc. Check to see the images installed.
You should see several dockers installed:
eve-gui-server, eve-wireshark, eve-firefox, eve-desktop, dockergui-rdp.
NOTE: When you get EVE-PRO installed, a CLI wizard will pop up which asks for the root password, and will setup network parameters.
If you are not logged in as a root user, then you must ctl +c to break out of the wizard, login as root and it should automatically pop back up, if it doesn't reboot and log back in as root directly.
I hope this article helps anyone looking to install EvE-NG Pro on bare metal. This process should also work installing into a VM such as VMWARE Workstation / ESXi or in the cloud, but running EvE on bare metal is the recommended and preferred way to experience the pure awesomeness and raw power of the software.
Also, don't forget to support the creator of this amazing platform and the EVE team by purchasing a PRO License.
Alternatively, try the Community version.