Forum Discussion
monica_74227
Nimbostratus
Oct 24, 2009how about this iRule ?
hey guys,
Could you help me to check this iRule, I don't know if it does work well ? Many thanks!
when CLIENT_ACCEPTED {
if { [ matchclass [IP::client_addr] equals $::mail_internal_class ] } {
pool mail_gateway_pool
}
else {
pool default_gateway_pool
}
}
when LB_SELECTED {
if {[IP::addr [LB::server addr] equals 222.35.42.126] and [IP::addr [IP::client_addr] equals 172.16.1.11] } {
snatpool snat_crt_test2
} elseif {[IP::addr [LB::server addr] equals 221.218.248.155] and [IP::addr [IP::client_addr] equals 172.16.1.11] } {
snatpool snat_uni_test2
} elseif {[IP::addr [LB::server addr] equals 222.35.42.126] and [IP::addr [IP::client_addr] equals 172.16.1.13] } {
snatpool snat_crt_test1
} elseif {[IP::addr [LB::server addr] equals 221.218.248.155] and [IP::addr [IP::client_addr] equals 172.16.1.13] } {
snatpool snat_uni_test1
} elseif {[IP::addr [LB::server addr] equals 222.35.42.126] and [IP::addr [IP::client_addr] equals 172.16.1.20] } {
snatpool snat_crt_test4
} elseif {[IP::addr [LB::server addr] equals 221.218.248.155] and [IP::addr [IP::client_addr] equals 172.16.1.20] } {
snatpool snat_uni_test4
} elseif {[IP::addr [LB::server addr] equals 222.35.42.126] and [IP::addr [IP::client_addr] equals 172.16.1.16] } {
snatpool snat_crt_sms
} elseif {[IP::addr [LB::server addr] equals 221.218.248.155] and [IP::addr [IP::client_addr] equals 172.16.1.16] } {
snatpool snat_uni_sms
} elseif {[IP::addr [LB::server addr] equals 222.35.42.126] and [IP::addr [IP::client_addr] equals 172.16.1.25] } {
snatpool snat_crt_mail
} elseif {[IP::addr [LB::server addr] equals 221.218.248.155] and [IP::addr [IP::client_addr] equals 172.16.1.25] } {
snatpool snat_uni_mail
} elseif {[IP::addr [LB::server addr] equals 222.35.42.126] } {
snatpool snat_crt_pool
} elseif {[IP::addr [LB::server addr] equals 221.218.248.155] } {
snatpool snat_uni_pool
} else {
snat automap
}
}
13 Replies
- hoolio
Cirrostratus
Can you try testing the iRule I posted above? It corrects a few syntax issues you had where this:
switch {IP::addr [LB::server addr]} {
should be:
switch [LB::server addr] {
Thanks,
Aaron - monica_74227
Nimbostratus
hey Aaron,
Thank you for your replay, you are right, I have tested it once again, the following was working well!
when CLIENT_ACCEPTED {
if { [ matchclass [IP::client_addr] equals $::mail_internal_class ] } {
pool mail_gateway_pool
} else {
pool default_gateway_pool
}
}
when LB_SELECTED {
switch [LB::server addr] {
222.35.42.126 {
switch [IP::client_addr] {
"192.168.3.11" { snatpool snatpool_crt_rd2 }
"192.168.3.13" { snatpool snatpool_crt_rd1 }
"192.168.3.20" { snatpool snatpool_crt_rd4 }
"192.168.3.16" { snatpool snatpool_crt_sms }
"192.168.3.25" { snatpool snatpool_crt_mail }
"192.168.3.251" { snatpool snatpool_crt_vpn }
"default" { snatpool snatpool_crt_default }
}
}
221.218.248.158 {
switch [IP::client_addr] {
"192.168.3.11" { snatpool snatpool_uni_rd2 }
"192.168.3.13" { snatpool snatpool_uni_rd1 }
"192.168.3.20" { snatpool snatpool_uni_rd4 }
"192.168.3.16" { snatpool snatpool_uni_sms }
"192.168.3.25" { snatpool snatpool_uni_mail }
"192.168.3.251" { snatpool snatpool_uni_vpn }
"default" { snatpool snatpool_uni_default }
}
}
default { snat automap }
}
} - hoolio
Cirrostratus
Good to see you got it working.
Aaron
Help guide the future of your DevCentral Community!
What tools do you use to collaborate? (1min - anonymous)Recent Discussions
Related Content
DevCentral Quicklinks
* Getting Started on DevCentral
* Community Guidelines
* Community Terms of Use / EULA
* Community Ranking Explained
* Community Resources
* Contact the DevCentral Team
* Update MFA on account.f5.com
Discover DevCentral Connects
