Dns Server Settings
Jump to navigation
Jump to search
Back: CSharp Reference Implementation
The Direct Dns Reponder Windows Service reads settings from DirectDnsResponderSvc.exe.config.
You can find sample settings in csharp\windows services\dnsresponder.winsrv\App.config. App.config is compiled into a DirectDnsResponderSvc.exe.config file. When deploying the service binaries, replace the default with your own config file - using a deployment script.
Table of Contents
You can find sample settings in csharp\windows services\dnsresponder.winsrv\App.config. App.config is compiled into a DirectDnsResponderSvc.exe.config file. When deploying the service binaries, replace the default with your own config file - using a deployment script.
ServiceSettings Config Sections
The Dns Server uses custom config section group. Make sure you place the following in your config file.
/configuration/configSections/ServiceSettingsGroup (Required)
<configuration> <configSections> <sectionGroup name="ServiceSettingsGroup"> <section name="RecordRetrievalServiceSettings" type="Health.Direct.Config.Client.ClientSettingsSection, Health.Direct.Config.Client" allowLocation="true" allowDefinition="Everywhere" /> <section name="DnsServerSettings" type="Health.Direct.DnsResponder.DnsServerSettingsSection, Health.Direct.DnsResponder" allowLocation="true" allowDefinition="Everywhere" /> </sectionGroup>
Record Retrieval Service
You store actual Dns Records are in the backend (Sql) configuration store. The store is fronted by the Dns middle-tier Record Retrieval web service. You configure your Dns Server to access this web service - typically, by supplying the service Url.
/ServiceSettingsGroup/RecordRetrievalServiceSettings (Required)
<configuration> <configSections> ... <ServiceSettingsGroup> <RecordRetrievalServiceSettings Url="http://localhost/DnsService/RecordRetrievalService.svc/Records" /> ...
Attribute |
Required |
Type |
Default |
Description |
Url |
Yes |
url |
Url to the record retrieval middle tier service | |
ReceiveTimeout |
No |
int |
WCF defaults |
How long the WCF proxy waits to receive a response from the record service. |
SendTimeout |
No |
int |
WCF defaults |
How long the WCF proxy waits to messages for the record service to accept a request. |
MaxReceivedMessageSize |
No |
int |
int.MaxValue |
Maximum size of a response from the record service |
Server Settings
/ServiceSettingsGroup/DnsServerSettings (Required)
<configuration> <configSections> ... <ServiceSettingsGroup> <DnsServerSettings Address="0.0.0.0" Port="53" DefaultTTL="3600"> <UdpServerSettings MaxOutstandingAccepts="8" MaxActiveRequests="32" SendTimeout="5000" ReceiveTimeout="5000"/> <TcpServerSettings MaxOutstandingAccepts="8" MaxActiveRequests="32" SendTimeout="5000" ReceiveTimeout="5000" SocketCloseTimeout="2000"/> </DnsServerSettings> <ServiceSettingsGroup>
Attributes
Attribute |
Required |
Type |
Default |
Description |
Address |
Yes |
string |
0.0.0.0 |
IP Address the server accepts requests on. 0.0.0.0 (Any) listens on ALL available IPs, including localhost |
Port |
No |
int |
53 |
Port the server listens - both TCP & UDP |
Default TTL |
No |
int |
3600 ms |
Default TTL in milliseconds for records with no TTL assigned in record store |
TCPServerSettings
/ServiceSettingsGroup/DnsServerSettings/TcpServerSettings (Required)
Attribute |
Required |
Type |
Default |
Description |
MaxActiveRequests |
No |
int |
64 |
Maximum number of simultaneous TCP requests the server will accept |
SendTimeout |
No |
int |
15000 |
Milliseconds before server times out a Send to the the client. In case of a a timeout, the server will immediately close the connection. Use short timeouts. |
ReceiveTimeout |
No |
int |
15000 |
Milliseconds before server times out a Read from the client. In case of a a timeout, the server will immediately close the connection. Use short timeouts |
SocketCloseTimeout |
No |
int |
5000 |
Milliseconds socket will wait to send pending data before closing the connection. Use short timeouts. |
MaxOutstandingAccepts |
No |
int |
16 |
Maximum number of pending asynchronous Socket connection Accept operations. An accepted connection This setting minimizes resource usage and should typically be less than MaxActiveRequests. |
UDPServerSettings
/ServiceSettingsGroup/DnsServerSettings/UdpServerSettings (Required)
Attribute |
Required |
Type |
Default |
Description |
MaxActiveRequests |
No |
int |
64 |
Maximum number of simultaneous UDP requests the server will accept |
SendTimeout |
No |
int |
15000 |
Milliseconds before server times out a Send to the the client. In case of a a timeout, the server will immediately close the connection. Use short timeouts |
ReceiveTimeout |
No |
int |
15000 |
Milliseconds before server times out a Read from the client. In case of a a timeout, the server will immediately close the connection. Use short timeouts |
SocketCloseTimeout |
No |
int |
5000 |
Milliseconds socket will wait to send pending data before closing the connection. Use short timeouts. |
MaxOutstandingAccepts |
No |
int |
16 |
Maximum number of pending asynchronous Socket Async Receives. This setting minimizes resource usage and should typically be less than MaxActiveRequests. |