IRules to do intelligent routing double-line load
This IRULE is mainly used for intelligent routing.
Remote_addr is the device source IP, and local_addr is F5 or destination IP.
-begin--
When CLIENT_ACCEPTED {
If {[matchclass [IP::remote_addr] equals ct_first_class]} {
Pool ct_first_pool
}
Elseif {[matchclass [IP::remote_addr] equals cnc_first_class]} {
Pool cnc_first_pool
}
Elseif {[matchclass [IP::remote_addr] equals loadbalance]} {
Pool default_gw
}
Elseif {[matchclass [IP::local_addr] equals cnc_class]} {
Pool cnc_first_pool
}
Else {
Forward
}
}
-- end--
The goals that should be achieved after implementation are:
1. All special IP such as ct_first_class/cnc_first_class
2. Loadbalance group does the load of two lines.
3. All those who go to China Telecom's cnc goal will give priority to China Telecom. If there is a problem with China Telecom, they will go to China Unicom.
4. If you go to the IP target of other operators other than China Unicom and other domestic and foreign operators, then take the telecom line.
5. Other inbound traffic does not match the outbound forwarding load policy. Forward directly looks at route forwarding.