Forum Discussion

Joel_42834's avatar
Joel_42834
Icon for Nimbostratus rankNimbostratus
Apr 12, 2013

Unable to transfer a DNS request to a downstream virtual server

Hi,

 

 

I'm trying to transfer a DNS request from a listener virtual server on a GTM to another virtual server on the same GTM.

 

 

I've attached an iRule to the listener virtual server:

 

 

when DNS_REQUEST {

 

log local0. "DNS Request"

 

set name [string tolower [DNS::question name]]

 

 

if { $name ends_with ".qtst.company.com" } {

 

 

set vserver "bu-qtst-gtm"

 

log local0. "Transfering request to \"$vserver\""

 

virtual $vserver

 

}

 

}

 

 

The second virtual server, bu-qtst-gtm, is identically defined to the first one but listening on a unique IP address. Both are configured with the same DNS profile and are listening for UDP requests.

 

 

The second virtual server also has an iRule that performs additional processing.

 

 

The idea is that requests received for *.qtst.company.com may require additional processing and may choose a different resolution method than the other requests.

 

 

DNS requests for anything other than "*.qtst.company.com" would still be processed by the listener virtual server.

 

 

All of this could be done by registering "qtst.company.com" as a real subdomain on the company.com external DNS servers. But I'm getting pushback from team that manages that DNS. They don't want to have to define new subdomains.

 

 

By using iRules and secondary virtual servers, I thought that I would be able to dynamically simulate different subdomains with different resolution logic without involving the team that manages the external DNS.

 

 

The problem is that my secondary virtual server never receives the request even though logging clearly shows that the virtual command is being executed.

 

 

The CLIENT_ACCEPTED and DNS_REQUEST events on the second virtual server are never triggered.

 

 

Any ideas on why?

 

Thanks in advance

 

2 Replies

  • Also, the GTM is running "BIG-IP 11.2.1 Build 1104.0 Hotfix HF4"

     

  • Hiroki_Inoue_38's avatar
    Hiroki_Inoue_38
    Historic F5 Account
    Try to disable use-local-bind, then virtual at DNS_REQUEST forward request to external server tmsh list ltm profile dns my_dns ltm profile dns my_dns { app-service none use-local-bind no }