DNS Troubleshooting
DNS Troubleshooting
2017
DNS Troubleshooting
PRESENTED BY:
Introduction to BIGIP DNS
DNS Hierarchy
It’s a load balancer for DNS queries (caching, traffic management), decision making to load
balance between datacenters.
Terms
• Wide IP - Maps FQDN to one or more pools of virtual servers that host content of the domain.
It responds to listener requests. This will auto create a zone that matches the Wide IP
• Server object - Server defined in BIG-IP DNS is either a BIG-IP or other 3rd party system
responsible for owning one or more virtual server service.
i. BIGIP devices (LTM/ASM/APM/etc) – Standalone/Redudant-Pair
ii. Generic LB/Host (3rd party system) – Citrix LB, Cisco CSS, Centos machine
Purpose
Establishing communication between GTM and other system to be in a same Sync Group
Requirement
1) DNS members must be running on same version (source: K13703)
i. BIG-IP DNS synchronization group communication
ii. Monitored BIG-IP systems must run the same or newer big3d version as the DNS / GTM
that are monitoring them
2) Sync parameter must defined properly
3) NTP in sync
4) Port lockdown allowing 4353 and 443
5) Compatible big3d version
Virtual Server/Link Autodiscovery (K13994)
• The BIG-IP DNS configuration contains one or more BIG-IP server objects
• TCP port 4353 is allowed between the BIG-IP DNS system and target BIG-IP systems
• The target BIG-IP system's virtual server addresses must not employ network address
translation
Important Note:
K9138: The BIG-IP GTM system disables virtual server auto-discovery for BIG-IP systems
that use translated virtual server addresses
bigip_add
- Exchanges iQuery SSL certificate with remove BIGIP
- Append Local GTM system’s certificate to remote BIGIP authorized cert (stored in /config/big3d/client.crt)
- Append remote iQuery cert to local GTM list of authenticate iQuery (stored in .config/gtm/server.crt)
bigip_install (K13703)
- Similar to bigip_add but install the big3d version if its older than the local GTM F5 system
- To check: run:
# /usr/sbin/big3d -v (default big3d agent)
#/shared/bin/big3d –v (executable file)
gtm_add
- Integrate new GTM system into existing sync group
- Replace current config (bigip_gtm.conf, named.conf and the name zone files)
Troubleshoot iQuery
1. Config Utility
- Check the status of the server object (Global Traffic -> Server -> Server List
- iQuery Stat (Statistic -> Global Traffic -> Statistic Type -> iQuery)
- Summary Stat (Statistic -> Global Traffic)
2. TMSH
- Server (tmsh show /gtm server all)
- iQuery (tmsh show /gtm iquery all)
- GTM (tmsh show /gtm)
3. /var/log/gtm
• If the iQuery channel is established, iqdump returns XML similar to the following example:
By default, the members of a GTM sync group dynamically determine the best BIG-IP device within the sync
group configuration to use as the prober for the non-BIG-IP device server objects. Devices defined within the
same data center as the server object to be probed are preferred. If no local prober is available, a remote
prober is used.
Debugging
To enable debugging
To disable debugging
#qkview –s0
• Perform zone transfers from multiple primary DNS servers that are responsible for different
zones.
• Perform a zone transfer from the local BIND server on the BIG-IP system.
• Serve DNS records faster than the primary DNS servers
K15298: Overview of the dnsxdump utility
You can use the dnsxdump utility to view the DNS Express database information, which includes zone
information and statistics.
• The DB Dump section of the dnsxdump utility output displays the zone information for all configured DNS
Express zones.
• The DB Stats section of the dnsxdump utility output displays a cumulative count of records for all configured
DNS Express zones.
ZoneRunner utility is used to manage both DNS zone files and the BIND configuration file on the BIG-IP
GTM system
When the BIG-IP DNS system restarts after a shutdown, the system replays the journal file to incorporate any
updates that took place after the last zone file update into the zone.
Dynamic update periodically flushes the complete contents of the updated zone to its zone file and
automatically deletes the journal file.
i. cd /var/named/config/namedb
ii. cp <zone_filename> <zone_filename>.original
iii. bigstart stop zrd
iv. rndc freeze <zone name> <class> <view>
v. Manually edit the zone for any changes
vi. rndc sync -clean
vii. Run the named-checkzone command to check the file for any syntax errors
• named-checkzone askf5.net db.external.askf5.net
• named-checkconf -t /var/named -z -j /config/named.conf
viii. rndc thaw <zone name> <class> <view>
ix. bigstart start zrd
.
Behaviour of zrd
- When a new dns express zone is added , it writes the data to zxfrd.bin
- It then copies from zxfrd.bin to zxfrd-tmp.bin (15sec timer)
- Rename the zxfrd-tmp.bin to tmmdns.bin (database)
# bigstart stop
# rm -rf /var/db/{tmmdns.bin,zxfrd.bin}
# bigstart start
#qkview –s0