Forum Discussion

_33_113201's avatar
_33_113201
Icon for Nimbostratus rankNimbostratus
Mar 31, 2010

port address translation, can it be done with out an Irule ?

is there a way to perform port address translation with out using the Irules???

 

 

I have a VIP: 443 and a pool with DIP:444 assigned to the VIP, will the F5 automatically transalte the port or do I need to write an IRule for that ?

 

 

7 Replies

  • It'll do the port translation by default - no rule needed.

     

    -Matt
  • Its a flag on the Virtual Server, usually found near the bottom of the Virtual Server config form on the web console - below address translation - so you can turn either off if you like.
  • I have the port translation flag marked as enabled, but still I am not being able to test it .

     

     

    on the iis server I can do https://localhost:444/test.htm

     

     

    but when I test OTA like https://VIP/test.htm I do not go any ahead.
  • Sounds like your problem may not be port translation, have you checked the request is hitting iis?

     

     

    You may need a SNAT to ensure the response is routed correctly.

     

     

    If there is a log entry on iis for the request https://VIP/test.htm post it here.

     

     

    If there is not, I'd run tcpdump on the LTM and check the source address of the packets being forwarded to iis - depending on the return route you need you may need a SNAT.

     

     

    A little more network info regarding the interfaces and desired route could help.
  • I have a similar problem, but the URL don´t has the :444 then the response of the server is a 404...

     

     

    my inside is https://server.com/reportes an the virual have to be https://server.com:444/reportes

     

     

    I dont like a redirect, the user never have to see the port

     

     

    some bady can help me
  • Hi Luis,

    If you want to insert :444 in the Host header if it's not present, you can use an iRule like this:

    
    when HTTP_REQUEST {
    
        Check if host header has a value and doesn't already have :444
       if {[HTTP::host] ne "" && [getfield [HTTP::host] ":" 2] ne "444"}{
    
           Append :444 to the host header value
          HTTP::header replace Host "[HTTP::host]:444"
       }
    }
    

    Aaron