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=yes

Erstellen 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 localhost

Wir 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: 172

Weitere 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

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.