Forum Discussion

TiborP's avatar
TiborP
Icon for Altostratus rankAltostratus
May 31, 2023

How to affect Static persist LB method for GSLB pools

We are using GSLB for DNS load balancing to couple of sites with "data" load balancers. We need to achive persistency, so I set Static persist LB method. It works fine for most of the clients. But when client use "cloud" DNS server, I mean google 8.8.8.8 for example, he gets different IP for the same DNS name as he works with the application for some time. And this cause problem. Of course I can enlarge TTL for this record, but I need have it "small" (minutes not hours) for high avaiabilty.

I have found list of google DNS requesting IP, but how can I use it?

https://developers.google.com/speed/public-dns/faq#:%7E:text=When%20clients%20send%20queries%20to,%3A4860%3A4860%3A%3A%20)

Is there anyone with similar problem?

    • Paulius's avatar
      Paulius
      Icon for MVP rankMVP

      TiborP Hopefully this is the issue and please let us know if this resolves your issue.

    • TiborP's avatar
      TiborP
      Icon for Altostratus rankAltostratus

      Problem is NOT on LTM (local traffic manager) and persistence here.

      Poblem is on DNS-LB (gslb).

      • Paulius's avatar
        Paulius
        Icon for MVP rankMVP

        TiborP So typically with large providers of a caching NS they will typically the users query to them is directed using anycast or some variation of that so that the users request is directed to the closest device to them. This is a guess but most likely what's happening is the source IP of the cache NS is not the same as the IP that the user is querying which results in the user being sent to multiple locations because the cache NS is querying from multiple source IPs. I have something similar behavior when a firewall utilizes FQDNs to allow users out of or into an environment but the client has a different DNS server they query which results in the traffic being blocked. In your case the GTM is seing the source of the DNS request as different IPs which results in persistence not functioning correctly for the end user. You might consider running a tcpdump on the GTM or turning on some logging so you can validate the users DNS query and where it's coming from because they most likely are changing on each DNS query.