| This content in english |

Debian - DNS-Ser­ver - Bind

Ziel

Inner­halb des ei­gen­en Netz­wer­kes soll ein DNS-Ser­ver ge­nutzt wer­den kön­nen.

Ver­wen­det habe ich:
Debian Lenny in der Stan­dardin­stal­la­tion
+ mc (zum Be­­ar­bei­ten der Da­tei­en)

Installation

# apt-get install bind9

Zu bearbeitende Dateien in diesem Beispiel:

/etc/bind/domain.de
/etc/bind/192.168.1.in-addr.arpa
/etc/bind/named.conf.local.

/etc/bind/named.conf sollte man in Ruhe lassen, wenn man nur Zonen hinzufügen will.

DNS-Zonen

Name der Zonendatei in diesem Beispiel: domain.de.
Entsprechend lautet die Datei in /etc/bind dann auch domain.de. Dateianlegen:

# touch /etc/bind/domain.de

Damit die Anfragen auch rückwärts bearbeitet werden können, muss eine zweite Zonendatei angelegt werden. Angenommen, die Netzadresse wäre 192.168.1, dann würde die weitere Zonendatei heißen: 192.168.1.in-addr.arpa. Datei anlegen:

# touch /etc/bind/192.168.1.in-addr.arpa

Ein NS-Eintrag ist für den Nameserver. Der wird mit in diesem Beispiel dnsserver.domain.de angegeben.
MX-Einträge sind für Mailserver mailserver.domain.de
SOA-Einträge betreffen den Start of Authority.

Datei /etc/bind/domain.de (Auszug)

(Abstände/Tabulatoren hier etwas verringert)

$TTL 2d
@ IN SOA dnsserver.domain.de. root.dnsserver.domain.de. (
2006090501 ; serial
3h ; refresh
1h ; retry
1w ; expiry
1d ) ; minimum

domain.de. IN NS dnsserver.domain.de.
domain.de. IN MX 1 mailserver.domain.de.
computer001 IN A 192.168.1.1
computer002 IN A 192.168.1.2
computer003 IN A 192.168.1.3
computer004 IN A 192.168.1.4
computer005 IN A 192.168.1.5
mailserver IN A 192.168.1.6

Datei /etc/bind/192.168.1.in-addr.arpa (Auszug)

Hier sind die einzelnen Computer aufgeführt

$TTL 604800
@ IN SOA dnsserver.domain.de. root.dnsserver.domain.de. (
2006090501 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL

192.168.1.in-addr.arpa. IN MX 1 mailserver.domain.de.
192.168.1.in-addr.arpa. IN NS dnsserver.domain.de.
1 IN PTR computer001.domain.de.
2 IN PTR computer002.domain.de.
3 IN PTR computer003.domain.de.
4 IN PTR computer004.domain.de.
5 IN PTR computer005.domain.de.
6 IN PTR mailserver.domain.de.

Wich­tig ist, links von Se­rial vor dem Semi­ko­lon die Se­rien­num­mer der Da­tei bei Än­de­run­gen zu er­hö­hen. Hier h­abe ich das Sche­ma Jahr-Mo­nat-Tag-Num­mer (zweistellig) an­ge­wandt. Jahr: 2006, Monat: 09, Tag: 05. Ge­ge­ben­en­falls folgt noch ei­ne zwei­stel­lige Num­mer für die Ver­sion an ei­nem Tag, hier jetzt: 01. Wenn Ein­trä­ge in der Da­tei geän­dert wer­den, die Se­rien­num­mer aber bei­be­hal­ten wird, be­kommt der Dienst nichts von den Än­de­run­gen mit. Mög­lich­er­wei­se gibt es Feh­ler­mel­dun­gen.

Stel­len Sie sich­er, dass der Punkt am En­de der num­mer­ier­ten Zei­len bzw. hin­ter Ein­trä­gen mit Domain­na­men ge­setzt ist. Com­pu­ter mit be­sond­er­er Funk­tion er­hal­ten ei­nen Ein­trag, der ihre Auf­ga­be kenn­zeich­net. Bei ei­nem Mail­ser­ver ist das ein MX-Ein­trag. Außer­dem er­hält der Mail­ser­ver ei­nen 'nor­ma­len' Ein­trag, wie an­de­re Com­pu­ter auch. Für den Mail­ser­ver muss ei­ne Prio­ri­täts­zahl an­ge­ge­ben wer­den. Je nie­dri­ger die Zahl, des­to hö­her die Prio­ri­tät. Es las­sen sich so meh­re­re Mail­ser­ver ein­tra­gen. Die soll­ten un­ter­schied­liche Prio­ri­tä­ten be­kom­men. Wenn E-Mails nicht zu­ge­stellt wer­den kön­nen, wird ver­sucht, einen an­de­ren Mail­ser­ver aus der Lis­te zu er­rei­chen.

Datei /etc/bind/named.conf

// This is the primary configuration file for the
// BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz
// for information on the structure of BIND
// configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in
// /etc/bind/named.conf.local

include "/etc/bind/named.conf.options";

// prime the server with knowledge of the root servers
zone "." {
type hint;
file "/etc/bind/db.root";
};

// be authoritative for the localhost forward and
// reverse zones, and forbroadcast zones as per RFC 1912

zone "localhost" {
type master;
file "/etc/bind/db.local";
};

zone "127.in-addr.arpa" {
type master;
file "/etc/bind/db.127";
};

zone "0.in-addr.arpa" {
type master;
file "/etc/bind/db.0";
};

zone "255.in-addr.arpa" {
type master;
file "/etc/bind/db.255";
};

// zone "com" { type delegation-only; };
// zone "net" { type delegation-only; };

// From the release notes:
// Because many of our users are uncomfortable
// receiving undelegated answers from root or top
// level domains, other than a few for whom that behaviour
// has been trusted and expected for quite some length of
// time, we have now introduced the "root-delegations-only" < br />// feature which applies delegation-only logic to all top
// level domains, and to the root domain. An exception list
// should be specified, including "MUSEUM" and "DE", and
// any other top level domains from whom undelegated
// responses are expected and trusted.
// root-delegation-only exclude { "DE"; "MUSEUM"; };

// Verweis auf eine weitere, einzubindende Datei.
include "/etc/bind/named.conf.local";

Datei /etc/bind/named.conf.local

Hier werden die Pfade zu den oben angegebenen Zonendateien eingetragen.

//
// Do any local configuration here
//

// Consider adding the 1918 zones here, if they are not
// used in your organization
// include "/etc/bind/zones.rfc1918";


zone "domain.de" in {
type master;
file "/etc/bind/domain.de";
allow-update { none;};
};

zone "192.168.1.in-addr.arpa" in {
type master;
file "/etc/bind/192.168.1.in-addr.arpa";
allow-update { none;};
};

Da­tei /etc/bind/named.conf.options

For­war­der sind DNS-Ser­ver, die der ei­ge­ne DNS-Ser­ver fra­gen kann, wenn er selbst nicht wei­ter weiß. Er­set­zen Sie den Ein­trag 123.123.123.123 durch die IP-Adresse des For­war­ders, den Ihr DNS-Ser­ver ver­wen­den soll.

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

// If there is a firewall between you and
// nameservers you want to talk to, you might need
// to uncomment the query-sourcedirective below.
// Previous versions of BIND always asked questions using
// port 53, but BIND 8.1 and later use an unprivileged
// port by default.

// query-source address * port 53;

// If your ISP provided one or more IP addresses for
// stable nameservers, you probably want to use them
// as forwarders. Uncomment the following block,
// and insert the addresses replacing the all-0's
// placeholder.

// forwarders {
// 0.0.0.0;
// };
forwarders {
123.123.123.123;
};

auth-nxdomain no; # conform to RFC1035

};

Än­derun­gen wirk­sam werden las­sen

Der Dienst muss ein Mal neu ge­star­tet wer­den, da­mit die Än­de­run­gen wirk­sam wer­den.

# /etc/init.d/bind9 restart.