培训课程

开发 BIG-IP iRules

本课程将让网络专业人士对 iRules 开发在功能方面有了一定的了解。本课程建立在管理 BIG-IP配置 LTM 课程的基础上,演示如何从逻辑上规划和编写 iRules,以帮助监控和管理涉及在 BIG-IP 系统中处理流量的常见任务。广泛的课程实验室包括编写、应用和评估 iRules 对本地流量的影响。本实践课程包括讲座、实验室和讨论。

课程目标

  • 描述 iRules 在 BIG-IP 系统中自定义应用交付的作用
  • 描述使用 iRules 的最佳做法
  • 定义事件上下文,并区分客户端和服务器端上下文、请求和响应上下文、本地和远程上下文
  • 为客户端和服务器端的请求与响应事件触发 iRules
  • 将多个 iRules 分配给虚拟服务器,并控制重复事件触发的顺序
  • 描述和使用 iRules 开发和故障排除的测试方法
  • 使用局部变量、静态变量、列表、阵列、会话表和数据组以存储 iRules 执行所需的信息
  • 编写针对运行时间和管理效率进行优化的 iRules
  • 使用控制结构在 iRules 中进行有条件的分支或循环
  • 使用 Linux syslog-ng 或 TMOS 高速日志记录 (HSL) 从 iRules 进行记录
  • 在 iRules 开发过程中纳入编码的最佳做法
  • 使用分析工具捕捉并查看客户端和服务器端上下文的流量
  • 收集和使用时间统计数据来衡量 iRules 的运行效率
  • 编写 iRules 以帮助缓解和防御一些常见的 HTTP 攻击
  • 区分十进制、八进制、十六进制、浮点和指数符号
  • 使用 Tcl 命令和 iRules 函数解析和操作字符串
  • 编写 iRules 以访问和操作 HTTP 消息头信息
  • 编写 iRules 以收集自定义的统计数据
  • 通过 iRules 实现通用持久性
  • 使用带有流配置文件的 iRules 修改有效负载内容

课程主题

  • 设置 BIG-IP 系统
  • iRules 入门
  • 利用 DevCentral 资源进行 iRules 开发
  • 探索 iRules 元素,包括事件、函数、命令、变量和操作符
  • 使用控制结构进行条件分支和循环
  • 掌握空格、分组和特殊符号
  • 使用时间统计数据来衡量 iRules 效率
  • 使用 syslog-ng 和高速日志记录 (HSL) 从 iRules 进行记录
  • 优化 iRules 执行,包括实施效率最佳做法
  • 将 iRules 模块化,以提高管理效率,包括使用程序
  • 使用 iRules 保护 Web 应用安全,包括防止常见的 HTTP 攻击,保护 HTTP 消息头和 cookie,以及实现 HTTP 严格传输安全 (HSTS)
  • 使用字符串,包括使用 Tcl 解析命令和 iRules 解析函数
  • 访问和处理 HTTP 流量,包括应用选择性的 HTTP 压缩
  • 使用 iFiles 和数据组
  • 使用具通用持久性和串流配置文件的 iRules
  • 使用 STATS 和 ISTATS 收集统计数据
  • 纳入高级变量,包括阵列、静态变量和会话表

受众

本课程面向负责使用 iRules 自定义流经 BIG-IP 系统的量的系统管理员、网络管理员和应用开发人员。

先决条件

参与者在参加本课程之前,必须完成以下任一 F5 先决条件:

以下基于网络的免费培训课程虽然可选择参考,但对于具备有限 BIG-IP 管理和配置经验的参与者而言,非常有帮助。

参加任何 F5 全球培训服务讲师主导的课程之前,建议具备以下常规网络技术知识和经验:

  • OSI 模型封装
  • 路由与交换
  • 以太网和 ARP
  • TCP/IP 概念
  • IP 寻址和子网划分
  • NAT 和专用 IP 寻址
  • 默认网关
  • 网络防火墙
  • 局域网与广域网

参加本课程之前,建议了解以下课程相关的知识与经验:

  • HTTP 协议
  • 任何编程语言

自 v14 以来的主要课程变化

BIG-IP iRules 开发 v15.1 课程的内容与 v14.1 的内容基本相同,只有轻微的修改。密码为 8 位,例如 f5trn0XX。

课程概述

查看课程概述 v15

第 1 章:设置 BIG-IP 系统

  • 介绍 BIG-IP 系统
  • 初始化 BIG-IP 系统设置
  • 存档 BIG-IP 系统配置
  • 利用 F5 支持资源和工具

第 2 章:iRules 入门

  • 使用 iRules 自定义应用交付
  • 触发 iRules
  • 使用 DevCentral 生态系统
  • 创建和部署 iRules

第 3 章:探索 iRules 单元

  • 介绍 iRules 构造
  • 了解 iRules 事件和事件上下文
  • 结合使用 iRules 命令
  • 使用 SYSLOG-NG(LOG 命令)从 iRules 进行日志记录
  • 结合使用用户定义变量
  • 结合使用运算符和数据类型
  • 结合使用条件控制结构(IF 和 SWITCH)
  • 将最佳实践纳入 iRules

第 4 章:开发和故障排除 iRules

  • 掌握空格和特殊符号
  • 分组字符串
  • 开发和故障排除技巧
  • 使用 Fiddler 测试和故障排除 iRules

第 5 章:优化 iRules 执行

  • 了解效率需求
  • 使用时间统计信息,测量 iRules 运行时间效率
  • 针对管理效率模块化 iRules
  • 使用程序以模块化代码
  • 优化日志记录
  • 在 iRules 中使用高速日志记录命令
  • 实施其他效率
  • 使用循环控制结构(WHILE、FOR、FOREACH 命令)

第 6 章:使用 iRules 保护 Web 应用

  • 将 iRules 集成到 Web 应用防御
  • 缓解 HTTP 版本攻击
  • 缓解路径遍历攻击
  • 使用 iRules 防御跨站点请求伪造 (CSRF)
  • 缓解 HTTP 方法漏洞
  • 使用 iRules 保护 HTTP Cookie
  • 添加 HTTP 安全标头
  • 删除不需要的 HTTP 标头

第 7 章:结合使用数字和字符串

  • 了解数字格式和符号
  • 结合使用字符串(STRING 和 SCAN 命令)
  • 组合字符串(相邻变量、CONCAT 和 APPEND 命令)
  • 使用 iRules 字符串解析函数(FINDSTR、GETFIELD 和 SUBSTR 命令)

第 8 章:处理 HTTP 有效负载

  • 回顾 HTTP 标头和命令
  • 访问和操作 HTTP 标头(HTTP::header 命令)
  • 其他 HTTP 命令(HTTP::host、HTTP::status、HTTP::is_keepalive、HTTP::method、HTTP::version、HTTP::redirect、HTTP::respond、HTTP::uri)
  • 解析 HTTP URI(URI::path、URI::basename、URI::query)
  • 使用 HTTP::cookie 解析 Cookie
  • 选择性压缩 HTTP 数据(COMPRESS 命令)

第 9 章:结合使用 iFiles 和数据组

  • 结合使用 iFiles
  • 介绍数据组
  • 结合使用旧格式数据组(MATCHCLASS、FINDCLASS)
  • 结合使用新格式数据组(CLASS MATCH、CLASS SEARCH)

第 10 章:使用具有通用持久性、流和统计信息配置文件的 iRules

  • 实现通用持久性(PERSIST UIE 命令)
  • 结合使用流配置文件(STREAM 命令)
  • 使用统计信息配置文件收集统计信息(STATS 命令)
  • 使用 iStats 收集统计信息(ISTATS 命令)

第 11 章:合并高级变量

  • 回顾本地变量命名空间
  • 结合使用阵列(ARRAY 命令)
  • 使用静态变量和全局变量
  • 使用会话表(TABLE 命令)
  • 处理会话表子表
  • 使用会话表计算“物”
查看课程概述 v14

第 1 章:设置 BIG-IP 系统

  • 介绍 BIG-IP 系统
  • 初始化 BIG-IP 系统设置
  • 存档 BIG-IP 系统配置
  • 利用 F5 支持资源和工具

第 2 章:iRules 入门

  • 使用 iRules 自定义应用交付
  • 触发 iRules
  • 使用 DevCentral 生态系统
  • 创建和部署 iRules

第 3 章:探索 iRules 单元

  • 介绍 iRules 构造
  • 了解 iRules 事件和事件上下文
  • 结合使用 iRules 命令
  • 使用 SYSLOG-NG(LOG 命令)从 iRules 进行日志记录
  • 结合使用用户定义变量
  • 结合使用运算符和数据类型
  • 结合使用条件控制结构(IF 和 SWITCH)
  • 将最佳实践纳入 iRules

第 4 章:开发和故障排除 iRules

  • 掌握空格和特殊符号
  • 分组字符串
  • 开发和故障排除技巧
  • 使用 Fiddler 测试和故障排除 iRules

第 5 章:优化 iRules 执行

  • 了解效率需求
  • 使用时间统计信息,测量 iRules 运行时间效率
  • 针对管理效率模块化 iRules
  • 使用程序以模块化代码
  • 优化日志记录
  • 在 iRules 中使用高速日志记录命令
  • 实施其他效率
  • 使用循环控制结构(WHILE、FOR、FOREACH 命令)

第 6 章:使用 iRules 保护 Web 应用

  • 将 iRules 集成到 Web 应用防御
  • 缓解 HTTP 版本攻击
  • 缓解路径遍历攻击
  • 使用 iRules 防御跨站点请求伪造 (CSRF)
  • 缓解 HTTP 方法漏洞
  • 使用 iRules 保护 HTTP Cookie
  • 添加 HTTP 安全标头
  • 删除不需要的 HTTP 标头

第 7 章:结合使用数字和字符串

  • 了解数字格式和符号
  • 结合使用字符串(STRING 和 SCAN 命令)
  • 组合字符串(相邻变量、CONCAT 和 APPEND 命令)
  • 使用 iRules 字符串解析函数(FINDSTR、GETFIELD 和 SUBSTR 命令)

第 8 章:处理 HTTP 有效负载

  • 回顾 HTTP 标头和命令
  • 访问和操作 HTTP 标头(HTTP::header 命令)
  • 其他 HTTP 命令(HTTP::host、HTTP::status、HTTP::is_keepalive、HTTP::method、HTTP::version、HTTP::redirect、HTTP::respond、HTTP::uri)
  • 解析 HTTP URI(URI::path、URI::basename、URI::query)
  • 使用 HTTP::cookie 解析 Cookie
  • 选择性压缩 HTTP 数据(COMPRESS 命令)

第 9 章:结合使用 iFiles 和数据组

  • 结合使用 iFiles
  • 介绍数据组
  • 结合使用旧格式数据组(MATCHCLASS、FINDCLASS)
  • 结合使用新格式数据组(CLASS MATCH、CLASS SEARCH)

第 10 章:使用具有通用持久性、流和统计信息配置文件的 iRules

  • 实现通用持久性(PERSIST UIE 命令)
  • 结合使用流配置文件(STREAM 命令)
  • 使用统计信息配置文件收集统计信息(STATS 命令)
  • 使用 iStats 收集统计信息(ISTATS 命令)

第 11 章:合并高级变量

  • 回顾本地变量命名空间
  • 结合使用阵列(ARRAY 命令)
  • 使用静态变量和全局变量
  • 使用会话表(TABLE 命令)
  • 处理会话表子表
  • 使用会话表计算“物”

SKU:F5-TRG-BIG-IRULE-CFG

价格:2,995 美元

课程时长:3 天