Create a VirtualBox Arista vEOS image from the command line


Warning: array_keys() expects parameter 1 to be array, null given in /home/netwo107/public_html/thenetworksherpa.com/wp-content/plugins/wp-syntax/geshi/geshi.php on line 2039

Warning: Invalid argument supplied for foreach() in /home/netwo107/public_html/thenetworksherpa.com/wp-content/plugins/wp-syntax/geshi/geshi.php on line 2039

Warning: Invalid argument supplied for foreach() in /home/netwo107/public_html/thenetworksherpa.com/wp-content/plugins/wp-syntax/geshi/geshi.php on line 2411

Warning: implode(): Argument must be an array in /home/netwo107/public_html/thenetworksherpa.com/wp-content/plugins/wp-syntax/geshi/geshi.php on line 3365

Warning: array_keys() expects parameter 1 to be array, null given in /home/netwo107/public_html/thenetworksherpa.com/wp-content/plugins/wp-syntax/geshi/geshi.php on line 3388

Warning: Invalid argument supplied for foreach() in /home/netwo107/public_html/thenetworksherpa.com/wp-content/plugins/wp-syntax/geshi/geshi.php on line 3388

Warning: Invalid argument supplied for foreach() in /home/netwo107/public_html/thenetworksherpa.com/wp-content/plugins/wp-syntax/geshi/geshi.php on line 3429

Warning: array_keys() expects parameter 1 to be array, null given in /home/netwo107/public_html/thenetworksherpa.com/wp-content/plugins/wp-syntax/geshi/geshi.php on line 3481

Warning: Invalid argument supplied for foreach() in /home/netwo107/public_html/thenetworksherpa.com/wp-content/plugins/wp-syntax/geshi/geshi.php on line 3481

Warning: array_keys() expects parameter 1 to be array, null given in /home/netwo107/public_html/thenetworksherpa.com/wp-content/plugins/wp-syntax/geshi/geshi.php on line 3626

Warning: Invalid argument supplied for foreach() in /home/netwo107/public_html/thenetworksherpa.com/wp-content/plugins/wp-syntax/geshi/geshi.php on line 3626

Warning: array_keys() expects parameter 1 to be array, null given in /home/netwo107/public_html/thenetworksherpa.com/wp-content/plugins/wp-syntax/geshi/geshi.php on line 2039

Warning: Invalid argument supplied for foreach() in /home/netwo107/public_html/thenetworksherpa.com/wp-content/plugins/wp-syntax/geshi/geshi.php on line 2039

Warning: Invalid argument supplied for foreach() in /home/netwo107/public_html/thenetworksherpa.com/wp-content/plugins/wp-syntax/geshi/geshi.php on line 2411

Warning: implode(): Argument must be an array in /home/netwo107/public_html/thenetworksherpa.com/wp-content/plugins/wp-syntax/geshi/geshi.php on line 3365

Warning: array_keys() expects parameter 1 to be array, null given in /home/netwo107/public_html/thenetworksherpa.com/wp-content/plugins/wp-syntax/geshi/geshi.php on line 3388

Warning: Invalid argument supplied for foreach() in /home/netwo107/public_html/thenetworksherpa.com/wp-content/plugins/wp-syntax/geshi/geshi.php on line 3388

Warning: Invalid argument supplied for foreach() in /home/netwo107/public_html/thenetworksherpa.com/wp-content/plugins/wp-syntax/geshi/geshi.php on line 3429

Warning: array_keys() expects parameter 1 to be array, null given in /home/netwo107/public_html/thenetworksherpa.com/wp-content/plugins/wp-syntax/geshi/geshi.php on line 3481

Warning: Invalid argument supplied for foreach() in /home/netwo107/public_html/thenetworksherpa.com/wp-content/plugins/wp-syntax/geshi/geshi.php on line 3481

Warning: array_keys() expects parameter 1 to be array, null given in /home/netwo107/public_html/thenetworksherpa.com/wp-content/plugins/wp-syntax/geshi/geshi.php on line 3626

Warning: Invalid argument supplied for foreach() in /home/netwo107/public_html/thenetworksherpa.com/wp-content/plugins/wp-syntax/geshi/geshi.php on line 3626

Virtualbox_Arista_Logos-whtbkI’ve wanted to check out Arista EOS for a while, but didn’t have access to the hardware. I recently learned that Arista had made EOS available as a virtual machine. Arista call this vEOS. By installing the free VirtualBox hypervisor I could get vEOS running on my MacBook. It sounded a bit too easy, but to be fair the process is really well documented.

Before I go further I should say that I obtained my copy of vEOS from my local Arista SE. I don’t know of any formal way to get a copy but I’d be very surprised if Arista couldn’t provide one through your local sales team (read, don’t ask me to supply a copy). Once I obtained the bootloader iso and veos.vmdk image files I was ready to go.

I used this blog post from Gary A. Donahue to guide me through the process. This really is an excellent and detailed tutorial. Gary does a great job here and guides you through the setup of an Ubuntu management server. The addition of the Ubuntu box is a nice touch and gives you a holistic view of a real network. I added LLDP to Ubuntu to help troubleshooting an issue of a badly mapped NIC.

1
2
3
4
5
sudo apt-get install lldpd
    # install the LLDP daemon
 
lldpctl
    # The equivalent to 'show lldp neighbors' (hopefully shows an EOS box!)

You need to create a new VM for each vEOS based switch in your topology, and you interconnect them by placing the vNICs from different VMs on common VirtualBox LAN segments. I’m not a VmWare user and this was my first time using VirtualBox, so I loved the simplicity of the GUI.  The recommended VM memory allocation is 1G of RAM, so I took the precaution of upgrading my MacBook’s 4GB of RAM to 8GB. This cost me the princely sum of $65 on Amazon.com.

But cloning VMS and adding different NICS to different segments manually can be a little error prone. With a quick bit of digging I found that I already had access to the virtualbox commands from the shell on my Macbook. With the help of the interwebs I gleaned enough information to build a new vEOS VM from the command line.

The code sample below doesn’t replicate Gary’s full lab, but provides you the commands to create a single vEOS router named RTR1, with a single NIC. Once you enter these at the shell, the RTR1 image should appear in your VirtualBox left-hand menu.

1
2
3
4
5
6
7
8
9
10
11
12
 
vboxmanage createvm --name RTR1 --ostype Fedora_64 --register
VBoxManage modifyvm RTR1 --memory 1024
VBoxManage modifyvm RTR1 --nic1 intnet
VBoxManage modifyvm RTR1 --intnet1 Mgmt1
VBoxManage modifyvm RTR1 --nicpromisc1 allow-vms
VBoxManage modifyvm RTR1 --cableconnected1 on
VBoxManage storagectl RTR1 --name "IDE Controller" --add ide
VBoxManage storageattach RTR1 --storagectl "IDE Controller" --port 0 --device 0\
--type hdd --medium /Users/sherpa/VirtualBox/vEOS.vmdk
VBoxManage storageattach RTR1 --storagectl "IDE Controller" --port 1 --device 0\
--type dvddrive --medium /Users/sherpa/VirtualBox/Aboot-veos-virtualbox.iso

I intend to use this snippet a basis for templated VM creation and perhaps package up some common lab topologies. I’m enjoying the experience so far. I hope this was a useful nugget. Please let me know what you think in the comments section.

(Visited 1 times, 1 visits today)

5 thoughts on “Create a VirtualBox Arista vEOS image from the command line

  1. Pingback: Running vEOS in GNS3 - The Network Sherpa

  2. Pingback: Running vEOS in GNS3 | IPv6 Freely

Leave a Reply

Your email address will not be published. Required fields are marked *