Skip to content

Commit af60a6a

Browse files
committed
Add content and diagram for Additional DNS Proxy logs section
1 parent 0d783ed commit af60a6a

2 files changed

Lines changed: 57 additions & 4 deletions

File tree

84.1 KB
Loading

articles/firewall/monitor-firewall-reference.md

Lines changed: 57 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,63 @@ The latency probe currently uses Microsoft's Ping Mesh technology, which is base
111111

112112
[!INCLUDE [Microsoft.Network/azureFirewalls](~/reusable-content/ce-skilling/azure/includes/azure-monitor/reference/logs/microsoft-network-azurefirewalls-logs-include.md)]
113113

114-
Azure Firewall has two new diagnostic logs that can help monitor your firewall, but these logs currently do not show application rule details.
115-
- Top flows
116-
- Flow trace
117-
114+
## Additional DNS Proxy Logs
115+
The Additional DNS Proxy logs provides deeper visibility into DNS activity, helping admins troubleshoot resolution issues and verify traffic behavior.
116+
117+
Previously, DNS Proxy logging was limited to:
118+
119+
- **AZFWDNSQuery** - the initial client query
120+
- **AZFWInternalFqdnResolutionFailure** - FQDN resolution failures
121+
122+
With the new DNS Proxy logs, admins can trace the complete DNS resolution flow -- from the client query through the Azure Firewall as a DNS proxy, to the external DNS server, and back to the client.
123+
124+
The logs capture the following stages:
125+
126+
1. **Client query**: The initial DNS query sent by the client.
127+
2. **Forwarder query**: Azure Firewall forwarding the query to an external DNS server (if not cached).
128+
3. **Forwarder response**: The DNS server's response to Azure Firewall.
129+
4. **Client response**: The final resolved response from Azure Firewall back to the client.
130+
131+
Below is a high-level visual representation of the DNS query flow:
132+
133+
:::image type="content" source="media/dns-proxy/dns-query-flow.png" alt-text="DNS Query Flow":::
134+
135+
These logs provide valuable insights, such as:
136+
- The DNS server queried
137+
- Resolved IP addresses
138+
- Whether the Azure Firewall cache was used
139+
140+
**Enabling Additional DNS Proxy Logs**
141+
1. Enable DNS proxy:
142+
1. Navigate to Azure Firewall DNS settings and Enable DNS Proxy.
143+
2. Configure a custom DNS server or use the default Azure DNS.
144+
3. Navigate to Virtual Network DNS settings and set the Firewall's private IP as the primary DNS server.
145+
2. Enable Additional DNS Proxy logs:
146+
1. Navigate to Azure Firewall in the Azure portal.
147+
2. Select **Diagnostic settings** under Monitoring.
148+
3. Choose an existing diagnostic setting or create a new one.
149+
4. Under **Log**, select **Additional DNS Proxy Logs**.
150+
5. Choose your desired destination (Log Analytics, Event Hub, Storage Account).
151+
6. Save the settings.
152+
3. Test the configuration:
153+
1. Generate DNS queries from clients and verify the logs in the chosen destination.
154+
155+
**Understanding the Logs**
156+
Each log entry corresponds to a specific stage in the DNS resolution process.
157+
158+
Type | Description | Key Fields
159+
--- | --- | ---
160+
`Client Query` | The initial DNS query sent by the client. | `SourceIp`: The client's internal IP address making the DNS request, `QueryMessage`: The full DNS query payload, including the requested domain
161+
`Forwarder Query` | Azure Firewall forwarding the DNS query to an external DNS server (if not cached). | `ServerIp`: The IP address of the external DNS server that receives the query, `QueryMessage`: The forwarded DNS query payload, identical or based on the client request
162+
`Forwarder Response` | The DNS server's response to Azure Firewall. | `ServerMessage`: The DNS response payload from the external server., `AnswerSection`: Contains resolved IP addresses, CNAMEs, and any DNSSEC validation results (if applicable).
163+
`Client Response` | The final resolved response from Azure Firewall back to the client. | `ResolvedIp`: The IP address (or addresses) resolved for the queried domain., `ResponseTime`: The total time taken to resolve the query, measured from the client’s request to the returned answer
164+
165+
The above fields are only a subset of the available fields in each log entry.
166+
167+
Key notes:
168+
- If the DNS cache is used, only **Client Query** and **Client Response** entries are generated.
169+
- Logs include standard metadata such as timestamps, source/destination IPs, protocols, and DNS message content.
170+
- To avoid excessive log volume in environments with many short-lived queries, enable additional DNS Proxy logs only when deeper DNS troubleshooting is required.
118171

119172

120173
## Top flows

0 commit comments

Comments
 (0)