Server-Konfiguration · 5 min read · Oct 09, 2025
Der perfekte Lastenausgeglichene & Hochverfügbarkeits-Webcluster mit 2 Servern, die Xen auf Ubuntu 8.04 Hardy Heron ausführen - Seite 3
8. DNS-Server (web1, web2)
8.1 Installieren Sie den DNS-Server
Führen Sie aus :
apt-get install bind9
Aus Sicherheitsgründen möchten wir BIND chrooted ausführen, daher müssen wir die folgenden Schritte durchführen:
/etc/init.d/bind9 stop
Bearbeiten Sie die Datei /etc/default/bind9, damit der Daemon als unprivilegierter Benutzer bind, chrooted zu /var/lib/named, ausgeführt wird. Ändern Sie die Zeile: OPTIONS=”-u bind” so, dass sie OPTIONS=”-u bind -t /var/lib/named” lautet:
vi /etc/default/bind9
OPTIONS="-u bind -t /var/lib/named"
# Set RESOLVCONF=no, um resolvconf nicht auszuführen
RESOLVCONF=yesErstellen Sie die erforderlichen Verzeichnisse unter /var/lib:
mkdir -p /var/lib/named/etc
mkdir /var/lib/named/dev
mkdir -p /var/lib/named/var/cache/bind
mkdir -p /var/lib/named/var/run/bind/run
Verschieben Sie dann das Konfigurationsverzeichnis von /etc nach /var/lib/named/etc:
mv /etc/bind /var/lib/named/etc
Erstellen Sie einen Symlink zum neuen Konfigurationsverzeichnis vom alten Standort (um Probleme zu vermeiden, wenn bind in Zukunft aktualisiert wird):
ln -s /var/lib/named/etc/bind /etc/bind
Erstellen Sie Null- und Zufallsgeräte und beheben Sie die Berechtigungen der Verzeichnisse:
mknod /var/lib/named/dev/null c 1 3
mknod /var/lib/named/dev/random c 1 8
chmod 666 /var/lib/named/dev/null /var/lib/named/dev/random
chown -R bind:bind /var/lib/named/var/*
chown -R bind:bind /var/lib/named/etc/bind
Wir müssen /etc/default/syslogd ändern, damit wir weiterhin wichtige Nachrichten in die Systemprotokolle protokollieren können. Ändern Sie die Zeile: SYSLOGD=”” so, dass sie lautet: SYSLOGD=”-a /var/lib/named/dev/log”:
vi /etc/default/syslogd
#
# Top-Konfigurationsdatei für syslogd
#
# Vollständige Dokumentation möglicher Argumente finden Sie in der Man-Seite
# syslogd(8).
#
# Für Remote-UDP-Protokollierung verwenden Sie SYSLOGD="-r"
#
SYSLOGD="-a /var/lib/named/dev/log"Starten Sie den Protokolldaemon neu:
/etc/init.d/sysklogd restart
Starten Sie BIND und überprüfen Sie /var/log/syslog auf Fehler:
/etc/init.d/bind9 start
8.2 Konfigurieren Sie bind
Wir werden bind mit 2 Domains konfigurieren, example.com, die der Nameserver sein wird, und wir werden bind auch für yoursite.com konfigurieren.
Jetzt ist die Hauptkonfigurationsdatei in BIND named.conf, jedoch ist named.conf.local bereits in named.conf enthalten und dient der benutzerdefinierten Konfiguration, also werden wir named.conf.local bearbeiten und unsere Zonen hinzufügen, hier habe ich eine Zone camed tm.local sowie eine umgekehrte Zone für 192.168.1.0 hinzugefügt:
vi /etc/bind/named.conf.local
#EXAMPLE.COM
zone "example.com" {
type master;
file "/etc/bind/zones/example.com.db";
};
#YOURSITE.COM
zone "yoursite.com" {
type master;
file "/etc/bind/zones/yoursite.com.db";
};
# Dies ist die Zonenbeschreibung für umgekehrtes DNS. Ersetzen Sie 1.168.192 durch Ihre Netzwerkadresse in umgekehrter Notation - z.B. meine Netzwerkadresse ist 192.168.1.X
zone "1.168.192.in-addr.arpa." {
type master;
file "/etc/bind/zones/rev.1.168.192.in-addr.arpa";
};Hinweis: Wenn Ihr ISP Ihnen ein Subnetz zuweist (sagen wir, IP 192.168.1.100 bis 192.168.1.112), lesen Sie dies für die umgekehrte Zone (siehe Kunden-/Benutzer-Zonen-Datei):
http://www.zytrax.com/books/dns/ch9/reverse.html
8.3 Zonen konfigurieren
mkdir /etc/bind/zones
vi /etc/bind/zones/example.com.db
und machen Sie es so:
$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
2008060902 ; Seriennummer, heutiges Datum + heutige Seriennummer #
28800 ; Aktualisierung, Sekunden
7200 ; Wiederholungsversuch, Sekunden
604800 ; Ablauf, Sekunden
86400 ) ; Minimum, Sekunden
;
NS ns1.example.com. ; Inet-Adresse des Nameservers 1
NS ns2.example.com. ; Inet-Adresse des Nameservers 2
;
MX 10 example.com.
example.com. A 192.168.1.106
www A 192.168.1.106
ns1 A 192.168.1.106
ns2 A 192.168.1.106
dom01 A 192.168.1.100
dom02 A 192.168.1.101
lb1 A 192.168.1.102
lb2 A 192.168.1.103
web1 A 192.168.1.104
web2 A 192.168.1.105
example.com. TXT "v=spf1 ip4:192.168.1.104 ip4:192.168.1.105 a ptr a:web1.example.com a:web2.example.com ~all"Jetzt werden wir die Zone für yoursite.com erstellen:
vi /etc/bind/zones/yoursite.com.db
Machen Sie es so:
$TTL 86400
@ IN SOA ns1.example.com. admin.yoursite.com. (
2008060902 ; Seriennummer, heutiges Datum + heutige Seriennummer #
28800 ; Aktualisierung, Sekunden
7200 ; Wiederholungsversuch, Sekunden
604800 ; Ablauf, Sekunden
86400 ) ; Minimum, Sekunden
;
NS ns1.example.com. ; Inet-Adresse des Nameservers 1
NS ns2.example.com. ; Inet-Adresse des Nameservers 2
;
MX 10 yoursite.com.
yoursite.com. A 192.168.1.107
www A 192.168.1.107
yoursite.com. TXT "v=spf1 ip4:192.168.1.104 ip4:192.168.1.105 a ptr a:web1.example.com a:web2.example.com ~all"Jetzt machen wir mit der umgekehrten Zone weiter.
vi /etc/bind/zones/rev.1.168.192.in-addr.arpa
$TTL 86400
@ IN SOA ns1.example.com. hostmaster.example.com. (
2008060901 ; Seriennummer, heutiges Datum + heutige Seriennummer #
28800 ; Aktualisierung
7200 ; Wiederholungsversuch
604800 ; Ablauf
86400) ; Minimale TTL
NS ns1.example.com.
NS ns2.example.com.
100 PTR dom01.example.com.
101 PTR dom02.example.com.
102 PTR lb1.example.com.
103 PTR lb2.example.com.
104 PTR web1.example.com.
105 PTR web2.example.com.
106 PTR example.com.
107 PTR yoursite.com.Jetzt konfigurieren Sie den Server so, dass er alle Anfragen an den Server Ihres ISP weiterleitet, damit er externe IPs auflösen kann.
vi /etc/bind/named.conf.options
Kommentieren Sie den Forwarder-Bereich aus, damit er so aussieht:
[...]
forwarders {
# Ersetzen Sie die Adresse unten durch die Adresse Ihres ISP-DNS-Servers
123.123.123.123;
};
[...] 8.4 Konfigurieren Sie den Server, um sich selbst als DNS zu verwenden
vi /etc/resolv.conf
search example.com
nameserver localhostWir müssen bind neu starten:
/etc/init.d/bind9 restart
8.5 Testen Sie den DNS-Server
Wir werden zuerst dig installieren, das im Paket dnsutils enthalten ist:
apt-get install dnsutils
Jetzt werden wir sehen, ob unsere DNS-Server uns die richtigen Antworten geben:
auf web1
dig yoursite.com @192.168.1.105
auf web2
dig yoursite.com @192.168.1.104
Auf beiden sollten Sie eine Ausgabe wie diese sehen:
; DiG 9.4.2-P1 yoursite.com
;; globale Optionen: printcmd
;; Antwort erhalten:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4547
;; flags: qr rd ra; QUERY: 1, ANTWORT: 1, AUTHORITY: 2, ADDITIONAL: 2
;; FRAGESEKTION:
;yoursite.com. IN A
;; ANTWORTSEKTION:
yoursite.com. 86400 IN A 192.168.1.107
;; AUTHORITY SECTION:
yoursite.com. 15090 IN NS ns2.example.com.
yoursite.com. 15090 IN NS ns1.example.com.
;; ADDITIONAL SECTION:
ns2.example.com. 162439 IN A 192.168.1.106
ns1.example.com. 162439 IN A 192.168.1.106
;; Abfragezeit: 27 ms
;; WANN: So. 21. Sep 2008 19:07:17
;; MSG GRÖSSE empfangen: 124
Jetzt werden wir die umgekehrte Suche testen:
auf web1
dig -x 192.168.1.107 @192.168.1.105
auf web2*
dig -x 192.168.1.107 @192.168.1.104
Die Ausgabe sollte ähnlich sein wie diese:
; DiG 9.4.2-P1 -x 192.168.1.107
;; globale Optionen: printcmd
;; Antwort erhalten:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22614
;; flags: qr rd ra; QUERY: 1, ANTWORT: 2, AUTHORITY: 2, ADDITIONAL: 2
;; FRAGESEKTION:
;107.1.168.192.in-addr.arpa. IN PTR
;; ANTWORTSEKTION:
;107.1.168.192.in-addr.arpa. 86400 IN PTR yoursite.com.
;; AUTHORITY SECTION:
;1.168.192.in-addr.arpa. 86400 IN NS ns2.example.com.
;1.168.192.in-addr.arpa. 86400 IN NS ns1.example.com.
;; ADDITIONAL SECTION:
ns1.example.com. 162147 IN A 192.168.1.106
ns2.example.com. 162147 IN A 192.168.1.106
;; Abfragezeit: 88 ms
;; WANN: So. 21. Sep 2008 19:12:09
;; MSG GRÖSSE empfangen: 172Weitere Informationen zur Verwendung von dig:
http://www.madboa.com/geek/dig/
9. Proftpd (web1, web2)
9.1 Proftpd-Installation
Um Proftpd zu installieren, führen Sie aus
apt-get install proftpd ucf
Sie werden gefragt:
Führen Sie proftpd aus: <– standalone
9.2 Proftpd-Konfiguration
vi /etc/proftpd/proftpd.conf
Aus Sicherheitsgründen fügen Sie die folgenden Zeilen zu /etc/proftpd/proftpd.conf hinzu:
DefaultRoot ~
IdentLookups off
ServerIdent on "FTP-Server bereit."Starten Sie dann Proftpd neu:
/etc/init.d/proftpd restart
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.