Microsoft DNS Integration FAQ and Troubleshooting
This document provides answers to commonly asked questions about the NetBox Microsoft DNS integration.
General Questions
Q: Does the integration support multiple DNS servers?
A: Yes. Deploy a separate agent instance for each DNS server, each with its own configuration pointing to a different MSFT_DNS_HOST.
Q: Can NetBox push DNS records back to the Windows DNS Server? A: No. The integration is one-way - data flows from Microsoft DNS Server into NetBox only. No changes are written back to the DNS server.
Q: Is the integration free to use? A: The Microsoft DNS integration is available with commercial editions of NetBox.
Q: Do I have to have NetBox Assurance to use this integration? A: Yes. The integration sends discovered data to NetBox via Diode and NetBox Assurance, where you review and apply changes before they are written to NetBox.
Q: Which versions of NetBox are supported? A: NetBox Cloud and NetBox Enterprise v4.2.3 and later.
Q: Does the integration sync reverse lookup zones? A: No. Only forward-lookup zones are processed. Reverse lookup zones and autocreated zones are excluded.
Q: Does the integration sync all record types? A: No. Only A records (IPv4) and AAAA records (IPv6) are synchronized. Other record types (CNAME, MX, PTR, SRV, TXT, etc.) are not ingested.
Technical Questions
Q: What authentication method does the integration use? A: The integration uses NTLM authentication over WinRM (Windows Remote Management). No agent software needs to be installed on the Windows DNS Server.
Q: What permissions does the service account need?
A: The account must be able to run Get-DnsServerZone and Get-DnsServerResourceRecord on the target server. Membership in the local Administrators group on the DNS server is sufficient. If you prefer a least-privilege approach, the account needs read access to the DNS Server PowerShell module.
Q: What happens when multiple DNS names point to the same IP address?
A: All FQDNs for that IP are collected across all zones. The alphabetically first name is set as the dns_name field on the NetBox IP address object. Any remaining names are stored as a JSON array in the msft_dns_additional_names custom field.
Q: What tags are applied to synchronized objects?
A: Every IP address ingested by the integration is tagged with microsoft, dns, discovered, and a unique per-server tag in the format msft-dns-{host} (e.g., msft-dns-dns-server.corp.example.com).
Q: How often should the integration run?
A: This depends on how frequently your DNS records change. A daily schedule ("0 2 * * *") suits most environments. For environments with frequent changes, every 6 hours ("0 */6 * * *") is reasonable.
Q: Can I limit which zones are synchronized?
A: Yes. Use MSFT_DNS_INCLUDE_ZONES to specify zones or glob patterns to include, and MSFT_DNS_EXCLUDE_ZONES to exclude zones. Both settings support fnmatch glob patterns and are case-insensitive. Exclude is applied after include and always takes precedence.
Q: What is the BOOTSTRAP setting for?
A: Bootstrap mode creates the msft_dns_additional_names custom field in NetBox without connecting to the DNS server. Run it once before the first full sync, apply the resulting deviation in NetBox Assurance, then set BOOTSTRAP: False for all subsequent runs.
Troubleshooting
WinRM Connection Issues
Problem: The agent cannot connect to the Windows DNS Server
- Verify WinRM is enabled on the target server. Run
winrm quickconfigon the server or check that the WinRM service is running - Confirm port 5986 (HTTPS) or 5985 (HTTP) is reachable from the agent host
- Check firewall rules on the Windows Server and any intermediate network devices
- Test basic connectivity with
Test-WsMan -ComputerName <hostname>from another Windows machine on the same network
Problem: Authentication fails with an NTLM error
- Verify the username format is
DOMAIN\username(or.\usernamefor local accounts) - Check the password is correct and has not expired
- Ensure the account is a member of the local Administrators group on the DNS server
- If using a domain account, confirm the agent host can reach the domain controller for NTLM negotiation
Problem: SSL/TLS certificate errors when connecting over WinRM HTTPS
- Windows servers commonly use self-signed certificates for WinRM. The default configuration sets
MSFT_DNS_VERIFY_SSL: falseto accommodate this - If you have a valid certificate on the WinRM HTTPS listener, you can set
MSFT_DNS_VERIFY_SSL: true - To use HTTP instead (not recommended for production), set
MSFT_DNS_USE_SSL: false- this switches to port 5985
Problem: Connection is refused or times out
- Check that the WinRM listener is configured. Run
winrm enumerate winrm/config/listeneron the server to confirm listeners are active - Verify you are using the correct port. The default for HTTPS WinRM is 5986; for HTTP it is 5985
- To override the port, set
MSFT_DNS_PORTin your configuration
Configuration Issues
Problem: Missing required config errors in the agent log
ValueError: Missing required config: MSFT_DNS_HOST, MSFT_DNS_USERNAME
- Ensure all required environment variables are set:
MSFT_DNS_HOST,MSFT_DNS_USERNAME,MSFT_DNS_PASSWORD - If using a
.envfile, confirm the file path is correct and the variables are not commented out - Check the
docker runcommand passes either--env-file .envor individual-eflags for each variable
Problem: Zone filtering results in zero zones being synced
- Check your
MSFT_DNS_INCLUDE_ZONESpatterns match at least one zone on the server - Pattern matching is case-insensitive but must otherwise match the full zone name
- If the agent logs a warning that zones were discovered but all filtered out, adjust your include/exclude patterns
- Setting
MSFT_DNS_INCLUDE_ZONES: [](empty list) intentionally syncs zero zones - omit the key to sync all zones
Data Issues
Problem: Expected IP addresses are not appearing in NetBox
- Confirm the DNS zone containing those records is not excluded by your zone filters
- Check the agent logs for the number of A and AAAA records retrieved per zone
- Verify the records exist in a forward-lookup zone (not a reverse zone)
- Run the agent in dry run mode to inspect the raw entity output before it reaches NetBox
Problem: DNS names are not appearing on IP address objects
- The
dns_namefield is populated from the FQDN constructed asHostName.ZoneName - Check that the zone name is correct and records have a valid
HostName - Records with
@as the hostname use the zone name itself as the FQDN
Problem: The msft_dns_additional_names custom field is missing in NetBox
- This field is created during bootstrap mode. If it is not present, run the agent once with
BOOTSTRAP: True, apply the resulting deviation in NetBox Assurance, then switch back toBOOTSTRAP: False
Bootstrap Issues
Problem: No deviations appear in NetBox Assurance after bootstrap
- Confirm
BOOTSTRAP: Trueis set in the policy config (not just as an environment variable) - Check the agent log for
Added 1 Microsoft DNS custom fields - After stopping the agent, navigate to Assurance → Deviation Types and look for a custom field deviation
- If nothing appears, check the Diode target and credentials are correct
Problem: Bootstrap mode still attempts to connect to the DNS server
- In bootstrap mode the agent should not connect to the DNS server. If you see connection attempts, verify
BOOTSTRAP: Trueis parsed correctly (it must be the booleanTrue, not the string"True")