Skip to content

We would like to inform you that both our Computer Pride Nairobi and Mombasa offices will be closed completely from Wednesday, 19th July 2023 to Thursday, 27th July 2023. We will resume our regular operations on Friday, 28th July 2023.

This closure is in observance of the special Ashara Mubaraka prayers. In case of any urgent inquiries or assistance, please feel free to contact us at info@computer-pride.co.ke.

Search...

Developing iRules for BIG-IP v.17.1

Courses Overview

This 3-day hands-on course gives networking professionals a solid foundation in iRules development on the BIG-IP system. Building on knowledge from the Administering BIG-IP or Configuring LTM course, participants learn how to logically plan, write, and optimize iRules to monitor, manage, and secure traffic processing.

The course combines lectures, labs, and discussions, with extensive practical exercises focused on writing, applying, and evaluating iRules in real-world scenarios.

Course Topics

  • Setting up the BIG-IP system and getting started with iRules

  • Leveraging DevCentral resources for development

  • Exploring iRule elements: events, functions, commands, variables, operators

  • Control structures for branching and looping

  • Syntax essentials: whitespace, grouping, and special symbols

  • Measuring and improving efficiency with timing statistics and best practices

  • Logging with syslog-ng and High-Speed Logging (HSL)

  • Modularizing iRules with procedures

  • Securing web apps (HTTP attack prevention, securing headers/cookies, HSTS)

  • Working with strings, parsing, and HTTP traffic manipulation

  • Using iFiles, data groups, universal persistence, and stream profiles

  • Gathering statistics with STATS and ISTATS

  • Advanced variables: arrays, static variables, and session tables

Ideal for system administrators, network administrators, and application developers responsible for customizing traffic flow on BIG-IP systems using iRules.

Learning Outcomes
By the end of this course, participants will be able to:

  • Explain the role of iRules in customizing application delivery on BIG-IP.

  • Apply best practices for iRule development and coding efficiency.

  • Understand event contexts (client vs. server, request vs. response, local vs. remote).

  • Trigger and manage iRules across multiple request/response events.

  • Assign multiple iRules to a virtual server and manage event execution order.

  • Apply a testing and troubleshooting methodology for iRules.

  • Use variables, arrays, session tables, and data groups to store execution data.

  • Optimize iRules for runtime performance and administrative efficiency.

  • Use control structures for conditional branching and looping.

  • Implement logging with syslog-ng and TMOS High-Speed Logging (HSL).

  • Analyze client-side and server-side traffic flows with built-in tools.

  • Measure and improve runtime efficiency using timing statistics.

  • Mitigate common HTTP attacks with iRules.

  • Work with different data formats (decimal, octal, hex, floating-point).

  • Parse and manipulate strings using Tcl commands and iRule functions.

  • Access and modify HTTP header information.

  • Collect custom traffic and performance statistics.

  • Implement universal persistence with iRules.

  • Modify payload content using iRules with stream profiles.

Chapter 1: Setting Up the BIG-IP System

• Introducing the BIG-IP System

• Initially Setting Up the BIG-IP System

• Archiving the BIG-IP System Configuration

• Leveraging F5 Support Resources and Tools

Chapter 2: Getting Started with iRules

• Customizing Application Delivery with iRules

• Triggering an iRule

• Leveraging the DevCentral Ecosystem

• Creating and Deploying iRules

Chapter 3: Exploring iRule Elements

• Introducing iRule Constructs

• Understanding iRule Events and Event Context

• Working with iRule Commands

• Logging from an iRule Using SYSLOG-NG (LOG Command)

• Working with User-Defined Variables

• Working with Operators and Data Types

• Working with Conditional Control Structures (IF and SWITCH)

• Incorporating Best Practices in iRules

Chapter 4: Developing and Troubleshooting iRules

• Mastering Whitespace and Special Symbols

• Grouping Strings

• Developing and Troubleshooting Tips

• Using Fiddler to Test and Troubleshoot iRules

Chapter 5: Optimizing iRule Execution

• Understanding the Need for Efficiency

• Measure iRule Runtime Efficiency Using Timing Statistics

• Modularizing iRules for Administrative Efficiency

• Using Procedures to Modularize Code

• Optimizing Logging

• Using High-Speed Logging Commands in an iRule

• Implementing Other Efficiencies

• Using Looping Control Structures (WHILE, FOR, FOREACH Commands)

Chapter 6: Securing Web Applications with iRules

• Integrating iRules into Web Application Defense

• Mitigating HTTP Version Attacks

• Mitigating Path Traversal Attacks

• Using iRules to Defends Against Cross-Site Request Forgery (CSRF)

• Mitigating HTTP Method Vulnerabilities

• Securing HTTP Cookies with iRules

• Adding HTTP Security Headers

• Removing Undesirable HTTP Headers

Chapter 7: Working with Numbers and Strings

• Understanding Number Forms and Notation

• Working with Strings (STRING and SCAN Commands)

• Combining Strings (Adjacent Variables, CONCAT and APPEND Commands)

• Using iRule String Parsing Functions (FINDSTR, GETFIELD, and SUBSTR Commands)

Chapter 8: Processing the HTTP Payload

• Reviewing HTTP Headers and Commands

• Introducing iRule HTTP Header Commands

• Accessing and Manipulating HTTP Headers (HTTP::header Commands)

• Other HTTP commands (HTTP::host, HTTP::status, HTTP::is_keepalive, HTTP::method, HTTP::version, HTTP::redirect, HTTP::respond, HTTP::uri)

• Parsing the HTTP URI (URI::path, URI::basename, URI::query)

• Parsing Cookies with HTTP::cookie

• Selectively Compressing HTTP Data (COMPRESS Command)

Chapter 9: Working with iFiles and Data Groups

• Working with iFiles

• Introducing Data Groups

• Working with New Format Data Groups (CLASS MATCH, CLASS SEARCH)

Chapter 10: Using iRules with Universal Persistence, Stream, and Statistics Profiles

• Implementing Universal Persistence (PERSIST UIE Command)

• Working with the Stream Profile (STREAM Command)

• Collecting Statistics Using a Statistics Profile (STATS Command)

• Collecting Statistics Using iStats (ISTATS Command)

Chapter 11: Incorporating Advanced Variables

• Reviewing the Local Variable Namespace

• Working with Arrays (ARRAY Command)

• Using Static and Global Variables

• Using the Session Table (TABLE Command)

• Processing Session Table Subtables

• Counting “Things” Using the Session Table

Participants must complete one of the following before attending:

  • Administering BIG-IP instructor-led course, or

  • Configuring BIG-IP LTM instructor-led course, or

  • F5 Certified BIG-IP Administrator credential

Optional but recommended free web-based courses:

  • Getting Started with BIG-IP

  • Getting Started with BIG-IP Local Traffic Manager (LTM)

Recommended general networking knowledge:

  • OSI model encapsulation

  • Routing and switching

  • Ethernet and ARP

  • TCP/IP concepts

  • IP addressing and subnetting

  • NAT and private IP addressing

  • Default gateway

  • Firewalls

  • LAN vs. WAN

Suggested course-specific knowledge:

  • HTTP protocol

  • Familiarity with any programming language

  • Configuring BIG-IP LTM: Local Traffic Manager v.16.1
  • Configuring BIG-IP DNS (formerly GTM) v.16.1
  • Configuring F5 Advanced WAF (previously licensed as ASM) v16.1
  • Configuring BIG-IP APM: Access Policy Manager v.16.1
  • Configuring BIG-IP AFM: Advanced Firewall Manager v.16.1
  • Troubleshooting BIG-IP v.16.1