Dieses Kapitel beschreibt die Installation und Konfiguration von Netzwerkdiensten für die automatische Zuweisung von Netzwerkadressen über das DHCP und die Auflösung von IP-Adressen zu Hostnamen über den DNS.
Um Domain-Namen im lokalen Netzwerk aufzulösen und IP-Adressen per DHCP an mobile Rechner zu verteilen, genügt der leichtgewichtige Dnsmasq daemon.
apt-get install dnsmasq
Den Domain-Namen und die IP-Adressen
trägt man in die Konfigurationsdatei /etc/dnsmasq.conf ein.
# /etc/dnsmasq.conf local=/example/ domain=example dhcp-range=192.168.23.20,192.168.23.255,12h dhcp-option=option:router,192.168.23.1
Das Such-Präfix, den Domain-Namen und die Adresse des
übergeordneten DNS-Servers – normalerweise die des
DSL-Routers – trägt man wie gewohnt in
/etc/resolv.conf ein.
# /etc/resolv.conf search example domain example nameserver 192.168.23.1
Statische IP-Adressen
liest Dnsmasq aus der Datei /etc/hosts.
# /etc/hosts 127.0.0.1 localhost 192.168.23.1 router gw 192.168.23.2 server ns mail www
Für komplexere Anforderungen muß man auf die etwas schwereren Geschütze des ISC DHCP und BIND daemon zurückgreifen.
apt-get install dhcp3-server
Die Konfigurationsdatei /etc/dhcp3/dhcpd.conf muß
manuell angepaßt werden.
# /etc/dhcp3/dhcpd.conf - configuration file for ISC dhcpd for Debian
authoritative;
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
# dynamic dns
ddns-update-style interim;
ddns-domainname example;
include "/etc/bind/rndc.key";
zone example. {
primary 192.168.23.2;
key "rndc-key";
}
zone 23.168.192.in-addr.arpa. {
primary 192.168.23.2;
key "rndc-key";
}
# Address range available for lease
subnet 192.168.23.0 netmask 255.255.255.0 {
range 192.168.23.100 192.168.23.199;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.23.255;
option routers 192.168.23.1;
option domain-name-servers 192.168.23.2;
option domain-name example;
option netbios-name-servers samba.example;
option netbios-dd-server samba.example;
option netbios-node-type 8;
}
BIND ordnet Internet-Adressen zu Hostnamen und umgekehrt.
apt-get install bind9
Nicht-lokale Anfragen werden an den
DNS-Server
des ISPs
weitergeleitet, diese trägt man in der Konfigurationsdatei
/etc/bind/named.conf.options ein.
# /etc/bind/named.conf.options
options {
directory "/var/cache/bind";
auth-nxdomain no; # conform to RFC1035
forwarders { 192.168.23.1; };
};
# /etc/bind/named.conf.local
include "/etc/bind/rndc.key";
zone "example" {
type master;
notify no;
file "/etc/bind/db.example";
allow-update { key "rndc-key"; };
};
zone "23.168.192.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/db.23.168.192";
allow-update { key "rndc-key"; };
};
Bei der Erstellung von lokalen Zonendateien hilft das beiliegende
Skript bindgen.sh. Die erste
Zeile enthält den Netzwerkanteil der Adresse sowie den Domainnamen
des lokalen Subnetzes. Die weiteren Zeilen enhalten jeweils den
Hostanteil der Adresse, den kanonischen Hostnamen sowie optional eine
Reihe von Aliasnamen (CNAMEs).
cat << EOF | ./bindgen.sh 192.168.23 example 1 gateway gw 2 server ns log time mail www samba 3 printer lp EOF
Dieses Skript erzeugt für jedes Netzwerk die Zonen-Einträge der Datei
/etc/bind/named.conf.local sowie die Zonendatenbank
/etc/bind/db.example und die Reverse-Lookup-Zonendatenbank
/etc/bind/db.23.168.192.
Bei der Fehlersuche hilft das Programm dig(1).
Auf dem Mailserver sollte man ein Alias
für den hostmaster anlegen.