PDNSD is a non authoritative Caching DNS server. It maintains a disk cache of the queries that you system performs and subsequent queries will be faster from the cache. It is safe enough to be use on a personal Unix/Linux system as a home Desktop or a Laptop.
Info about its history, current developer Paul Rombouts and other technical info can be see here http://www.phys.uu.nl/~rombouts/pdnsd.html.
Versions and OS:
OS: Fedora 16 x86_64
PDNSD: 1.2.8 RPM
Fedora 12,13,14,15,15. This should also work with RHEL and Cent OS
PDNSD i386 RPM
PDNSD-1.2.8 SRC RPM
PDNSD-1.2.8 SRC TAR BALL
Your system supports the local interface 'lo' with a 127.0.0.1 ip. This is a standard for all computers irrespective of what OS it is.
A query able DNS server, e.g. your ISP's DNS, OpenDNS, or your ADSL Router if it has got a DNS server.
Necessary firewall configuration that allows DNS query from your system to the forwarding or authoritative DNS server
Login to start and stop network services.
The Downloaded RPM's can be installed with yum. login as root and use the shell terminal and run the commands below. Yum should take care of any missing dependencies.
#yum localinstall pdnsd-1.2.8-par_el5.x86_64.rpm
If you are using the source tar then
#cd <path to the pdnsd source folder>
The files are installed to /usr/local/bin and a pdnsd.conf is copied to the /etc folder.
Your systems DNS configuration and pdnsd.con require amendments as below.
Use a editor like vi to edit the pdnsd.conf file Two sections need changing for the server to serve DNS queries. Leave the remaining sections as is.
perm_cache=16384; - this is in kB, increase it if you want more disk cacheing
server_ip = 127.0.0.1; this is the local 'lo' network interface
paranoid=on; A security feature to avoid cache poisoning
Let other options be defaults.
ip = som.eip.add.ress; Put your ISP's DNS-server address(es) here.
uptest = query; Test if the network interface is active. The above DNS is queried with a DNS request
interface=eth0; The interface connected to the network.
Other options in the config file will be as is and change not required.
In different Unix / Linux flavours, different files and configuration used. resolv.conf is the most common dns setting in a Unix / Linux system. Comment out all existing nameservers and add
Start Service and Test:
The installation has installed a service that needs to be started and used. Also set the service to start up a boot.
#chkconfig --levels 3456 pdnsd on
#service start pdnsd
# nslookup google.com
If there is a error check is the service status, network connectivity, the up DNS server, pdnsd status with
This is a great software for internal LAN, laptops and desktops where the dns query takes a long time and speeds up internet browsing and limits the network DNS traffic to minimal.
I personally use it with my laptop. Its very nice and has a minimal maintenance.