2.2.9.1.1 DNS_LOG_LEVELS
The DNS_LOG_LEVELS bit field is a 32-bit integer that specifies the various filters and options that can be configured for the DNS server to log packet exchange information to the server log file. There are four layers of filtering:
Content filter: Filters on the function (that is, the DNS opcode) of the content of a packet.
Type filter: Filters on whether the packet is a question or an answer.
Direction filter: Filters on the network direction of the packet (received or sent).
Transport filter: Filters on the transport mechanism (TCP or UDP).
Since filters are applied independently, and a packet is logged only if allowed by all filters, setting all bits for any given filter to zero indicates that no packets are to be logged.
Bits other than those listed in the following table can be set to any arbitrary value when sent, and MUST be ignored on receipt.
Constant/value |
Description |
---|---|
DNS_LOG_LEVEL_QUERY 0x00000001 |
The server allows query packet exchanges through the content filter. |
DNS_LOG_LEVEL_NOTIFY 0x00000010 |
The server allows packet exchanges related to zone exchange through the content filter. |
DNS_LOG_LEVEL_UPDATE 0x00000020 |
The server allows packet exchanges related to zone updates through the content filter. |
DNS_LOG_LEVEL_QUESTIONS 0x00000100 |
The server allows packets containing questions through the type filter. |
DNS_LOG_LEVEL_ANSWERS 0x00000200 |
The server allows packets containing answers through the type filter. |
DNS_LOG_LEVEL_SEND 0x00001000 |
The server allows packets it sends out through the direction filter. |
DNS_LOG_LEVEL_RECV 0x00002000 |
The server allows packets it receives through the direction filter. |
DNS_LOG_LEVEL_UDP 0x00004000 |
The server allows UDP packet exchange through the transport filter. |
DNS_LOG_LEVEL_TCP 0x00008000 |
The server allows TCP packet exchange through the transport filter. |
DNS_LOG_LEVEL_ALL_PACKETS 0x0000FFFF |
The server logs operations that fulfill the following filter set: DNS_LOG_LEVEL_SEND or DNS_LOG_LEVEL_RECV, or DNS_LOG_LEVEL_TCP or DNS_LOG_LEVEL_UDP, or DNS_LOG_LEVEL_QUERY or DNS_LOG_LEVEL_NOTIFY or DNS_LOG_LEVEL_UPDATE, or DNS_LOG_LEVEL_QUESTIONS or DNS_LOG_LEVEL_ANSWERS. |
DNS_LOG_LEVEL_DS_WRITE 0x00010000 |
Independent of the values of the other filters, logs Active Directory write operations. |
DNS_LOG_LEVEL_DS_UPDATE 0x00020000 |
Independent of the values of the other filters, logs Active Directory polling operations and operations during DNS updates (secure and unsecure) on Active Directory integrated zones. |
DNS_LOG_LEVEL_FULL_PACKETS 0x01000000 |
If allowed by the filters, the server logs the entire packet to the log file. |
DNS_LOG_LEVEL_UNMATCHED_RESPONSE 0x02000000 |
If allowed by the filters, the server logs response packets that do not match any outstanding query.<65> |
DNS_LOG_LEVEL_WRITE_THROUGH 0x80000000 |
If allowed by the filters, the server saves packet logging information to persistent storage. |