Lately I wanted to get a feeling how F5 BIG-IP works, you know, just to get familiar with its interfaces, rules and being capable of setting up a basic LTM or APM. Far from me the idea of becoming an expert on the first touch, but it’s nice to discover new technologies.
Beside getting the F5 BIG-IP VE (Virtual Edition), running up VMware (ESXi, Player, Fusion or Workstation) and starting the virtual machine I also wanted to emulate some kind of real environment to test. So, I did build the below topology in GNS3:
Some explanation:
- Client WIN7 is a VM in VirtualBox and integrated in GNS3
- WWW Servers are VMs in VirtualBox and integrated in GNS3
- WIN2008 AD DC is a VM in VirtualBox and integrated in GNS3
- Routers are emulated in GNS3
- F5 BIG-IP VE is a VM in VMware Workstation and integrated as a Cloud in GNS3
GNS3 is version 1.2.1 which works perfect. Why VirtualBox and VMware Workstation? Usually I have no problem to have my VMs in VirtualBox, but I could not successfully import the F5 BIG-IP VE OVA image in VirtualBox. I had to download a trial version of VMware Workstation to install the OVA image.
Download the BIG-IP VE OVA image, get a trial license (valid for 90 days) and install it in VMware Workstation. It may work with other VMware products, but in this article I’m using only VMware Workstation.
The part that gave me some headache was the how to have a successfully network communication between VMware Workstation and GNS3.
Before GNS3 1.2.1, when I had to use a “cloud” to integrate VirtualBox VMs in GNS3, I was configuring a TAP interface and use Bridge mode for the VM NIC to the TAP interface. Then on the GNS3 Cloud, I was adding the TAP as a Generic Ethernet NIO on the NIO Ethernet. If you want to refresh more deeply the above information please read my article about How to integrate GNS3 with VirtualBox.
Unfortunately, in VMware Workstation, I cannot just bridge a VMnet interface to a TAP and use that specific VMnet in a VM. I just could not make it work.
To cut it short, here are the steps that I had to follow to have this working. I assume that you have VMware Workstation installed already. Another detail is that I’m using Ubuntu 14.04 to test the entire scenario.
1. Add two VMnet interfaces in VMware Workstation Virtual Network Editor
Use the image below to have an idea what I mean.
2. Configure the BIG-IP VE NIC as follow in VMware Workstation
I assume that you have the BIG-IP VE OVA imported in VMware Workstation
I had 4 NICs originally, but I only need three:
- VMnet0 is bridge to my real LAN interface so I can manage the F5 BIG-IP VE over Web / CLI interfaces
- VMnet11 – one “internal” interface facing LAN (server side)
- VMnet22 – one “external” interface facing WAN (client side)
3. Configure two tap interfaces for F5 BIG-IP VE to be used in GNS3
11 – internal, 22 – external
*user = the non-root user which you use on Ubuntu host.
If you are having problems to find tunctl command please do the following:
Bring the interfaces up
4. Remove the IP addresses on both TAP and VMnet interfaces
5. Bridge the TAP and the VMnet interfaces
Bring the bridge interfaces up
5. Add the F5 BIG-IP VE to GNS3
If with GNS3 1.2.1 you can add the VirtualBox VMs directly, for the VMware Workstation (Player, Fusion, etc…) VMs you still need to you the Cloud part.
My GNS3 for F5 topology looks like this:
And the GNS3 Cloud (representing the F5 BIG-IP VE) settings are the following:
6. Connect the GNS3 Cloud interfaces to R1 and R2
Like shown in the image above, connect the TAP interface of the Cloud to the peer routers.
I’m running all applications (GNS3, VMware Workstation, VirtualBox) as non-root user. If you’re doing the same an error may occur in GNS3. Something like:
Server error [-3200] from x.x.x.x:8000: R1: unable to create TAP NIO
If this is the case, please run the following command on Ubuntu host: