The DTC uses a MaxMind database for GeoIP information. The one that comes with NIOS is old.
You can sign up for a free account with MaxMind and download the free "lite" version of the database. “GeoLite2-City” gives you city level data. Extract the GeoLite2-City.mmdb file from the tar.gz download file and upload to NIOS under Grid > DNS > Traffic Control > Topology Database > Import GeoIP Database.
When the DTC subscription expires, the expected behaviour is for the DTC service to stop working.
You can enabled/disable LBDN/Pool/Server without restarting DNS by using “DTC:Object”.
See here for the API. In the UI, this requires hovering the cursor over the topology viewer.
Data Management > DNS > Traffic Control > Manage Health Monitors > [Monitor Name] > Request / Response.
In the “HTTP Request Box”, don't forget that for proper monitoring you will need to include a second line with “HTTP/1.1” because, by default, DTC uses “HTTP/1.0”
Also, if there are multiple sites behind one IP, you may need to add the “HOST … ” line
e.g.
GET /app1.html HTTP/1.1 HOST: www.example.corp
If you need to use HOST, you will probably need to form the config as follows:
GET http://www.dtc.example.corp/index.html HTTP/1.1
Best Practices To get the most from Infoblox DTC, Infoblox recommends the following best practices:
Documentation on DNSSEC with DTC is here.
You can have DNSSEC and DTC configurations on the same zone. There are some prerequisites and limitations that you won’t come across with unsigned zones.
See the section “Associating LBDNs with DNSSEC Signed Zones” in the documentation.
When using DTC, if you want DTC to consider EDNS0 option, select “When DNS Traffic Control is enabled, direct traffic according to EDNS0 Client Subnet when possible” from Grid Properties > Traffic Control.
DTC doesn't pay any attention to the “Add” and “Copy” features of NIOS Forwarders (DNS Properties > Forwarding) as that feature is for Infoblox Threat Defense cloud only.
Use DTC to pole both members of a Panorama HA pair to see which is active. Use in “Global Availability” balance.
HTTP request:
GET /api/?type=op&cmd=%3Cshow%3E%3Chigh-availability%3E%3Cstate%3E%3C%2Fstate%3E%3C%2Fhigh-availability%3E%3C%2Fshow%3E&key=my-really-long-api-key-here== HTTP/1.1 Host: panorama.example.com Connection: close
Response Code Check
A valid response code equals 200
Search for a string in the response content “both the header and body”
Regular expression
<state>primary-active</state>
The content is valid if the regular expression is “found”
As per Setting DNS Logging Categories page, you can enable logging for DTC at a Grid or member level.
The following (DTC load balancing log) is when a client makes a query to something DTC answers.
DNS query
The following (DTC health monitor log) is when checking that GET works with specific match in body.
When the web server was broken by updating the page, the following message is generated.
UserINFOidns_healthd[HTTP monitor 'web-test' checked 'web1' (web1.example.com:80), IPv4 status is OFFLINE (A match for the regular expression was 'not found' in the response. The configuration specifies 'found'.)]When the page is restored, the following message is generated.
UserINFOidns_healthd[HTTP monitor 'web-test' checked 'web1' (web1.example.com:80), IPv4 status is ONLINE][ICMP monitor 'icmp' checked 'web1' (web3.example.com:0), IPv4 status is ONLINE]The following is for a failed ping. NIOS 9.0.6. Facility may be User in older versions.
[ICMP monitor 'icmp' checked 'web1-server' (192.168.22.33:0), IPv4 status is OFFLINE (There was no response to the ICMP request.)]Message: [ICMP monitor 'icmp' checked 'web1-server' (192.168.22.33:0), IPv4 status is ONLINE]