Using Google's recently announced Public DNS

http://code.google.com/speed/public-dns/

No forwarders, not previously cached: 259ms.

; > DiG 9.3.4-P1 > disney.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 0

;; QUESTION SECTION:
;disney.com. IN A

;; ANSWER SECTION:
disney.com. 900 IN A 199.181.132.250

;; AUTHORITY SECTION:
disney.com. 86400 IN NS huey.disney.com.
disney.com. 86400 IN NS huey11.disney.com.

;; Query time: 259 msec
;; SERVER: 192.168.250.220#53(192.168.250.220)
;; WHEN: Thu Dec 3 10:52:19 2009
;; MSG SIZE rcvd: 84


Using Google's Public DNS, not previously cached: 120ms.

; > DiG 9.3.4-P1 > disney.com
;; global options: printcmd
;; Got answer:
;; ->>HEADER ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 13, ADDITIONAL: 0

;; QUESTION SECTION:
;disney.com. IN A

;; ANSWER SECTION:
disney.com. 900 IN A 199.181.132.250

;; AUTHORITY SECTION:
. 52428 IN NS M.ROOT-SERVERS.NET.
. 52428 IN NS A.ROOT-SERVERS.NET.
. 52428 IN NS B.ROOT-SERVERS.NET.
. 52428 IN NS C.ROOT-SERVERS.NET.
. 52428 IN NS D.ROOT-SERVERS.NET.
. 52428 IN NS E.ROOT-SERVERS.NET.
. 52428 IN NS F.ROOT-SERVERS.NET.
. 52428 IN NS G.ROOT-SERVERS.NET.
. 52428 IN NS H.ROOT-SERVERS.NET.
. 52428 IN NS I.ROOT-SERVERS.NET.
. 52428 IN NS J.ROOT-SERVERS.NET.
. 52428 IN NS K.ROOT-SERVERS.NET.
. 52428 IN NS L.ROOT-SERVERS.NET.

;; Query time: 120 msec
;; SERVER: 192.168.250.220#53(192.168.250.220)
;; WHEN: Thu Dec 3 10:53:45 2009
;; MSG SIZE rcvd: 255

In this trivial and far from scientifically accurate test it appears Google's DNS is considerably faster, and as long as they can continue to maintain this level of performance the use of their servers will be greatly beneficial to our office network.

We use ISC-dhcpd and BIND on linux servers and configure them on the boxes using vi. There's no pretty Web Based interface on a broadband router here.

If you have a broadband router, these instructions will not do you any good. Instead, your broadband router probably has a barely-usable web interface, you should RTFM.

Our DHCP hands out the addresses for two of our local servers that run BIND because we host several domains internally.

Making the change:

Assume root status on your name-server

sudo -i

Create a time-stamped backup copy of your /etc/named.conf

cp /etc/named.conf /etc/named.conf.`date +%s`

Edit the BIND configuration file called named.conf.

vi /etc/named.conf

Add the following inside the options {...} section

forwarders { 8.8.8.8; 8.8.4.4; }; //Google Public DNS

If you host zones you should exclude them from forwarding

zone "somedomain.com" IN {
type master;
forwarders { }; //don't forward
file "somedomain.internal.db";
allow-transfer {
192.168.0.215;
};
notify yes;
};

Test the new configurations

/etc/init.d/named configtest

Restart Named

/etc/init.d/named restart

Rinse and repeat for each of the name-servers that your DHCP server hands out to your clients.

Get out of root before you screw something else up

exit

Let your office enjoy.