F5 GTM Load Balancing of Virtual Appliances using priority groups

Overview

This article will explain how to configure a F5 Load Balancer running GTM to load balance connections to Umbrella Virtual Appliances. This solutions utilizes priority groups and a health check which monitors DNS connectivity to Virtual Appliances and redirects traffic based on Virtual Appliance availability.

Create a new health check monitor under Local Traffic­ > Monitors­ > New Monitor. Here we are doing a DNS A record lookup for a.root­servers.net, which will hopefully always be 198.41.0.4. In the arguments we specify what we are looking up, “a.root­servers.net”, what type of record, “A”, what we expect it to be, “198.41.0.4” and how long it should take “2” seconds. Feel free to change the lookup address to something that fits your environment or add more health checks if needed

Now we add this health check to our pool. Under Local Traffic­ > Pools ­> “umbrella (or whichever pool you created in Step 1) ­> Properties, change the Health Monitor to our new dns­-monitor-­a.root­servers.net. You can select multiple health monitors as suggested above. You’ll need to go to the advanced tab to select the availability requirement, too. For now, we’ll just keep it basic with a single health monitor.

Create a Virtual Server AND Port for the F5 to listen on. This is the BigIP or Virtual IP that your clients will query. It uses the “umbrella” pool.

Verification

You can verify you are hitting a Virtual Appliance by doing a TXT query for debug.opendns.com.

OSX\Linux - dig txt debug.opendns.com <VIP IP>

Windows - nslookup -type=txt debug.opendns.com <VIP IP>

This will output information in regards to your Umbrella account. Look for a field called "appliance id". The number following this is unique to each Virtual Appliance. You can verify it's load balancing by running the TXT lookup and copying down the appliance id then disconnect the first VA in the pool and run the command again you will get an ID from one of the other VA's in your pool.