基本介紹
IRules主要應(yīng)用在F5負(fù)載均衡設(shè)備GTM、LTM和LC,它使用的是TCL語言,由事件、命令和邏輯三部分組成。它可以工作在OSI模型的3-7層,根據(jù)協(xié)議的不同,實(shí)現(xiàn)不同的功能。
IRules的功能:
1、實(shí)現(xiàn)了對(duì)所有TCP、UDP應(yīng)用的數(shù)據(jù)包分析與信息提取功能;
2、根據(jù)數(shù)據(jù)信息進(jìn)行分流;
3、雙向的數(shù)據(jù)流改寫功能;
4、選擇性地址轉(zhuǎn)換(iSNAT);
5、基于內(nèi)容的會(huì)話保持。
iRules可以根據(jù)提取的信息(比如ip、http?header、http?uri等)進(jìn)行數(shù)據(jù)分流,使得不同的請(qǐng)求類型分配到不同的服務(wù)器群中。如根據(jù)文件類型選擇不同的服務(wù)器、依據(jù)游覽器不同選擇不同服務(wù)器、根據(jù)用戶類型不同選擇不同服務(wù)器等。
F5設(shè)備的Full?Proxy結(jié)構(gòu)使其有了雙向數(shù)據(jù)改寫的能力。與其他傳統(tǒng)的網(wǎng)絡(luò)交換機(jī)不同,BIGIP可以對(duì)任意內(nèi)容進(jìn)行改寫,例如TCP?Content,UDP?Content,HTTP?Request,HTTP Response等內(nèi)容進(jìn)行修改。如改寫uri、在header中插入證書信息、選擇性的地址轉(zhuǎn)換、基于內(nèi)容的會(huì)話保持等。
編程基礎(chǔ)
TCL語言是一種解釋性腳本語言,是一種嵌入命令的腳本語言。
iRules的命令結(jié)構(gòu):
命令 參數(shù)1 參數(shù)2 參數(shù)3 ... 參數(shù)n? #this is a note
TCL語言和命令結(jié)構(gòu):
if {觸發(fā)條件} {觸發(fā)動(dòng)作}
elseif?{觸發(fā)條件} {觸發(fā)動(dòng)作}
else?{觸發(fā)動(dòng)作}
事件是iRules構(gòu)成中的重要的一部分,不同事件代表數(shù)據(jù)在整個(gè)訪問過程中的邏輯位置。一般用when開頭。
命令是irules中對(duì)數(shù)據(jù)進(jìn)行操作的直接函數(shù),如:[HTTP::uri],該命令中HTTP代表HTTP協(xié)議,uri表示取這個(gè)http訪問中的uri,他們之間用“::”連接,代表從屬關(guān)系,uri是屬于HTTP這個(gè)命令體系的,類似的還有:[IP::addr]、[TCP::payload]、[SSL::handshake]等。
邏輯運(yùn)算符:
contains 包含
matches 匹配
equals(==) 等于
starts_with 以開始
ends_with 以結(jié)束
matches_regex 正則表達(dá)式匹配
not(!) 非
and(&) 與
or(|) 或
開始寫iRules
1、第一個(gè)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、不同請(qǐng)求來源分發(fā)不同的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、多種不同請(qǐng)求來源連接到不同的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跳轉(zhuǎn)
when HTTP_REQUEST {
if {[HTTP::uri] contains "a"} {
HTTP::redirect http://a.com
}else{
HTTP:redirect http://b.com
}
}
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
新聞標(biāo)題:F5iRules入門學(xué)習(xí)筆記-創(chuàng)新互聯(lián)
文章分享:http://m.rwnh.cn/article6/ggiog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信公眾號(hào)、域名注冊(cè)、虛擬主機(jī)、面包屑導(dǎo)航、手機(jī)網(wǎng)站建設(shè)、品牌網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容