Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have a small home network that just got larger ( New roommate, My existing roommate got a laptop (on top of her computer)j, my friends coming over with laptop, etc ).

I'd like to run a local DNS server for lookups of my local network stuff (fileserver.local, windowsTV.local, machineA.local, machineB.local, appletv.local). I used to have a business line with a static IP, and run bind/named internally. However, now, I have a normal account.

My ISP's DNS servers are constantly changing (for whatever reasons my ISP doesn't like to keep the same IP range for long). I need my local DNS to be automatically updated to use my ISP's DNS for external traffic, but be able to maintain an internal DNS server (getting to update the hosts file is being a hassle with every new machine on top of rebuilding existing machines with win7 or Ubuntu 9.04).

Additionally, My ISP's DNS servers often crash or become unresponsive. Are there any open DNS servers that are reliable (i don't want to reconfig every day) that I could use as my primary, then if those fail, then use my ISP's?

UPDATE: Also looking for each workstation to be able to use dhcp to connect, but instead of getting ISP dns servers, getting my internal one....

Thanks

share|improve this question
2  
There are at least 2 questions here: Local DNS config, public DNS servers. Post 2 questions next time. –  hyperslug Sep 23 '09 at 19:09
3  
I agree, but i'm looking for an overall solution. each question on it's own would have a correct answer, but may not mesh, i'm trying to look for solution to both problems that works together. –  Roy Rico Sep 23 '09 at 20:51
    
@RoyRico Did you ever find a good solution? I am trying to do the exat same thing witha Tomato router and am running into walls at every direction. –  Jeff Dec 15 '12 at 3:04
    
If you have a linux box, here is how to setup DNSMASq in details -- sfxpt.wordpress.com/2011/02/06/… –  xpt Jun 15 at 23:29

10 Answers 10

up vote 8 down vote accepted

If you want internal fake domains to work you can't configure your workstations with any DNS servers except your own. Once you set up BIND it can work by itself and you don't need your ISP's or any other non-authoritative DNS servers at all.

share|improve this answer
    
However a good netizen will forward to their ISP's DNS caches if possible. The load on the root DNS servers is horrendous. Especially for small sites like this one, because it wouldn't scale if every household decided to go direct. (If you're worried about ISP tampering, use DNSSEC). –  sourcejedi May 1 '13 at 18:53
    
@sourcejedi, you misunderstand what a caching DNS server actually does.. it certainly doesn't pound on the root servers, it only bothers them maybe once a week. –  milli Feb 12 at 5:31
1  
There's a different reason why you should forward to your ISP DNS servers... you'll look like an ordinary client to them. If you don't and they see you have a system that's sending DNS queries all over the world, they're going to assume you're running a DNS server and might just throw a firewall rule in your face and hose you. You'll struggle to figure out what broke and probably waste hours trying to figure it out if/when that happens. –  milli Feb 12 at 5:32
    
can run local DNS server + cache server make local network faster??? –  Jeson Park Jul 23 at 18:45

4.2.2.1 & 4.2.2.2 are what I use

edit: that is, in regard to public servers. Easy to remember and I don't think I've seen them fail since I've been using them.

share|improve this answer
    
Iv'e seen those before. Who runs those? Are the public allowed to use them? how reliable are they? –  Roy Rico Sep 23 '09 at 18:46
    
Verizon. Seems like they don't care. Very. –  hyperslug Sep 23 '09 at 18:55
    
They are open DNS servers, free for public use. They are both fast and reliable. –  Walter Mar 3 '10 at 3:16
3  
I have seen 4.2.2.2 fail enough for our customers (who require reliable DNS for credit card processing!) that I always change these to Google's Public DNS or OpenDNS whenever I see them. Changing away from Verizon's servers always clears this problem immediately. –  Stephen Jennings Mar 3 '10 at 3:28

For running a DNS server on your LAN, you can use take a look at 'pdnsd' which is a nameserver for *nix.

share|improve this answer

Are there any open DNS servers that are reliable

You said it: OpenDNS.

208.67.222.222
208.67.220.220
share|improve this answer
2  
I would also look at aboutdebian.com/dns.htm for a good overview of the different ways you can setup your own dns server. –  Kenneth Cochran Sep 23 '09 at 19:04
1  
+1 for OpenDNS. I use it both at work and at home. Fantastic service. –  DWilliams Sep 24 '09 at 0:19
4  
Be careful that OpenDNS name servers are liars: they rewrite DNS responses, to direct you to an ad service or to censor some destinations. –  bortzmeyer Sep 24 '09 at 7:55
    
@bortz, I haven't seen them lie about it, but they do redirect to their landing page + ads in case of malformed URL's. The censoring is opt-in and is off by default. –  hyperslug Sep 24 '09 at 17:24
2  
Google's public DNS servers at 8.8.8.8 and 8.8.4.4 are also pretty good. –  ultrasawblade Feb 16 '11 at 14:30

Any Broadband router delivers both DNS & DHCP services for the local network. If you want INcomming connections from internet to local machines you need a router that also supports DynDNS and Incomming PortForwarding.

If you pick one from the DD-wrt supported hardware list you can flash it with that Firmware and it will support any feature you could ever need in your small network.

share|improve this answer
2  
I don't think that most broadband routers provide for DNS service, at least not with the provided firmware. Most just provide DHCP and use that to tell your systems to use your ISP's DNS servers. Now, if you flash on a 3rd party firmware like DD-WRT, OpenWRT, or Tomato, then they can provide DNS services as well. –  afrazier Feb 16 '11 at 15:00

Unbound is pretty easy, supports bind style config files and fairly reliable. If the server will be a stand-alone 'gateway' type box, and you'd like a few extra niceties, you might want to take a look at the firewall/gateway distro called untangle as well.

share|improve this answer

If you are running Windows - you should take a look at Simple DNS Plus - it is a full DNS server that also comes with a DHCP server plug-in - and has an easy-to-use GUI.

[Note: the product is developed by the author of this post]

share|improve this answer
    
I'm running windows as one of my machines, but it's not always on. Linux machine is usually on. –  Roy Rico Jan 25 '11 at 1:31

If you download the DNS benchmark program from link text, it will benchmark a list of public DNS servers as well as your local DNS server. After running this program, try putting a copy of the fastest servers into the DNS setting on your router and then renew your DHCP session and running the test again.

If your router allows it, add both the router and one of the fast external DNS servers to the list of DNS servers that it hands to DHCP client (but pick a different one from the one that you entered for the router DNS server addresses).

share|improve this answer

If you have a linux box then you'd want to setup DNSMASq got your local addresses and use it as a forwarding/caching DNS server for external addresses. This is also often what is used on linux distributions for home routers such as openwrt/ddwrt/tomato.

Alternately, on mostly Apple/Mac networks you'd be using Bonjour/Zeroconf which both Linux and Apple computers can communicate on for broadcast level DNS/service resolution.

That being said, on a purely hybrid network with all three OS running, you'll definately want a local DNS server with forwarding to either OpenDNS, GoogleDNS, or your local ISP DNS depending on your location/needs.

share|improve this answer

Basically you need to run your own DHCP and DNS server. You're already running your own DHCP server if you have a typical router that gives out private IP addresses.

Your DHCP server must be configured to hand out your router IP as the gateway address, and your DNS server IP as the DNS server address, obviously.

Your DNS server must be configured to resolve a non-official top-level domain locally, such as .local, and then forward any other requests to another DNS. In BIND you need to add a forwarders { } section to your `/etc/bind/named.conf.options' which contains the public DNS servers you want to use to resolve non-local addresses. As other comments suggest, if you don't want to forward to your ISP's DNS servers, you can use OpenDNS, Google's public DNS servers, or 4.2.2.1/4.2.2.2 (I forget who does those).

If you are running your own DNS server, you need a box that will be on all the time, as all DNS queries on your home network will go through it. This box needs a fixed IP on your home subnet. Make sure it can't get bulldozed by DHCP, and the box itself should not be getting an IP via DHCP. If your DHCP is configured to hand out addresses from 192.168.1.1 to 192.168.1.100 for example, then give your DNS server the IP 192.168.1.101. In the usual situation of home routers you just need to simply tell the router that the DNS server is 192.168.1.101 and reboot.

If you can get a local DNS running on your broadband router, great, but a DNS server might benefit from lots of RAM for caching queries, depending on which DNS software you use. On my network I just use straight BIND. Sounds like you might have a little experience with that and for me it works great.

share|improve this answer
2  
4.2.2.1/4.2.2.2/4.2.2.3 are from Layer 3. –  Hengjie Nov 28 '12 at 11:42

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.