Als erstes installieren wir das Packet mit apt-get (wichtig hierbei ist, dass man die 9 bei bind9 nicht vergisst, sonst wird nur die 8er installed.)
Code: Select all
apt-get install bind9
also machen wir ein
Code: Select all
/etc/init.d/bind9 stop
Code: Select all
useradd -c Bind9-NameServer -s /bin/false bind
Code: Select all
mkdir /var/run/bind
Code: Select all
chown bind:users /var/run/bind/
Code: Select all
nano /etc/bind/named.conf
Wir fügen unter dieser Zeile
Code: Select all
directory "/var/cache/bind";
Code: Select all
pid-file "/var/run/bind/named.pid";
Dann öffnen wir das Startscript von Bind9
Code: Select all
nano /etc/init.d/bind9
Code: Select all
OPTS=""
Code: Select all
OPTS="-n 1 -u bind"
Dann suchen wir diese Zeile:
Code: Select all
--pidfile /var/run/named.pid --exec /usr/sbin/named -- $OPTS
Code: Select all
--pidfile /var/run/bind/named.pid --exec /usr/sbin/named -- $OPTS
Code: Select all
chown bind:users /etc/bind/rndc.key
chown -R bind:users /var/cache/bind/
Code: Select all
/etc/init.d/bind9 start
---------------------------------------------------------------------------------
Schnipp !
Nun müssen wir den NameServer konfigurieren:
Wir öffnen wieder die /etc/bind/named.conf
Code: Select all
nano /etc/bind/named.conf
Code: Select all
options {
directory "/var/cache/bind";
pid-file "/var/run/bind/named.pid";
notify yes;
allow-transfer { 195.20.224.97; 195.20.225.34; };
forwarders { 195.20.224.234; 195.20.224.99; };
forward first;
listen-on port 53 { 127.0.0.1; 217.160.xyz.abc; };
listen-on-v6 { none; };
allow-query { 127.0.0.1; 217.160.xyz.abc; };
allow-recursion { 127.0.0.1; 217.160.xyz.abc; };
auth-nxdomain no; # conform to RFC1035
// version "My version is so secret that I even dont know what Im running on";
// Wer seine Bind Version "verstecken" will, kann die beide // vor version entfernen.
// If there is a firewall between you and nameservers you want
// to talk to, you might need to uncomment the query-source
// directive 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;
// };
// auth-nxdomain no; # conform to RFC1035
};
Ansonsten lässt du alles unverändert, und gehst ganz ans Ende der Datei ( // add entries for other zones below here )
Falls du eine "Reverse Zone" für eine IP brauchst, legst du dort als 1. folgenden Eintrag an: (allerdings hat man bei seinem RootServer eh nur eine IP, und den Reverse Eintrag dafür setzt bereits 1&1, im Normalfall kann man diesen Schritt also einfach überspringen.)
Code: Select all
zone "xyz.160.217.in-addr.arpa" in {
type master;
file "/etc/bind/217.160.xyz.zone";
allow-query { any; };
};
Jetzt legen wir endlich unsere 1. und 2. ... Domain an:
Code: Select all
zone "domain1.tld" in {
type master;
file "/etc/bind/default.zone";
allow-query { any; };
};
zone "domain2.tld" in {
type master;
file "/etc/bind/default.zone";
allow-query { any; };
};
Jetzt müssen wir die ganzen Dateien, die wir in die named.conf eingetragen haben (bei den Zonen) erstellen:
---------------------------
(Muss nur gemacht werden, wenn man einen eigenen Reverse Eintrag gemacht hat)
Code: Select all
nano /etc/bind/217.160.xyz.zone
Code: Select all
$TTL 1W
@ IN SOA ns.domain1.tld. root.domain1.tld. (
2002022501 ; serial
8H ; refresh
2H ; retry
1W ; expiry
11h) ; minimum
IN NS ns
IN NS ns.schlund.de.
abc IN PTR domain1.de.
----------------------------
(Ab hier geht es wieder für jeden weiter !)
Code: Select all
nano /etc/bind/default.zone
Code: Select all
$TTL 1W
@ IN SOA ns root (
2003022501 ; serial
8H ; refresh
2H ; retry
1W ; expiry
11h) ; minimum
IN NS ns
IN NS ns.schlund.de.
IN MX 80 mail
IN A 217.160.xyz.abc
IN MX 80 mail
* IN A 217.160.xyz.abc
IN MX 80 mail
ns IN A 217.160.xyz.abc
; Fuer die Subdomain NS wird kein MX Eintrag angelegt !
mail IN A 217.160.xyz.abc
IN MX 80 mail
Der große Vorteil hierbei ist, dass dies eine default.zone ist. Das heißt, diese Zonefile kann bei allen Domains benutzt werden.
Werden eigene spezielle ZoneFiles benötigt, muss man so vorgehen:
named.conf editieren, ganz ans Ende gehen:
Code: Select all
zone "domain3.tld" in {
type master;
file "/etc/bind/domain3.tld.zone";
allow-query { any; };
};
Der Eintrag "serial" in der jeweils dritten Zeile einer Zone-Datei ist die Seriennummer, welche nach jeder Ã?nderung erhöht werden muss, damit andere Nameserver merken, dass sich hier etwas geändert hat. Die Seriennummer muss das Format "YYYYMMDDxx" haben, wobei die ersten acht Zeichen das aktuelle Datum repräsentieren und die letzten beiden Zeichen eine fortlaufende Nummer.
--------------------------------------------------
Schnipp
NameServer neustarten
Code: Select all
/etc/init.d/bind9 restart
Unter /var/log/messages und /var/log/syslog kannst du überprüfen ob dein Nameserver richtig läuft oder Fehlermeldungen ausgibt.
Code: Select all
(tail -20 /var/log/messages; tail -20 /var/log/syslog) | less
Code: Select all
dig @217.160.xyz.abc domain1.de any
dig @217.160.xyz.abc domain2.de any
Wird jedoch "status: NOERROR" gemeldet läuft der Nameserver korrekt.
Bei Ã?nderungen an den ZoneFiles muss immer die Serial erhöht/verändert werden, außerdem dauert es 1-2 Tage, bis auch die "anderen" NameServer diese Ã?nderungen "mitbekommen" haben. Natürlich nach einer Ã?nderung immer Bind neustarten ( /etc/init.d/bind9 restart )
Wenn jemand Fehler findet, oder Fragen hat, unbedingt hier posten !
History:
v0.1 24.2.03 HowTo komplett überarbeitet, History eingeführt
v0.2 25.2.03 Bugfix: Wenn man version "..." aktivierte, fehlte am Ende ein ;