Forum Discussion

netmaster_59599's avatar
netmaster_59599
Icon for Nimbostratus rankNimbostratus
Jan 21, 2010

Discard packet with source ip address on one pool

I am new in iRules so I need help.

 

 

Ok I have two sets of proxy servers.

 

 

First set of proxy servers are defined as pool X, and another as pool Y.

 

 

Currently I use irule which does http inspection

 

 

if {([HTTP::uri] starts_with "http_uri1") or

 

([HTTP::uri] starts_with "http1_ur2") or

 

([HTTP::uri] starts_with "http2 uri3") } {

 

 

pool X

 

}

 

else { pool Y }

 

}

 

 

Packets with source ip address range 172.16.0.0/16 should go only to pool X. Every other packet with different source address should pass http inspection an be routed according current irule.

 

 

Thanks in advance.

1 Reply

  • Hi,

    Here is an example to get you started:

     
     when CLIENT_ACCEPTED { 
      
         Check if client is part of 172.16.0.0/16 network 
        if {[IP::addr [IP::client_addr] equals 172.16.0.0/16]}{ 
      
            IP matched, so select pool_X 
           pool pool_X 
      
            Prevent the HTTP_REQUEST event from firing 
           event HTTP_REQUEST disable 
        } 
     } 
     when HTTP_REQUEST { 
      
         Check the requested URI 
        switch -glob [HTTP::uri] { 
           "/http_uri1" - 
           "/http_uri2" - 
           "/http_uri3" { 
               Matched URI check so use pool_X 
              pool pool_X 
           } 
           default { 
              pool pool_Y 
           } 
        } 
     } 
     

    Aaron