F 5負荷等化にiRuleを使用してSNAT poolを選択
4088 ワード
需要:iRuleを使って異なる目的のアドレスあるいはポートによって、SNATアドレスを選択して、同じバックグラウンドノードを実現して、異なる目的のアドレスあるいは目的のポートにアクセスする時、ソースのアドレスも異なっています;
ネットワーク概要:イントラネット:バックグラウンドノードserver:192.168.10.71対応VLAN:Internal-selfIP:192.168.10.1外部ネットワーク:クライアントクライアントクライアントクライアント:172.16.10.172対応VLAN:external-selfIP:172.16.10.1
1.需要一:負荷分散機能(clientアクセスサーバ)
ソリューション1、
2.需要二:SNAT機能(serverがclientにアクセスする)、1つ以上のイントラネットノードが1つのソースアドレスに変換する;
ソリューション1、
ソリューション2、
ソリューション3、
3.需要3:iSNAT機能(serverアクセスクライアント)、1つのイントラネットノードが複数のソースアドレスに変換する;
ソリューション1、
(serverからclientにアクセスするhttpサービスなど)HTTP要求がserver側からBIG-IPシステムに到達し、VS 0.0にヒットする.0.0:0;iSNAT_Ruleが参照され、要求パケットがチェックされ、BIG-IPシステムがSNATPoolを選択80と負荷等化pool http_pool;round robin負荷等化アルゴリズムを採用し、BIG-IPシステムはhttp_からpoolで次のホップアドレス172.16が選択する.10.71;SNATPool_80には翻訳アドレス172.16がある.10.80 ;BIG-IPシステムは、この翻訳アドレスプールからランダムにアドレス172.16を選択する.10.80(本例は固定ソースアドレス翻訳であるため、翻訳アドレスプールには1つしか選択できない).最後に、BIG-IPシステムはクライアントソースIPアドレスをアドレス172.16に翻訳する.10.80、要求パケットを172.16に転送する.10.71:80;
この案では、従来のSNATが失効することは禁物である、優先度は7層を先として順次減少するため、0.0である.0.0のvirtual serverの優先度は通常のSNATより高いので、iRuleで詳細を考慮します.
ソリューション2、
このスキームは、イントラネットセグメントでアクセスのニーズが多い場合に適しています.この方式はvirtual serverを相対的なイントラネットセグメントに確立することを採用して、clientにアクセスしてイントラネットセグメントのvirtual serverになって、BIGIPの処理を経た後にiRuleの中のあるSNATpoolに命中して、ソースアドレスはSNATpoolの中で選択可能なアドレスになって、目的のアドレスはpoolの中の172.16に転化します.10.71、要求パケットを172.16に転送する.10.71:80;
内部ネットワークセグメント内の他のノードも外部ネットワークにアクセスする必要があり、1対のマルチソースアドレス変換の必要がなければ、正常なSNAT方式で完全に行うことができ、互いに衝突しない.
ネットワーク概要:イントラネット:バックグラウンドノードserver:192.168.10.71対応VLAN:Internal-selfIP:192.168.10.1外部ネットワーク:クライアントクライアントクライアントクライアント:172.16.10.172対応VLAN:external-selfIP:172.16.10.1
1.需要一:負荷分散機能(clientアクセスサーバ)
ソリューション1、
virtual server :http_VS: 172.16.10.100:80
VS pool:
Pool member: 192.168.10.71:80
2.需要二:SNAT機能(serverがclientにアクセスする)、1つ以上のイントラネットノードが1つのソースアドレスに変換する;
ソリューション1、
SNAT :out_snat: 172.16.10.71
snat out_snat {
translation 172.16.10.71
origin 192.168.10.71 //
}
ソリューション2、
snat out_snat2 {
translation 172.16.10.250
origin 0.0.0.0 mask 0.0.0.0 //
}
ソリューション3、
snat out_snat3 {
translation 172.16.10.188
origin 0.0.0.0 mask 0.0.0.0
vlan internal enable // vlan --internal
}
3.需要3:iSNAT機能(serverアクセスクライアント)、1つのイントラネットノードが複数のソースアドレスに変換する;
ソリューション1、
pool( + pool , iRule ):
pool http_pool { member 172.16.10.71:80 }
pool ftp_pool { member 172.16.10.71:21 }
snatpool:
snatpool SNATPool_21 { member 172.16.10.21 }
snatpool SNATPool_80 { member 172.16.10.80 }
snatpool Internal_SNAT_Pool { member 172.16.10.250 }
virtual server :snat_VS: 0.0.0.0:0
VS iRule :iSNAT_Rule, :
rule iSNAT_Rule {
when CLIENT_ACCEPTED { /* */
set MYPORT [TCP::local_port] /* */
set S_IP [IP::client_addr] /* */
log local0. "Port is $MYPORT" /* , /var/log/ltm */
log local0. " S_IP is $S_IP"
if {[IP::addr [IP::client_addr] equals 192.168.10.71]} /* */
{ switch $MYPORT { /* , SNAT */
80 {
snatpool SNATPool_80
pool http_pool /* */
}
21 {
snatpool SNATPool_21
pool ftp_pool
}
default {
snatpool Internal_SNAT_Pool
pool other_pool
}
}
}
else { /* , */
snatpool Internal_SNAT_Pool
pool http_pool
}
}
}
// iRule
,BIG-IP :
(serverからclientにアクセスするhttpサービスなど)HTTP要求がserver側からBIG-IPシステムに到達し、VS 0.0にヒットする.0.0:0;iSNAT_Ruleが参照され、要求パケットがチェックされ、BIG-IPシステムがSNATPoolを選択80と負荷等化pool http_pool;round robin負荷等化アルゴリズムを採用し、BIG-IPシステムはhttp_からpoolで次のホップアドレス172.16が選択する.10.71;SNATPool_80には翻訳アドレス172.16がある.10.80 ;BIG-IPシステムは、この翻訳アドレスプールからランダムにアドレス172.16を選択する.10.80(本例は固定ソースアドレス翻訳であるため、翻訳アドレスプールには1つしか選択できない).最後に、BIG-IPシステムはクライアントソースIPアドレスをアドレス172.16に翻訳する.10.80、要求パケットを172.16に転送する.10.71:80;
この案では、従来のSNATが失効することは禁物である、優先度は7層を先として順次減少するため、0.0である.0.0のvirtual serverの優先度は通常のSNATより高いので、iRuleで詳細を考慮します.
ソリューション2、
pool( + pool , iRule ):
pool http_pool { member 172.16.10.71:80 }
virtual server :client_VS: 192.168.10.237:0
VS iRule :iSNAT_Rule2, :
rule iSNAT_Rule2 {
when CLIENT_ACCEPTED {
set MYPORT [TCP::local_port]
log local0. "Port is $MYPORT"
switch $MYPORT {
80 {
snatpool SNATPool_80
pool http
}
21 {
snatpool SNATPool_21
pool ftp_pool
}
default {
snatpool Internal_SNAT_Pool
pool http
}
}
}
}
このスキームは、イントラネットセグメントでアクセスのニーズが多い場合に適しています.この方式はvirtual serverを相対的なイントラネットセグメントに確立することを採用して、clientにアクセスしてイントラネットセグメントのvirtual serverになって、BIGIPの処理を経た後にiRuleの中のあるSNATpoolに命中して、ソースアドレスはSNATpoolの中で選択可能なアドレスになって、目的のアドレスはpoolの中の172.16に転化します.10.71、要求パケットを172.16に転送する.10.71:80;
内部ネットワークセグメント内の他のノードも外部ネットワークにアクセスする必要があり、1対のマルチソースアドレス変換の必要がなければ、正常なSNAT方式で完全に行うことができ、互いに衝突しない.