Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm trying to setup a local bind DNS server (first time dealing with DNS servers, know a bit about records) that:

  • Routes *.internal, *.*.internal to itself (preferably any combination of subdomains),
  • Forwards everything else to a parent DNS server at

To start with, I'd like to tackle the second forwarding issue. The parent router/dns routes hostname.Home to a computer attached to the network, but these requests don't get forwarded on. Lookups for and external sites do work however.

Currently I have the following named.conf:

options {
    directory "/var/cache/bind";

    dnssec-validation no;
    dnssec-lookaside no;
    auth-nxdomain no;    # conform to RFC1035 

    listen-on { any; };
    listen-on-v6 { any; };

    # Recursively forward requests onto the parent DNS
    forwarders {; };
    recursion yes;
    allow-recursion { any; };
    allow-query { any; };

The results when I attempt to lookup domains:

External domain, local dns

ross@srv:~$ nslookup

Non-authoritative answer:

Internal domain, local dns

ross@tigger:~$ nslookup ross-pc.home

** server can't find ross-pc.home: NXDOMAIN

Internal domain, parent dns

ross@tigger:~$ nslookup ross-pc.home

Non-authoritative answer:
Name:   ross-pc.home

Bind error log:

named[6947]: DNS format error from resolving ross-pc.home/A for
             client reply has no answer
named[6947]: error (FORMERR) resolving 'ross-pc.home/A/IN':
named[6947]: error (network unreachable) resolving 'ross-pc.home/A/IN':
named[6947]: error (network unreachable) resolving 'ross-pc.home/A/IN': 

I've tried to configure bind to be as unrestrictive as possible while I'm getting the basics working. Can someone explain why *.Home requests not being forwarded?

share|improve this question

I found a solution - my upstream router is a home dsl-type router, which apparently can send large udp packets. The solution described here was to add the following lines to use a different DNS mode between dns servers:

server ::/0 { edns no; };
server { edns no; };
share|improve this answer
This is not the correct solution. Either get a proper router (see RFC 5625 on how bad the DNS proxies inside home routers are) or forward your queries to a real DNS server such as Google DNS or OpenDNS. – Alnitak Jan 27 at 9:29

Your Answer


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.