Feedback on D2 server/domain configuration
Thomas Markwalder
tmark at isc.org
Tue Jun 11 14:47:35 UTC 2013
On 6/11/13 8:12 AM, Tomek Mrugalski wrote:
> On 10.06.2013 15:25, Thomas Markwalder wrote:
>> Morning gents:
>>
>> I have the bulk of the configuration management support working for D2.
>> I am now at the point where I could use some feedback on how to organize
>> the domain/server information in the configuration set. I'm proposing
>> the following layout which is essentially server-centric. It maps a
>> list of domains that are supported by a set of forward and reverse servers:
>>
>> DNS Map List
>> DNS Map<0>
>> Forward Server List
>> Server<0> hostname or ip address/port
>> :
>> Server<n>
>> Reverse Server List:
>> Server<0> hostname or ip address/port
>> :
>> Server<n>
>> Domain Name List:
>> Domain Name<0>
>> :
>> Domain Name<n>
>> DNS Map<n>
>>
>> So the most basic setup would be a single server (with no backups) that
>> supported all domains:
>>
>> DNS Map<0>
>> Forward Server<0> 192.168.1.33,4500
>> Reverse Server<0> 192.168.1.33,4500
>> Domain Name<0> "*"
> Do we need to have port specified separately? I thought the DNS traffic
> always goes over port 53. The only case when we could use different port
> would be for testing purposes and even that *sending* to privileged port
> does not require root privileges.
>
> Do we want to separate forward and reverse servers? Perhaps it would be
> easier if instead of port number, you could specify a role (fwd, rev,
> both). Then the simplest configuration be:
>
> DNS Map<0>
> DNS Server<0> 192.168.1.33,both
> Domain Name<0> "*"
>
> On the other hand, this simplicity would be paid by more complex
> handling of the DNS Server list. I don't say we should do it, it's just
> something we may consider.
>
> But I don't have clear understanding of how the complex stuff could be
> configured. Forward Server entries denote DNS servers, sorted from the
> most to least preferred DNS servers for all domains specified on Domain
> Name, right? How would that configuration look if I wanted to say:
>
> domain1.example.org should be updated to 192.1.1.1
> domain2.example.org should be updated to 192.1.1.2
> domain2.example.org should be updated to 192.1.1.3
> reverse for all domains should be updated to 192.1.1.4
>
> Would I have to repeat the reverse configuration for each domain?
>
>
At Stephen's suggestion I looked over how BIND9 handles the
configuration, and it is zone or domain centric rather than server
centric. Below is a configuration layout, with that information in
mind. Note it also addes TSIG key information, which the prior layout
more or less ignored.
The overall structure of the configuration would be this:
# List of TSIG keys used by one or more domains
KeyList
Key<0>
:
Key<n>
# List of all of the forward domains
ForwardDomainList
domain<0>
:
domain<n>
# List of all of the reverse domains
ReverseDomainList
domain<0>
:
domain<n>
# Each TSIG_Key is comprised of the following:
TSIG_Key
{
name
algorithm
secret
}
# Each domain is comprised of the following:
DdnsDomain
{
domain_name
key_name
server_list
{
hostname or ip address,
hostname or ip address
}
}
Using Tomek's earlier example of:
domain1.example.org should be updated to 192.1.1.1
domain2.example.org should be updated to 192.1.1.2
domain2.example.org should be updated to 192.1.1.3
reverse for all domains should be updated to 192.1.1.4
and add to that, suppose they all use the same TSIG_key,
then the configuration would look something like this:
KeyList
{
Key<0>
{
name : d2.example.org
algorithm : hmac-md5
secret : RxOu1NWXSpvNqfP8rm6Q===
}
}
Forward Domain List
{
Domain<0>
{
name domain1.example.org
key d2.example.org
Server List
{
server<0> 192.168.1.1
}
}
Domain<1>
{
name domain2.example.org
key d2.example.org
Server List
{
server<0> 192.168.1.2
}
}
Domain<2>
{
name : domain1.example.org
key : d2.example.org
Server List
{
server<0> 192.168.1.3
}
}
}
Reverse Domain List
{
Domain<0>
{
name : example.org"
key : d2.example.org
Server List
server<0> 192.168.1.4
}
}
Stephen had suggested a hierarchical arrangement:
Domain myhosting.com
servers: name/ip, name/ip
subdomains:
Domain: morris.myhosting.com
servers: name/ip, name/ip
Domain: markwalder.myhosting.com
servers: name/ip, name/ip
but I'm not sure I see any particular advantage to allowing them to nest
in the configuration.
Specifying in a flat arrangement seems simpler:
Domain myhosting.com
servers: name/ip, name/ip
Domain: morris.myhosting.com
servers: name/ip, name/ip
Domain: markwalder.myhosting.com
servers: name/ip, name/ip
One could easily adjust the proposed scheme above to accommodate
hierarchy by adding
a "Subdomain List" to the domain definition.
More information about the bind10-dhcp
mailing list