Hostnames on an internal subnet that also resolve in public DNS
Ken Lyons - Graphix Wizard/Data-Forms
KenL at GraphixWizard.com
Wed Feb 11 09:59:39 EST 2009
I don't know of anyway Mara can do that...
This feature is often asked for, but I don't know of any workaround
without changing the code or donating to Sam (best approach).
== As before I use two dns copies in that instance.
Mara by default is both authoritive and recursive..
if domain.com is listed, mara assumes that it will have all records
for that domain and all subdomains.
So if a certain subdomain doesn't exists it's going to return a Serv
Fail instead of passing it on to the upstream DNS.
If the domain isn't in mara it will gladly resolve it using the upstream
DNS.
?? (Delegate specific subdomains to another DNS?)
Maybe Sam knows if there is a switch that could have Mara change from
ServFail ouput and jump to a recursive request instead...
--giving the results you want.
www.domain.com in mara, resolves, unknown.domain.com... would
be ServFailed, but uses upstream to resolve, passing result.
I don't believe there is one, but I don't know everything about mara.
As far as the /etc/hosts.... why not just make a single hosts file and
have each system update using wget or rsync, etc.
Then it still single management point.
Ken
Tom Harrison wrote:
> Thanks Ken,
>
> Running an additional DNS server is not practical in our environment
> (which is Amazon EC2) for several reasons. Amazon EC2 provides their
> own internal server to resolve their own internal addresses, as well
> as recursive DNS requests for public addresses from within the cloud.
> Also our SOA name server for publicly routable names and addresses is
> hosted elsewhere.
>
> I could accomplish everything I need by updating /etc/hosts on all of
> the servers, but this is not practical when you have multiple domains
> and an increasingly large number of servers that come and go. Having a
> single point of management, MaraDNS, becomes essential.
>
> So maybe my question could be rephrased as follows. Is it possible to
> configure MaraDNS to provide the same functionality of /etc/hosts?
> Specifically:
>
> 1) preferential name resolution to a locally routable address of a
> some hosts on our domains,
>
> 2) gracefully passes unresolved requests along to the public/recursive
> DNS server provided by our ISP,
>
> 3) even if some of the addresses are on the same domain as those we
> manage with MaraDNS.
>
> Thanks all!
>
> Tom
>
> On Feb 10, 2009, at 8:23 AM, Ken Lyons - Graphix Wizard/Data-Forms wrote:
>
>> I just run two DNS servers, (two running copies of maradns), one for
>> public and one private resolving.
>> I setup the server to have two Internal network addresses, i.e.
>> 10.x.x.10 (53) = public DNS resolv
>> 10.x.x.11 (53) = private DNS resolv
>> And use the firewall to route who gets what...
>> all WAN side request go to public and all LAN side go to private
>> (or just setup local computers to go directly to the private dns
>> address)
>>
>> Ken Lyons
>>
>>
>>
>> Tom Harrison wrote:
>>>
>>> Hello -- re MaraDNS 1.2.12.08 running on Ubuntu/Debian...
>>>
>>> I need intercommunication of a cluster of servers living in a
>>> private network (10.x.x.x), but also need to get to the address of
>>> the hosts via public DNS. So, for example, web1.example.com might
>>> resolve to 10.0.0.1, routable only within the subnet, but from an
>>> external location (our office) would resolve to a publicly routable
>>> IP like 98.76.544.321. Within the subnet the servers also need to
>>> get at public addresses too, like google.com. I have all of this
>>> working with the config below.
>>>
>>> However, some of the addresses for our domain are not in the subnet,
>>> e.g. our office "corp.example.com"; these are public addresses that
>>> can be resolved by the upstream servers. Is there a way to
>>> configure MaraDNS so that a "miss" on a name like "corp.example.dom"
>>> is passed along thus resolving to its public address?
>>>
>>> mararc:
>>> ipv4_bind_addresses = "10.252.110.37"
>>> chroot_dir = "/etc/maradns"
>>> hide_disclaimer = "YES"
>>> recursive_acl = "10.0.0.0/8"
>>> upstream_servers = {}
>>> upstream_servers["."] = "172.16.0.23"
>>> csv2 = {}
>>> csv2["example.com."] = "db.example.com"
>>>
>>> db.example.com:
>>> master.example.com. 10.252.110.37
>>> web1.example.com. 10.252.46.6
>>>
>>>
>>>
>
>
More information about the list
mailing list