Forum Discussion

Jellf_42492's avatar
Jellf_42492
Icon for Nimbostratus rankNimbostratus
Jan 20, 2010

f5 serve 2 Pool

Dear All,

 

 

I have f5 bigip ltm 3400, i want to configure this f5 to server 2 environment of server, any one have a sample for this? or a configuration?

 

 

Please kindly share it.

 

 

Thanks and BR

 

Jellf J B Nainggolan

9 Replies

  • Hi Jellf,

     

     

    What logic do you want to implement to select one pool or another? Examples include the client IP address or requested HTTP Host or URI.

     

     

    Also, which protocol is it that you want to use through the virtual server (plain TCP, HTTP, etc)?

     

     

    Thanks,

     

    Aaron
  • The Logic i want to spare base on IP Pool and all tcp,http traffic will be forward.

     

    please kindly find my attachement,that's what i want to create.
  • Thanks for the diagram. But can you clarify what logic you want to use to determine whether to send traffic to pool 1 or pool 2? Or do you want to use the servers in both pools for all requests as additional redundancy?

     

     

    Can you also confirm whether this is for a single LTM virtual server or multiple virtual servers?

     

     

    Thanks,

     

    Aaron
  • The Logic i want to make a different forward traffic based on IP Pool, so Load Balancer will be separate Incoming base on IP, which Pool will be serve.

     

    Multiplie LTM, where have incoming and outgoing Virtual Server, this mean when Request coming from left (Router) with IP 192.168.1.1 will be go to Pool 1 and go to incoming port at server then, when the request send back from internet will be coming to outgoing server at Pool 1, this server at pool 1 or 2 act as webproxy.

     

     

    Thanks
  • are u have any message account, so i can directly contact u by messenger ?
  • are u have any messenger account, so i can directly contact u by messenger ?
  • Hi Jellf,

    Sorry, but I don't think I have time today for an involved discussion on this. And in general I think this site prefers we keep communication to the board so other people can benefit from the discussion.

    In general, if you want to select a pool based on the client IP address, you can use a datagroup of a type 'address'. In the datagroup you could define all of the client IP addresses or subnets you want sent to pool 1. You could then use a simple iRule on the virtual server which checks if the client IP address is part of that datagroup. If so, you would select pool 1. If not, you would use the default of pool 2. Here is an example of this:

     
     when CLIENT_ACCEPTED { 
      
        log local0. "[IP::client_addr]:[TCP::client_port]: New TCP connection to [IP::local_addr]:[TCP::local_port]" 
      
         Check if client is in the pool1_client_class 
        if {[matchclass [IP::client_addr] equals pool1_client_class]}{ 
      
            Client is in the datagroup, so use pool_1 
           log local0. "[IP::client_addr]:[TCP::client_port]: matched pool1_client_class datagroup" 
           pool pool_1 
        } 
         The default for non-matching clients is to use the VIP's default pool (pool_2) 
     } 
     

    Note: If you are running 9.4.3 or lower, change pool1_client_class to $::pool1_client_class as this is the old way to reference a datagroup from an iRule.

    For details on the commands used, you can check these wiki pages:

    iRule events

    http://devcentral.f5.com/wiki/default.aspx/iRules/events

    matchclass command

    http://devcentral.f5.com/wiki/default.aspx/iRules/matchclass

    If you want detailed architectural or implementation suggestions, you should be able to contact your F5 presales or account manager.

    Aaron
  • if forward rule shown like this?

     

     

    when CLIENT_ACCEPTED {

     

    check if the default pool VIP has no active members

     

    if {[active_members [LB::server pool]] < 1}{

     

    forward

     

    }

     

    }
  • The forward command would instruct LTM to send the server side connection out according to the routing table without load balancing or translating the destination IP address. The iRule is valid in terms of the syntax, but I'm not sure how you see it fitting in for your scenario.

     

     

    Aaron