// Sample pdnsd configuration file. Must be customized to obtain a working pdnsd setup! // Read the pdnsd.conf(5) manpage for an explanation of the options. // Add or remove '#' in front of options you want to disable or enable, respectively. // Remove '/*' and '*/' to enable complete sections. global { perm_cache=1024; cache_dir="/var/cache/pdnsd"; # pid_file = /var/run/pdnsd.pid; run_as="nobody"; server_ip = 0.0.0.0; # Use eth0 here if you want to allow other # machines on your network to query pdnsd. status_ctl = on; # paranoid=on; # This option reduces the chance of cache poisoning # but may make pdnsd less efficient, unfortunately. query_method=udp_tcp; min_ttl=1s; max_ttl=1w; neg_ttl=60s; # how long before we retry a query one it has failed? timeout=10; # Global timeout option (10 seconds). neg_domain_pol=on; udpbufsize=1024; # Upper limit on the size of UDP messages. } server { label= "primary"; ip = 8.8.4.4; # Put your ISP's DNS-server address(es) here. timeout=4; # Server timeout; this may be much shorter # that the global timeout option. uptest=query; # Test if the network interface is active. query_test_name="."; interval=60s; # Check every 60s. purge_cache=off; # Keep stale cache entries in case the ISP's # DNS servers go offline. edns_query=yes; # Use EDNS for outgoing queries to allow UDP messages # larger than 512 bytes. May cause trouble with some # legacy systems. } server { label= "secondary"; ip = 8.8.8.8; # Put your ISP's DNS-server address(es) here. timeout=4; # Server timeout; this may be much shorter # that the global timeout option. uptest=query; # Test if the network interface is active. query_test_name="."; interval=60s; # Check every 60s. purge_cache=off; # Keep stale cache entries in case the ISP's # DNS servers go offline. edns_query=yes; # Use EDNS for outgoing queries to allow UDP messages # larger than 512 bytes. May cause trouble with some # legacy systems. } /* # This section is meant for resolving from root servers. server { label = "root-servers"; root_server = discover; # Query the name servers listed below # to obtain a full list of root servers. randomize_servers = on; # Give every root server an equal chance # of being queried. ip = 198.41.0.4, # This list will be expanded to the full 192.228.79.201; # list on start up. timeout = 5; uptest = query; # Test availability # query_test_name = .; # To be used if remote servers ignore empty queries. interval = 30m; # Test every half hour. ping_timeout = 300; # Test should time out after 30 seconds. purge_cache = off; # edns_query = yes; # Use EDNS for outgoing queries to allow UDP messages # larger than 512 bytes. May cause trouble with some # legacy systems. exclude = .localdomain; policy = included; preset = off; } */ source { owner=localhost; # serve_aliases=on; file="/etc/hosts"; } /* include {file="/etc/pdnsd.include";} # Read additional definitions from /etc/pdnsd.include. */ rr { name=localhost; reverse=on; a=127.0.0.1; owner=localhost; soa=localhost,root.localhost,42,86400,900,86400,86400; } /* neg { name=doubleclick.net; types=domain; # This will also block xxx.doubleclick.net, etc. } */ /* neg { name=bad.server.com; # Badly behaved server you don't want to connect to. types=A,AAAA; } */