These are the common issues I encountered in setting up UNetLab and how I fixed these issues. I’m sharing this so UNetLab users will benefit from it. I will constantly update this list as I progress.
Issue 1: UNetLab is complaining about – Neither intel VT-X or AMD-V found.
Solution: Find the .vmx file for the UNetLab and add this line at the end.
vhv.enable = "TRUE".
Issue 2: After UNetLab install, running apt-get update and apt-get upgrade won’t update the UNetLab package.
Solution: I had to force update using these commands.
apt-get update apt-get -o Dpkg::Options::="--force-overwrite" install unetlab unetlab-qemu
Issue 3: Image not showing on the UNetLab web interface.
Solution: Should follow folder naming convention.
Below is the reference node in UNetLab, file path is /opt/unetlab/html/includes/init.php.
'a10' => 'A10 vThunder', 'clearpass' => 'Aruba ClearPass', 'timos' => 'Alcatel 7750 SR', 'veos' => 'Arista vEOS', 'brocadevadx' => 'Brocade vADX', 'cpsg' => 'CheckPoint Security Gateway VE', 'acs' => 'Cisco ACS', 'asa' => 'Cisco ASA', 'asav' => 'Cisco ASAv', 'cda' => 'Cisco Context Directory Agent', 'csr1000v' => 'Cisco CSR 1000V', 'cips' => 'Cisco IPS', 'ise' => 'Cisco ISE', 'c1710' => 'Cisco IOS 1710 (Dynamips)', 'c3725' => 'Cisco IOS 3725 (Dynamips)', 'c7200' => 'Cisco IOS 7206VXR (Dynamips)', 'iol' => 'Cisco IOL', 'titanium' => 'Cisco NX-OSv (Titanium)', 'sourcefire' => 'Cisco Sourcefire', 'vios' => 'Cisco vIOS', 'viosl2' => 'Cisco vIOS L2', 'vnam' => 'Cisco vNAM', 'vwlc' => 'Cisco vWLC', //'vwaas' => 'Cisco vWAAS', 'coeus' => 'Cisco Web Security Appliance', 'xrv' => 'Cisco XRv', 'nsvpx' => 'Citrix Netscaler', 'cumulus' => 'Cumulus VX', 'extremexos' => 'ExtremeXOS', 'bigip' => 'F5 BIG-IP LTM VE', 'fortinet' => 'Fortinet FortiGate', 'hpvsr' => 'HP VSR1000', 'olive' => 'Juniper Olive', 'vmx' => 'Juniper vMX', 'vsrx' => 'Juniper vSRX', 'linux' => 'Linux', 'mikrotik' => 'MikroTik RouterOS', 'ostinato' => 'Ostinato', 'paloalto' => 'Palo Alto VM-100 Firewall', 'vyos' => 'VyOS', //'esxi' => 'VMware ESXi', 'win' => 'Windows'
For example, if you are adding a new ASAv image then the folder should start with asav.
Issue 4: How to add users in UNetLab.
Solution:
Install sqlite.
apt-get update apt-get install sqlite
Open the UNetLab sqlite database, file path is /opt/unetlab/data/database.sdb.
sqlite> .open database.sdb sqlite> .databases seq name file --- --------------- ---------------------------------------------------------- 0 main /opt/unetlab/data/database.sdb sqlite> .tables pods users sqlite> INSERT INTO users (username, password) VALUES ("newadmin1","5bb73905f7fc00b2d5510785f625003a95d35f7d8ce423abf7ba3528be43ff2d");
Note that the password string is SHA256 hash. Search over the internet for SHA256 hash generator.
Issue 5: vIOS/ASAv and any other VMs will not start.
Solution: Make sure nested virtualisation is supported otherwise VMs wont start. Refer to solution for issue 1.
Issue 6: IOU/IOL device starts but after few seconds stops. From the wrapper logs, I received these errors.
1:1 ERR: Operation not permitted (5). 1:1 ERR: Operation not permitted (5). 1:1 ERR: Operation not permitted (5). 1:1 ERR: Operation not permitted (5). 1:1 ERR: No such file or directory (2). 1:1 ERR: Cannot open AF_UNIX sockets (2). 1:1 ERR: failed to create AF_UNIX socket file (2). 1:1 ERR: child is no more running.
Solution: Make sure /tmp directory has proper permissions. If not, apply the following commands.
chmod 777 /tmp chmod g+t /tmp