Risposte:
Prima di tutto cambia l'indirizzo IP del tuo server da DHCP a STATICO per questo usa il seguente comando
sudo nano /etc/network/interfaces
e aggiungi:
auto eth0
iface eth0 inet static
address 192.168.1.5
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
# dns-nameservers
Riavvia i daemon di rete
sudo /etc/init.d/networking restart
Prima di configurare un server DNS in Linux Ubuntu devi prima creare un nome di dominio e poi procederai. Per prima cosa controllerai il comando hostname per questo
sudo nano /etc/hostname
nefitari
(Questo è il nome host del mio server Ubuntu, il tuo potrebbe essere diverso. Puoi cambiarlo secondo le tue necessità)
Ora dopo il nome host, devi creare un nome di dominio per il tuo server. Di 'servername.domain.com è consigliabile che ogni volta che si configura un server per uso domestico o meno, non utilizzare .com ma .hom o .net o qualunque cosa ti piaccia. Dai il comando seguente
sudo nano /etc/hosts
aggiungere se non ce l'ha:
127.0.0.1 localhost
192.168.1.5 nefitari.autun.hom nefitari
Nel mio file 127.0.0.1 è per localhost e ho cambiato il secondo indirizzo IP 127.0.1.1 con il mio IP del server che è 192.168.1.5 ora inserisco il mio nome di dominio con il mio nome host nefitari prima poi il mio nome di dominio autun.hom e quindi alias nefitari . È possibile selezionare il proprio nome host.abc.net o nomehost.home.lan ecc., Ma ricordare di cambiare in questo file è necessario riavviare il server e quindi accedere. Il riavvio è obbligatorio
sudo apt-get install bind9
Dopo l'installazione, configura i seguenti file passo dopo passo
Ora configura il file named.conf.options Questo file è utilizzato per gli IP DNS Significa che il tuo server deve connettersi ad alcuni DNS esterni. Quando acquisti un nome di dominio dagli ISP, di solito ti danno i loro IP DNS. Puoi utilizzare IP DNS aperti di google o giù di lì. Nel mio caso sto usando i miei IP DNS ISP.
sudo nano /etc/bind/named.conf.options
forwarders {
# Give here your ISP DNS IP’s
192.168.1.1; # gateway or router
182.176.39.23;
182.176.18.13;
68.87.76.178;
};
*** Salvare il file ed uscire *** usando control x premere y e sovrascrivere il file
Ora modifica il file named.conf.local Questo è il file in cui definiamo le zone forward e reverse. Significa che quando inseriamo il nome di dominio, lo tradurrà in indirizzo IP e quando inseriremo l'indirizzo IP, lo convertirà semplicemente in nome.
sudo nano /etc/bind/named.conf.local
mostrerò:
# Our forward zone
zone "autun.hom" {
type master;
file "/etc/bind/zones/db.autun.hom";
};
# Our reverse Zone
# Server IP 192.168.1.5
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/zones/db.192";
};
*** Salvare il file ed uscire *** usando control x premere y e sovrascrivere il file
Ora creeremo questi due file di database db.autun.hom e db.192 nella cartella zone
Per prima cosa imposta le zone della directory in / etc / bind /
sudo mkdir /etc/bind/zones
Prima di creare file, desidero chiarire che ho diversi dispositivi
IP dei dispositivi
Ora nella directory delle zone creeremo prima due file db.autun.hom . Sto solo copiando la cartella db.local già presente nella cartella / etc / bind nella cartella delle zone cambiando il suo nome in db.autun.hom . Inserirò questi IP nel mio file db.autun.hom. Iniziamo
sudo cp /etc/bind/db.local /etc/bind/zones/db.autun.hom
Ora usa il comando qui sotto per modificare il file
sudo nano /etc/bind/zones/db.autun.hom
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA nefitari.autun.hom. webuser.autun.hom. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
autun.hom. IN NS nefitari.autun.hom.
autun.hom. IN A 192.168.1.5
;@ IN A 127.0.0.1
;@ IN AAAA ::1
nefitari IN A 192.168.1.5
gateway IN A 192.168.1.1
win7pc IN A 192.168.1.50
www IN CNAME autun.hom.
Salvalo ed esci
Ora crea il file della zona di ricerca inversa
sudo cp /etc/bind/db.127 /etc/bind/zones/db.192
Ora usa il comando qui sotto per modificare il file
sudo nano /etc/bind/zones/db.192
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA nefitari.autun.hom. webuser.autun.hom. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
IN NS nefitari.
1 IN PTR gateway.autun.hom.
5 IN PTR nefitari.autun.hom.
50 IN PTR win7pc.autun.hom.
Salvalo ed esci
Ora quando hai finito con il tuo file di zona devi controllarlo se funziona correttamente o no inserendo il comando qui sotto per il file di zona in avanti
named-checkzone autun.hom /etc/bind/zones/db.autun.hom
zone autun.hom /IN: loaded serial 2
Ok
Ora controlla il file della zona inversa
named-checkzone autun.hom /etc/bind/zones/db.192
zone autun.hom /IN: loaded serial 2
Ok
Se l'output del tuo nome-checkzone è lo stesso di quello sopra, allora funziona bene altrimenti hai fatto un errore nel file.
Ora modifica il file resolv.conf
sudo nano /etc/resolv.conf
nameserver 192.168.1.5
domain autun.hom
search autun.hom
Immettere le seguenti righe nel file resolv.conf e salvarlo
Riavvia il collegamento
sudo /etc/init.d/bind9 restart
Dopo l'avvio del bind, controlla le impostazioni nel file di registro
tail -f /var/log/syslog
non deve contenere errori nel registro
host –l autun.hom
L'output dovrebbe essere così
autun.hom name server nefitari.autun.hom.
autun.hom has address 192.168.1.5
gateway.autun.hom has address 192.168.1.1
nefitari.autun.hom has address 192.168.1.5
win7pc.autun.hom has address 192.168.1.50
Ora usa NSLOOKUP
nslookup autun.hom
PRODUZIONE
Server: 192.168.1.5
Address: 192.168.1.5#53
Name: autun.hom
Address: 192.168.1.5
Usa DIG
dig gateway.autun.hom
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35612
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; QUESTION SECTION:
;gateway.autun.hom IN A
;; ANSWER SECTION:
gateway.autun.hom 604800 IN A 192.168.1.1
;; AUTHORITY SECTION:
Autun.hom. 604800 IN NS nefitari.autun.hom.
;; ADDITIONAL SECTION:
Nefitari.autun.hom. 604800 IN A 192.168.1.5
;; Query time: 12 msec
;; SERVER: 192.168.1.5#53(192.168.1.5)
;; WHEN: Thu Aug 8 01:56:25 2013
;; MSG SIZE rcvd: 90
L'output dovrebbe essere simile al precedente, controllare lo stato: NOERROR significa che sta risolvendo il controllo SEZIONE RISPOSTA: gateway.autun.hom è stato risolto in 192.168.1.1
host 192.168.1.1
Produzione
1.1.168.192.in-addr.arpa domain name pointer gateway.autun.hom
Se ti dà un errore come di seguito
host 1.1.168.192.in-addr.arpa. not found: 3(NXDOMAIN)
Ciò significa che hai commesso un errore nel file /etc/bind/named.conf.local nella zona inversa Se il tuo IP del server è 192.168.1.5, la tua zona inversa è simile a questa
zone "**1.168.192**.in-addr.arpa" {
correct ip reversing
};
A volte le persone hanno commesso un errore nell'inversione dell'ip come (solo un esempio)
zone "**0.168.192**.in-addr.arpa" {
incorrect ip reversing
};
Usa NSLOOKUP
nslookup 192.168.1.1
Server: 192.168.1.5
Address: 192.168.1.5#53
1.1.168.192.in-addr.arpa name=gateway.autun.hom
Se ricevi NXDOMAIN o SERVFAIL come errori, significa che uno dei tuoi file di zona non funziona correttamente
Ora puoi ping ubuntu.com o scavare ubuntu.com per la prima volta ci vorranno diversi millisecondi per risolvere il nome ubuntu.com ma quando lo esegui la seconda volta ci vorranno 1, 2 o 3 secondi normalmente da 1 a 10 miglia i secondi sono normali e significa che il tuo DNS funziona correttamente
lato di windows
e qui dai l'indirizzo IP (nel mio caso è 192.168.1.50 ti ricordi di win7pc)
e hai finito con esso apri CMD
ping gateway
deve darti alcune risposte
allo stesso modo
ping 192.168.1.1 or 5
deve darti alcune risposte
Metti alla prova il tuo server al di fuori del mondo
Ora puoi eseguire il ping di ubuntu.com o scavare ubuntu.com per la prima volta ci vorranno diversi millisecondi per risolvere il nome ubuntu.com ma quando lo eseguirai la seconda volta, prenderà forma da 1 a 10 mili secondi, il suo tempo normale e significa che il tuo DNS funziona correttamente Configurazione dei client
lato di windows
apri connessioni di rete seleziona modifica impostazioni adattatore seleziona proprietà seleziona protocollo internet versione IPv4
e qui dai l'indirizzo IP (nel mio caso è 192.168.1.50 ti ricordi di win7pc)
Indirizzo IP 192.168.1.50
Maschera di sottorete 255.255.255.0
Gateway predefinito 192.168.1.1
DNS primario 192.168.1.5 (il mio nuovo IP server BIND DNS)
seleziona Advance (nella stessa finestra)
seleziona la scheda DNS
Digita la casella di testo qui sotto Nel suffisso DNS per questa connessione: autun.hom
clicca ok
fare clic su convalida impostazione all'uscita
clicca ok
e hai finito con esso apri CMD
Codice:
ping gateway
deve darti alcune risposte
allo stesso modo
Codice:
ping 192.168.1.1 or 5
deve darti alcune risposte che puoi usare Codice NSLOOKUP :
nslookup gateway
CLIENTI LINUX
Codice:
sudo nano /etc/network/interfaces
digitare le seguenti righe
Codice:
auto eth0
iface eth0 inet dhcp
Ora riavvia Network Deamons
Codice:
sudo /etc/init.d/networking restart
per forzare il client rinnova il comando IP
Codice:
sudo dhclient -r
Ora ottieni un nuovo IP:
Codice:
sudo dhclient
Se si esegue un server DHCP sulla rete, immettere il nome dominio e il server dei nomi nel file dhcpd.conf; ad esempio ho un server DNS chiamato nefitari.autun.hom e l'indirizzo IP è 192.168.1.5 come sotto
Codice:
option domain-name "nefitari.autun.hom";
option domain-name-server 192.168.1.5;
../run/resolvconf/resolv.conf
.
(network unreachable) resolving './NS/IN': 2001:500:3::42#53
provengono dal bind che cerca di risolvere ricorsivamente le query usando ipv6. La modifica /etc/default/bind9
e l'utilizzo lo OPTIONS="-u bind -4"
risolve. Maggiori informazioni: serverfault.com/questions/77325/unreachable-resolving-domain
db.192
prima che IN NS nefitari.
è un @
mancante. Inoltre ho dovuto aggiungere il nome di dominio completo, quindi la mia linea di lavoro sembrava in questo modo @ IN NS nefitari.autun.hom.
ho ignorato la sezione resolv.conf e ho seguito i consigli di jdthood. Il collegamento era già presente dall'installazione del server predefinita.
La risposta è solo un'aggiunta all'ottima descrizione sopra.
Suggerimento per la risoluzione dei problemi
Stai molto attento con i molti "." nei file di configurazione poiché ognuno è importante. Un singolo '.' Mancante può interrompere il funzionamento del server DNS. Non dovresti contare su messaggi di errore chiari.
Ho imparato la sua buona pratica per usare un numero di serie più significativo. È molto importante incrementare il numero di serie ogni volta che si modifica l'impostazione, ad esempio nuove voci aggiunte. Se non viene incrementato, un DNS secondario non riuscirà a sincronizzare le nuove impostazioni. Il formato suggerito è YYYYMMDDss
, dove si ss
trova il "vecchio" numero di serie. Pertanto, durante l'incremento, è necessario incrementare ss
di +1 e impostare la data sulla data corrente. Ho trovato molto utile la risoluzione dei problemi di installazione. Nel syslog puoi vedere chiaramente la data e il numero seriale del file usato.
In Ubuntu 16.04 la modifica di resolv.conf è obsoleta. Come scrive jdthood nel suo commento, sostituisci il passaggio con la seguente procedura: - Cambia / etc / default / bind9: la nuova volontà dovrebbe apparire così:
# run resolvconf?
RESOLVCONF=yes
# startup options for the server
OPTIONS="-u bind"
# use this when you have trouble with IPV6
#OPTIONS="-u bind -4"
vedere il commento di non-una-patch per i problemi di IPV6.
inserisci un link simbolico di /etc/resolv.conf in /run/resolvconf/resolv.conf
cd /etc
sudo ln -s /etc/resolv.conf /run/resolvconf/resolv.conf
Installazione offline
L'impostazione è esattamente la stessa e anche un po 'più semplice, poiché puoi semplicemente saltare le sezioni di inoltro. Non devono essere presenti, quindi non è necessario modificare il file /etc/bind/names.con.options
.
Reti di classe B.
Ci sono alcune piccole modifiche necessarie per far funzionare questo per reti di classe B (prima che ci siano commenti, non c'è motivo per cui una rete locale, anche a casa, non possa essere una classe B invece di una rete di classe C) . In questo esempio uso il numero di rete 172.20.xx (penso che la notazione formale sia 172.20.0.0. Per maggiori informazioni google rfc1918).
Utilizzare la descrizione dalla prima risposta, sostituire tutti gli IP 192.168.xx con 172.20.xx, utilizzare per IP server 172.20.0.100 e modificare i file come segue:
db.192
diventa db.172
.il file named.conf.local
ottiene una diversa sezione della zona inversa:
zone "20.172.in-addr.arpe" {
type master;
file "/etc/bind/zones/db.172";
}
Il file delle zone inverse cambia in:
;
; BIND reverse data file for 172.20.x.x
;
$TTL 604800
@ IN SOA nefitari.autun.hom. webuser.autun.hom. (
2017022102 ; more intuitive serial YYYYMMDDss, here ss=02
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
; note: the '@'was missing from in the initial description
@ IN NS nefitari.autun.hom.
100.0 IN PTR nefitari.autun.hom.
121.0 IN PTR client1.autun.hom.
130.0 IN PTR client2.autun.hom.
33.0 IN PTR client3.autun.hom.
Il riposo è lo stesso.
Spero sia utile per qualcuno.