LAST UPDATED ON 4/20/2022
What the heck is "Bare Metal", anyways?
Bare metal refers running software directly on computer hardware. In a server application, we need to make a distinction between applications are installed directly onto the server and those that are installed on a hypervisor.
So.. what is "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 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 18.04 Server
Why I prefer Method #2..
I have had varying degrees of success using the Installer from the EVE-NG website. I have been unable to document these, so please message me your examples if you have any problems with the installation that way.
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 18.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 18.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.
sudo su
enter sudo password:
passwd root
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:
nano /etc/ssh/sshd_config
Once inside the Nano text editor, add the following lines, or uncomment them if they are there already:
PermitRootLogin yes
PasswordAuthentication yes
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
OR TRY
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 on top of Ubuntu 18.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:
STEP #1 - Install Ubuntu 18.04 Server LTS
First we need to download Ubuntu 18.04 Server from the link below:
Next, we need to install our Ubuntu 18.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 18.04 packages.
apt update -y
apt upgrade -y
reboot
STEP #2 - Download the eve-pro 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/repo-bionic/install-eve-pro.sh >> install-eve-pro.sh
chmod u+x install-eve-pro.sh
./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
reboot
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.
dc images
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.
Afterward
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.
Happy Labbing!
T