Server Configuration · 5 min read · Oct 09, 2025
Il Cluster Web Perfettamente Bilanciato e ad Alta Disponibilità con 2 Server che Eseguono Xen su Ubuntu 8.04 Hardy Heron - Pagina 3
8. Server DNS (web1, web2)
8.1 Installare il Server DNS
Esegui :
apt-get install bind9
Per motivi di sicurezza vogliamo eseguire BIND chrooted, quindi dobbiamo seguire i seguenti passaggi:
/etc/init.d/bind9 stop
Modifica il file /etc/default/bind9 in modo che il demone venga eseguito come utente non privilegiato bind, chrooted in /var/lib/named. Modifica la riga: OPTIONS=”-u bind” in modo che diventi OPTIONS=”-u bind -t /var/lib/named”:
vi /etc/default/bind9
OPTIONS="-u bind -t /var/lib/named"
# Imposta RESOLVCONF=no per non eseguire resolvconf
RESOLVCONF=yesCrea le directory necessarie sotto /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
Poi sposta la directory di configurazione da /etc a /var/lib/named/etc:
mv /etc/bind /var/lib/named/etc
Crea un symlink alla nuova directory di configurazione dalla vecchia posizione (per evitare problemi quando bind verrà aggiornato in futuro):
ln -s /var/lib/named/etc/bind /etc/bind
Crea dispositivi null e random, e correggi i permessi delle directory:
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
Dobbiamo modificare /etc/default/syslogd in modo che possiamo comunque ricevere messaggi importanti registrati nei log di sistema. Modifica la riga: SYSLOGD=”” in modo che diventi: SYSLOGD=”-a /var/lib/named/dev/log”:
vi /etc/default/syslogd
#
# File di configurazione principale per syslogd
#
#
# La documentazione completa degli argomenti possibili si trova nella manpage
# syslogd(8).
#
#
# Per la registrazione remota UDP usa SYSLOGD="-r"
#
SYSLOGD="-a /var/lib/named/dev/log"Riavvia il demone di registrazione:
/etc/init.d/sysklogd restart
Avvia BIND e controlla /var/log/syslog per errori:
/etc/init.d/bind9 start
8.2 Configurare bind
Configureremo bind con 2 domini, example.com che sarà il nameserver e configureremo bind anche per yoursite.com.
Ora il file di configurazione principale in BIND è named.conf, tuttavia named.conf.local è già incluso in named.conf ed è lì per la configurazione personalizzata, quindi modificheremo named.conf.local e aggiungeremo le nostre zone, qui ho aggiunto una zona chiamata tm.local così come una zona inversa per 192.168.1.0:
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";
};
# Questa è la definizione della zona per DNS inverso. sostituisci 1.168.192 con il tuo indirizzo di rete in notazione inversa - ad esempio il mio indirizzo di rete è 192.168.1.X
zone "1.168.192.in-addr.arpa." {
type master;
file "/etc/bind/zones/rev.1.168.192.in-addr.arpa";
};Nota : Se il tuo ISP ti sta delegando una mappa di sottoreti (diciamo ip 192.168.1.100 a 192.168.1.112) leggi questo per la zona inversa (vedi File di Zona Cliente/Utente) :
http://www.zytrax.com/books/dns/ch9/reverse.html
8.3 Configurare le zone
mkdir /etc/bind/zones
vi /etc/bind/zones/example.com.db
e fallo apparire così :
$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
2008060902 ; serial, data di oggi + numero di serie di oggi #
28800 ; refresh, secondi
7200 ; retry, secondi
604800 ; expire, secondi
86400 ) ; minimum, secondi
;
NS ns1.example.com. ; Indirizzo Inet del nameserver 1
NS ns2.example.com. ; Indirizzo Inet del nameserver 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"Ora creeremo la zona per yoursite.com :
vi /etc/bind/zones/yoursite.com.db
Fallo apparire così :
$TTL 86400
@ IN SOA ns1.example.com. admin.yoursite.com. (
2008060902 ; serial, data di oggi + numero di serie di oggi #
28800 ; refresh, secondi
7200 ; retry, secondi
604800 ; expire, secondi
86400 ) ; minimum, secondi
;
NS ns1.example.com. ; Indirizzo Inet del nameserver 1
NS ns2.example.com. ; Indirizzo Inet del nameserver 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"Ora procediamo con la zona inversa.
vi /etc/bind/zones/rev.1.168.192.in-addr.arpa
$TTL 86400
@ IN SOA ns1.example.com. hostmaster.example.com. (
2008060901 ; serial, data di oggi + numero di serie di oggi #
28800 ; Refresh
7200 ; Retry
604800 ; Expire
86400) ; Minimum 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.Ora configura il server per inoltrare qualsiasi richiesta al server del tuo ISP in modo da poter risolvere gli IP esterni.
vi /etc/bind/named.conf.options
Decommenta la sezione forwarder in modo che appaia così:
[...]
forwarders {
# Sostituisci l'indirizzo qui sotto con l'indirizzo del server DNS del tuo ISP
123.123.123.123;
};
[...] 8.4 Configurare il server per utilizzare se stesso come DNS
vi /etc/resolv.conf
search example.com
nameserver localhostDobbiamo riavviare bind :
/etc/init.d/bind9 restart
8.5 Testare il server DNS
Per prima cosa installeremo dig che è incluso nel pacchetto dnsutils :
apt-get install dnsutils
Ora vedremo se i nostri server dns ci danno le risposte corrette :
su web1
dig yoursite.com @192.168.1.105
su web2
dig yoursite.com @192.168.1.104
Su entrambi dovresti vedere un output simile a questo :
; DiG 9.4.2-P1 yoursite.com
;; opzioni globali: printcmd
;; Ricevuta risposta:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 4547
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2
;; SEZIONE DOMANDA:
;yoursite.com. IN A
;; SEZIONE RISPOSTA:
yoursite.com. 86400 IN A 192.168.1.107
;; SEZIONE AUTORITÀ:
yoursite.com. 15090 IN NS ns2.example.com.
yoursite.com. 15090 IN NS ns1.example.com.
;; SEZIONE AGGIUNTIVA:
ns2.example.com. 162439 IN A 192.168.1.106
ns1.example.com. 162439 IN A 192.168.1.106
;; Tempo di query: 27 msec
;; QUANDO: Dom Set 21 19:07:17 2008
;; DIMENSIONE MSG ricevuta: 124
Ora testeremo la ricerca inversa :
su web1
dig -x 192.168.1.107 @192.168.1.105
su web2*
dig -x 192.168.1.107 @192.168.1.104
L’output dovrebbe essere simile a questo :
; DiG 9.4.2-P1 -x 192.168.1.107
;; opzioni globali: printcmd
;; Ricevuta risposta:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22614
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2
;; SEZIONE DOMANDA:
;107.1.168.192.in-addr.arpa. IN PTR
;; SEZIONE RISPOSTA:
;107.1.168.192.in-addr.arpa. 86400 IN PTR yoursite.com.
;; SEZIONE AUTORITÀ:
;1.168.192.in-addr.arpa. 86400 IN NS ns2.example.com.
;1.168.192.in-addr.arpa. 86400 IN NS ns1.example.com.
;; SEZIONE AGGIUNTIVA:
ns1.example.com. 162147 IN A 192.168.1.106
ns2.example.com. 162147 IN A 192.168.1.106
;; Tempo di query: 88 msec
;; QUANDO: Dom Set 21 19:12:09 2008
;; DIMENSIONE MSG ricevuta: 172Ulteriori informazioni su come utilizzare dig :
http://www.madboa.com/geek/dig/
9. Proftpd (web1, web2)
9.1 Installazione di Proftpd
Per installare Proftpd, esegui
apt-get install proftpd ucf
Ti verrà posta una domanda:
Esegui proftpd: <– standalone
9.2 Configurazione di Proftpd
vi /etc/proftpd/proftpd.conf
Per motivi di sicurezza aggiungi le seguenti righe a /etc/proftpd/proftpd.conf:
DefaultRoot ~
IdentLookups off
ServerIdent on "FTP Server pronto."Poi riavvia Proftpd:
/etc/init.d/proftpd restart
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.