Skip to main content
Version: v8

KB: 4007

What happens when GSLB is configured to authoritative/recursive

In the Haltdos Global Server Load Balancer (GSLB), when you configure it to be authoritative or recursive, the backend behavior changes in terms of DNS resolution and how it handles client requests. Here's what happens in each case:


Authoritative Mode

When GSLB is set as an authoritative DNS server, it directly responds to DNS queries for a specific domain.

kb-4007

Backend Process:

  • A client (or a resolver) queries the authoritative GSLB for a domain.

  • The GSLB checks its internal policies, such as:

    • Load balancing algorithms (e.g., Round Robin, Least Connections, etc.)
    • Health monitoring of backend servers
    • Geolocation-based routing (sending users to the nearest or most optimal server)
  • Based on these factors, the GSLB responds with the most suitable selected ways for the server.

Example Scenario:
A user wants to access example.com, and the GSLB is authoritative for example.com. When a DNS query is made:

  1. The GSLB receives the query.
  2. It evaluates backend server health and policies.
  3. It responds with the best server’s IP (e.g., 192.168.1.10).
  4. The client connects to 192.168.1.10.

Recursive Mode

When GSLB is set as a recursive DNS server, it does not serve authoritative records but instead performs DNS resolution on behalf of the client.

kb-4007

Backend Process:

  • The client queries the GSLB for a domain (e.g., example.com).

  • The GSLB, acting as a recursive resolver, looks up the domain from other DNS servers.

  • It follows the normal DNS resolution process:

    • If cached, it returns the cached response.
    • If not cached, it queries root DNS servers → TLD servers → authoritative servers.
  • After resolving the query, it returns the response to the client.

Example Scenario: A user queries example.com, and the GSLB is recursive:

  1. The GSLB receives the query.
  2. It checks its cache.
  3. If not cached, it queries DNS servers.
  4. It gets the response and returns it to the client.