Forum Discussion

Tiger86_92132's avatar
Tiger86_92132
Icon for Nimbostratus rankNimbostratus
Apr 19, 2011

A simple load balancing network

Hi,

 

I'm using BIG-IP 1600 with LC module. I need to config a simple load balancing network (just need outbound load balance), here's my network:

 

- I have 2 VLAN external for 2 internet lines, with 2 modems connect PPPOE to the Internet (use NAT on modems) (192.168.101.0/24 and 192.168.102.0/24)

 

- and 1 VLAN internal for clients (10.8.23.0/24)

 

 

I followed the configuration guide:

 

- create VLANs

 

- config self IPs for all VLAN

 

- define 2 Links for internet lines

 

- create Pool named default_gateway_pool that include 2 LAN IPs of the modems

 

- define a wildcard virtual server with default_gateway_pool

 

- create default route: using Pool default_gateway_pool

 

 

From F5, I can ping clients, LAN IPs of routers and ping to the Internet but from client, I can ping only the self IP of internal VLAN. I use self IP of internal VLAN for gateway for clients, is it rights ?

 

 

Could anyone tell me what step I missed ?

 

 

Many thanks

 

30 Replies

  • I created that irule code, added http default profile and the irule to wildcard virtual server (0.0.0.0) but nothing happened.

     

    Did I still miss something. Help me please !!!

     

  • That rule was just an example of using RESOLV::lookup. I"ll try testing an example for your specific scenario in the next few days and let you know what I figure out. Else, if you try something let us know how it goes.

     

     

    Aaron
  • I'm sorry, I didn't say clearly. I used Jason's code:

     

    when HTTP_REQUEST {

     

    if { [IP::addr [IP::client_addr] equals 10.8.0.0/16] } {

     

    switch -glob [string tolower [HTTP::host]] {

     

    "*facebook*" -

     

    "*twitter*" -

     

    "*megaupload*" { discard }

     

    default { forward }

     

    }

     

    }

     

    It doesn't work
  • I only use a simple irule:

     

    when HTTP_REQUEST {

     

    if {[HTTP::host] contains "facebook"} {

     

    discard

     

    }

     

    }

     

    It doesn't work. I think I missed something in configuration. Please help me !!!
  • Can you try logging the HTTP::uri or HTTP::request value for a few requests:

    
    when HTTP_REQUEST {
       log local0. "URI: [HTTP::uri], Request headers [HTTP::request]"
    }
    

    I'm guessing clients are sending the host in a fully qualified URI.

    Aaron
  • I found the reason. I have to config my wildcard virtual server with Destination type "Network", address "0.0.0.0", mask "0.0.0.0" instead of Destination type "Host" with address "0.0.0.0". But I don't understand why I have to do that.

     

    Thank you very much
  • I have another problem, I can not use yahoo messenger when I choose wildcard virtual server Destination type "Network" with address "0.0.0.0" and mask "0.0.0.0". I only use yahoo messenger when I choose Destination type "Host" with address "0.0.0.0".

     

    As I mentioned above, I can not use iRule when I choose Destination type "Host".

     

    Please help me.

     

  • to me, it does not make sense to use "host" destination type with address 0.0.0.0. it's wildcard virtual server.

     

     

    for yahoo messenger, i've no idea. what error did u get?
  • when I use "host" destination type, and apply the irule to the wildcard virtual server, statistics of irule are "0", no packet match.

     

    But when I use "network" destination type, statistics of the irule increase and the policy blocking web pages works.