Less than 60 seconds lab setup

Today I'll share with you my less than 60 seconds lab setup which I use for testing basic stuff. It's an AS3 declaration that will setup two virtuals, the first virtual that accepts any http traffic on port 80 and forwards it to a second virtual that will respond 200 OK to any HTTP request.

The lab can easily be extended to add a https virtual.

 

 

Purpose of this setup

I use this configuration for many scenarios. With this setup I can test different profiles, TLS configurations (requires small adjustments), AWAF rules and iRules attached to the first virtual server without the requirement to setup any backend application.

Deploying this AS3 declaration takes less than 20 seconds and I have a basic lab environment ready.

Prerequisites

In order to use this config, you must have AS3 installed on your BIG-IP.

If you have not worked with AS3 yet and you are new to automation, I recommend you to start with Visual Studio Code and install The F5 Extension.

From The F5 Extension you can connect your BIG-IP and install the AS3 extension and deploy the declaration.

Furthermore: if you have not with AS3 yet - you're damn late to the party!

My AS3 declaration

The full declaration is available on GitHub, let's just look at the iRules. The iRules are the important part of this lab config.

Don't get confused that you won't see the iRule code in the AS3 declaration. It's there, but it's base64 encoded.

Forwarding iRule

The iRule attached to the first virtual just forwards to the second virtual.

Don't get confused by the path /simple_testing/responder_service/. AS3 works with Partitions, so called tenants. Therefore I must reference the second virtual with the name of its partition and application.

when HTTP_REQUEST {
  virtual /simple_testing/responder_service/service_http_200
}

HTTP Responder iRule

The second iRule is attached to the second virtual server. It will just return a HTML page that says 200 OK to any request.

when HTTP_REQUEST {
   HTTP::respond 200 content {
      <html>
         <head>
            <title>BIG-IP</title>
         </head>
         <body>
            200 OK
         </body>
      </html>
   }
}

Deployment

As said above, for starting with this you don't need anything but a BIG-IP and Visual Studio Code. After installing the F5 Extension you can connect (using the + symbol) to your BIG-IP from VS Code.

After connecting you can install the AS3 extension on your BIG-IP.

And then you are ready to deploy the AS3 declaration linked above. The deployment will take less than 60 seconds.

Once the deployment is done, you will have a Partition called on your BIG-IP. There you will find the two virtual servers.

The website is nothing special...

What's next?

In the next couple of days, I will share with you a simple website I made with the help of ChatGPT. It can run on any webserver, NGINX, Apache, IIS...

The website has 4 flavors (red, blue, green and yellow) and I use it for testing LTM use-cases like persistence, priority groups, http profiles, SNAT, etc.

This will be my less than 600 seconds lab.

Published Oct 14, 2025
Version 1.0
No CommentsBe the first to comment