千家信息网

F5 iRules入门学习笔记

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,基本介绍IRules主要应用在F5负载均衡设备GTM、LTM和LC,它使用的是TCL语言,由事件、命令和逻辑三部分组成。它可以工作在OSI模型的3-7层,根据协议的不同,实现不同的功能。IRules的
千家信息网最后更新 2026年10月31日F5 iRules入门学习笔记

基本介绍

IRules主要应用在F5负载均衡设备GTM、LTM和LC,它使用的是TCL语言,由事件、命令和逻辑三部分组成。它可以工作在OSI模型的3-7层,根据协议的不同,实现不同的功能。


IRules的功能:

1、实现了对所有TCP、UDP应用的数据包分析与信息提取功能;

2、根据数据信息进行分流;

3、双向的数据流改写功能;

4、选择性地址转换(iSNAT);

5、基于内容的会话保持。


iRules可以根据提取的信息(比如ip、http header、http uri等)进行数据分流,使得不同的请求类型分配到不同的服务器群中。如根据文件类型选择不同的服务器、依据游览器不同选择不同服务器、根据用户类型不同选择不同服务器等。


F5设备的Full Proxy结构使其有了双向数据改写的能力。与其他传统的网络交换机不同,BIGIP可以对任意内容进行改写,例如TCP Content,UDP Content,HTTP Request,HTTP Response等内容进行修改。如改写uri、在header中插入证书信息、选择性的地址转换、基于内容的会话保持等。



编程基础

TCL语言是一种解释性脚本语言,是一种嵌入命令的脚本语言。


iRules的命令结构:

命令 参数1 参数2 参数3 ... 参数n #this is a note


TCL语言和命令结构:

if {触发条件} {触发动作}

elseif {触发条件} {触发动作}

else {触发动作}


事件是iRules构成中的重要的一部分,不同事件代表数据在整个访问过程中的逻辑位置。一般用when开头。


命令是irules中对数据进行操作的直接函数,如:[HTTP::uri],该命令中HTTP代表HTTP协议,uri表示取这个http访问中的uri,他们之间用"::"连接,代表从属关系,uri是属于HTTP这个命令体系的,类似的还有:[IP::addr]、[TCP::payload]、[SSL::handshake]等。


逻辑运算符:

contains 包含

matches 匹配

equals(==) 等于

starts_with 以开始

ends_with 以结束

matches_regex 正则表达式匹配

not(!) 非

and(&) 与

or(|) 或


开始写iRules

1、第一个irules

when HTTP_REQUEST {

log local0.info "Hello World!"

}


2、DNS解析

when DNS_REQUEST {
if {IP::addr [IP::remote_addr]/24 equals 10.1.1.0/24} {

host 192.168.10.11

}

else{

host 10.10.10.10

}

}


3、不同请求来源分发不同的pool

when DNS_REQUEST {
if {IP::addr [IP::client_addr] equals 10.1.1.100} {

pool my_pool_A

}

else{

pool my_pool_B

}

}


4、多种不同请求来源连接到不同的pool

class private_net {

network 10.0.0.0/8

network 172.16.0.0/12

network 192.168.0.0/16

}

when HTTP_REQUEST {

if {[matchclass [IP::client_addr] equals ::private_net]} {

pool internal_pool

}else{

pool default_pool

}

}


5、HTTP跳转

when HTTP_REQUEST {

if {[HTTP::uri] contains "a"} {

HTTP::redirect http://a.com

}else{

HTTP:redirect http://b.com

}

}

不同 命令 数据 语言 选择 信息 内容 功能 参数 服务器 服务 事件 代表 动作 类型 结构 逻辑 双向 地址 条件 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 深圳九邦互联网科技有限公司 为想互联网科技怎么样 互联网科技活动banner 互联网金融 科技金融 奇士达互联网科技 睿民互联网科技 互联网科技公司介绍 佰商互联网科技有限公司 互联网之后的科技是什么 济南华为互联网科技产业总部基地 南山科技园互联网公司有哪些 互联网科技项目计划书材料类 全球顶尖互联网科技公司 河南猎农互联网科技有限公司 华夏互联网科技业 湖南一路畅行互联网科技 江苏苏星互联网科技有限公司 南京一网一红互联网科技有限公司 互联网高科技行业有哪些企业 版纳互联网科技选哪家 小米移动互联网科技园 科技金融是不是互联网金融 互联网科技公司介绍 呼和浩特新华互联网科技学院 乌鲁木齐新华智原互联网科技学校 朱啸虎曾投资哪些互联网科技企业 黑科技 体验场景 互联网大会 广州燕处互联网科技有限公司 北京互联网科技类企业分布 互联网时代高科技布局
0