Come faccio a completare una configurazione del server DNS BIND9 con un nome host?

52

Ho bisogno di una guida passo-passo completa su come produrre una tale configurazione del server.

Qualcuno può aiutarmi?

    
posta Artemis 08.08.2013 - 15:17

2 risposte

117

Completa il server DNS nel server ubuntu 12.

Prima di tutto cambia l'indirizzo IP del tuo server da DHCP a STATIC 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 Ubuntu Linux devi prima fare il nome di dominio e poi procederai. Per prima cosa controllerai il tuo comando hostname per questo è

sudo nano /etc/hostname

 nefitari       

(Questo è il mio nome host del server Ubuntu, il tuo potrebbe essere diverso. Puoi cambiarlo in base alle tue necessità)

Ora dopo il nome host, devi fare il nome di dominio per il tuo server. Di 'servername.domain.com è meglio fare pratica che ogni volta che si configura il server per uso domestico o così, non usare .com ma .hom o .net o quello che vuoi. Dai il comando seguente

  sudo nano /etc/hosts

aggiungi 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 server IP 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 poi alias nefitari . Puoi selezionare il tuo nomehost, hostname.abc.net o hostname.home.lan ecc., Ma ricorda che la modifica di questo file richiede il riavvio del server e il login. Il riavvio è obbligatorio

Ora installa BIND9

 sudo apt-get install bind9

Dopo l'installazione è sufficiente configurare i seguenti file passo dopo passo

  • Named.conf.options
  • Named.conf.local
  • /etc/resolv.conf

Ora configura il file named.conf.options Questo file è utilizzato per IP DNS Significa che il tuo server deve connettersi ad alcuni DNS esterni. Quando acquisti il ​​nome di dominio da ISP, normalmente ti danno i loro IP DNS. Puoi utilizzare gli IP DNS aperti di Google o simili. Nel mio caso sto usando i miei propri IP DNS dell'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;
  };

*** Salva il file ed esci *** usando control x premi y e sovrascrivi il file

Ora modifica il file named.conf.local Questo è il file in cui definiamo le zone in avanti e le zone inverse. Significa che quando inseriremo il nome di dominio lo tradurrà in un indirizzo IP e quando inseriremo l'indirizzo IP lo convertiremo 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";
 };

*** Salva il file ed esci *** usando control x premi y e sovrascrivi il file

Ora creeremo questi due file di database db.autun.hom e db.192 nella cartella zone

Prima crea le zone di directory in / etc / bind /

  sudo mkdir /etc/bind/zones

Prima di creare i file, ti chiami che ho diversi dispositivi

Dispositivi IP

  • Server stesso 192.168.1.5
  • Gateway 192.168.1.1
  • Win7pc 192.168.1.50

Ora nella directory zone creeremo prima due file db.autun.hom . Sto solo copiando il file db.local già presente nella cartella / etc / bind in 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 seguente 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.

Salva e esci

  • Webuser.autun.hom. è l'email che accederà al server dei nomi. Puoi scrivi qualsiasi nome invece di webuser come admin, root o host master ecc.
  • Autun.hom. è il mio NS significa name server
  • Autun.hom .changing su IP 192.168.1.5
  • @ IN A 127.0.0.1 e AAAA :: 1 possono essere commenti che non dovrebbero essere necessari perché db.local è già presente in / etc / bind è solo una copia di quel file. Quindi non è necessario eliminarlo
  • Modifica di Nefitari in IP 192.168.1.5
  • Gateway a IP 192.168.1.1
  • Win7pc puoi nominare i tuoi PC Windows o Linux Client a qualsiasi nome, ma ricorda che l'IP di quel client deve essere correttamente inserito nel file. In Nel mio caso ho dato l'IP di Windows PC 192.168.1.50
  • Ultimo, sto usando CNAME significa nome canonico, è solo un alias nefitari. Significa che puoi accedere al tuo server inserendo www.autun.hom invece nefitari.autun.hom. Puoi omettere questo o commentalo Dipende solo da te.

Ora crea il file della zona di ricerca inversa

sudo cp /etc/bind/db.127    /etc/bind/zones/db.192

Ora usa il comando seguente 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.

Salva e esci

Ora che hai finito con il tuo file di zona, devi controllare se funziona correttamente o no inserendo il comando seguente per il file di zona avanzata

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 della tua checkbox con nome è uguale a quello precedente, funzionerà bene altrimenti hai commesso qualche 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

Inserisci le seguenti righe nel tuo file resolv.conf e salvalo

Riavvia il binding

sudo /etc/init.d/bind9 restart

Dopo il bind start controlla le tue impostazioni nel file di registro

tail -f /var/log/syslog

non deve avere alcun errore nel registro

Controllo delle zone avanzate

host –l autun.hom

L'output dovrebbe come questo

 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

USCITA

Server: 192.168.1.5
Address: 192.168.1.5#53

Name: autun.hom
Address: 192.168.1.5

Utilizza 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 a quanto sopra, controlla lo stato : NOERROR significa che sta risolvendo il controllo SEZIONE ANSWER: gateway.autun.hom è stato risolto in 192.168.1.1

Controllo della zona inversa

 host 192.168.1.1

Output

 1.1.168.192.in-addr.arpa domain name pointer gateway.autun.hom

Se ti dà un errore come sotto

 host 1.1.168.192.in-addr.arpa. not found: 3(NXDOMAIN)

Questo significa che hai fatto qualche errore nel file /etc/bind/named.conf.local nella zona inversa Se l'IP del tuo server è 192.168.1.5 , la tua zona inversa appare come questa

zone "**1.168.192**.in-addr.arpa" {
 correct ip reversing
};

A volte le persone sbagliavano nel ribaltare l'ip come (solo un esempio)

zone "**0.168.192**.in-addr.arpa" {
incorrect ip reversing
};

Utilizza 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 errori simili a NXDOMAIN o SERVFAIL significa che uno dei tuoi file di zona non funziona correttamente

Ora puoi ping ubuntu.com o dig ubuntu.com per la prima volta ci vorranno diversi millisecondi per risolvere il nome ubuntu .com ma quando lo esegui secondo tempo necessario 1, 2 o 3 secondi normalmente da 1 a 10 mili secondi sono normali e significa che il tuo DNS funziona correttamente

Configurazione dei client

lato Windows

  • apri connessioni di rete
  • seleziona modifica le impostazioni dell'adattatore
  • seleziona proprietà
  • seleziona versione del protocollo Internet IPv4

e qui diamo l'indirizzo IP (nel mio caso è 192.168.1.50 ti ricordi di win7pc)

  • Indirizzo IP 192.168.1.50
  • Subnet Mask 255.255.255.0
  • Gateway predefinito 192.168.1.1
  • DNS primario 192.168.1.5 (il mio nuovo IP del server DNS BIND)
  • nella stessa finestra seleziona Avanzate
  • seleziona scheda DNS
  • Digita la casella di testo qui sotto In Suffisso DNS per questo Collegamento: autun.hom
  • fai clic su ok
  • fai clic su conferma l'impostazione all'uscita
  • fai clic su OK

e hai finito con esso CMD aperto

ping gateway

deve darti alcune risposte

Allo stesso modo

ping 192.168.1.1 or 5

deve darti alcune risposte

Prova il tuo server in un mondo esterno

Ora puoi eseguire il ping su ubuntu.com o scavare ubuntu.com per la prima volta ci vorranno diversi millisecondi per risolvere il nome ubuntu.com ma quando lo esegui una seconda volta, sarà necessario da 1 a 10 mili secondi, il suo orario normale e significa che il tuo DNS funziona correttamente Configurazione dei client

lato Windows

aprire le connessioni di rete seleziona modifica impostazioni adattatore seleziona proprietà seleziona la versione del protocollo internet IPv4

e qui diamo l'indirizzo IP (nel mio caso è 192.168.1.50 ti ricordi di win7pc)

indirizzo IP 192.168.1.50

Subnet Mask 255.255.255.0

Gateway predefinito 192.168.1.1

DNS primario 192.168.1.5 (il mio nuovo IP del server DNS BIND)

seleziona Avanzamento (nella stessa finestra)

seleziona la scheda DNS

Digita la casella di testo qui sotto In Suffisso DNS per questa connessione: autun.hom

fai clic su ok

fai clic su convalida impostazione all'uscita

fai clic su ok

e hai finito con esso aperto CMD

Codice:

 ping gateway

deve darti alcune risposte

Allo stesso modo

Codice:

 ping 192.168.1.1 or 5

deve darti alcune risposte puoi utilizzare NSLOOKUP Codice:

 nslookup gateway

CLIENTI LINUX

Codice:

 sudo nano /etc/network/interfaces

digita le seguenti righe

Codice:

 auto eth0
 iface eth0 inet dhcp

Ora riavvia Network Deamons

Codice:

 sudo /etc/init.d/networking restart

per forzare il comando di rinnovo IP del client

Codice:

 sudo dhclient -r

Ora ottieni un nuovo IP:

Codice:

 sudo dhclient

Se stai utilizzando un server DHCP sulla tua rete, inserisci il nome del dominio e il name server nel file dhcpd.conf; per esempio ho un server DNS chiamato nefitari.autun.hom e l'indirizzo IP è 192.168.1.5 come in

Codice:

 option domain-name "nefitari.autun.hom";
 option domain-name-server  192.168.1.5;

fonte

    
risposta data fossfreedom 17.07.2016 - 19:21
1

La risposta è solo un'aggiunta all'eccellente descrizione di cui sopra.

Suggerimento per la risoluzione dei problemi

Stai molto attento con i molti '.' nei file di configurazione poiché ognuno è importante. Un singolo mancante. ' può fermare il funzionamento del server DNS. Non dovresti contare su messaggi di errore chiari.

Ho appreso le sue buone pratiche per usare un numero di serie più significativo. È molto importante incrementare il numero di serie ogni volta che la configurazione viene modificata, ad es. nuove voci aggiunte. Se non viene incrementato, un DNS secondario non riuscirà a sincronizzare le nuove impostazioni. Il formato suggerito è YYYYMMDDss , dove ss è il numero di serie "vecchio". Pertanto, quando si incrementa, è necessario incrementare ss di +1 e impostare la data sulla data corrente. Ho trovato questo molto utile nella risoluzione dei problemi del setup. Nel syslog si vede chiaramente la data e la serie del file utilizzato.

In Ubuntu 16.04 la modifica di resolv.conf è deprecata. Poiché jdthood scrive nel suo commento sostituisce il passo con la seguente procedura:  - Cambia / etc / default / bind9: il nuovo testamento dovrebbe avere questo aspetto:

   # run resolvconf?
   RESOLVCONF=yes

   # startup options for the server
   OPTIONS="-u bind"

   # use this when you have trouble with IPV6
   #OPTIONS="-u bind -4"

guarda il commento di not-a-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
    

Impostazione offline

Il setup è esattamente lo stesso, e anche un po 'più semplice, dato che puoi semplicemente saltare le sezioni di inoltro. Non devono essere presenti, quindi non è necessario modificare /etc/bind/names.con.options .

Reti di classe B

Ci sono alcune piccole modifiche necessarie per fare in modo che funzioni per le reti di classe B (prima che ci siano commenti, non c'è motivo per cui una rete locale, anche a casa, non potrebbe essere una classe B invece di una classe) Rete C). In questo esempio uso il numero di rete 172.20.x.x. (Penso che la notazione formale sia 172.20.0.0 per maggiori informazioni su google rfc1918).

Utilizzare la descrizione dalla prima risposta, sostituire tutti gli indirizzi IP 192.168.x.x con 172.20.x.x, utilizzare per il server IP 172.20.0.100 e modificare i file come segue:

  • il nome del file db.192 diventa db.172 .
  • il file named.conf.local ottiene una sezione di zona inversa diversa:

    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 resto è lo stesso.

Spero sia utile per qualcuno.

    
risposta data CatMan 22.02.2017 - 03:27

Leggi altre domande sui tag