how do I get a single DNS to return addresses based on query

Andris Kalnozols andris at
Mon Jun 17 23:00:12 UTC 2002

> Yossie Silverman <yossie at> wrote:
> The problem:
> I would like to have a single DNS server (bind) running on my 
> network.  This server should return an internal (non global) address 
> when the source address of the query is internal as well.  Otherwise, 
> it should return the external (global) address.  From what I can tell 
> from the docs, sortlist (in options) SHOULD be able to do this, but 
> it isn't clear exactly how to get it to do so.
> E.g.
> Internal network:
> If a query comes from this network, for 'mail', the resolved address 
> should be  If it comes from outside this network, the 
> resolved address should be (all addresses are 
> "fictitious").
> Thanks! - Yossie

Try this:

acl "internal-net" { 192.168.1/24; };
options {
        sortlist {
                { { localhost;          # IF   from the local host []
                    internal-net; };    # OR   from the internal network
                    internal-net; };    # THEN prefer internally-connected addr
                { any;                  # IF   from an external net
                    !internal-net; };   # THEN prefer any non-internal address


More information about the bind-users mailing list