Antworten:
Ändern Sie zunächst die IP-Adresse Ihres Servers von DHCP in STATIC. Verwenden Sie dazu den folgenden Befehl
sudo nano /etc/network/interfaces
und füge hinzu:
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
Starten Sie die Netzwerk-Daemons neu
sudo /etc/init.d/networking restart
Bevor Sie einen DNS-Server unter Linux Ubuntu konfigurieren können, müssen Sie zunächst einen Domainnamen festlegen und dann fortfahren. Zuerst überprüfen Sie Ihren Hostnamen-Befehl, ob dies der Fall ist
sudo nano /etc/hostname
nefitari
(Dies ist mein Ubuntu-Server-Hostname, der möglicherweise von Ihrem abweicht. Sie können ihn je nach Bedarf ändern.)
Nach dem Hostnamen müssen Sie nun einen Domainnamen für Ihren Server festlegen. Sagen Sie servername.domain.com. Es ist besser, wenn Sie den Server für den Heimgebrauch konfigurieren, nicht .com, sondern .hom oder .net oder was auch immer Sie möchten. Geben Sie den folgenden Befehl ein
sudo nano /etc/hosts
Füge hinzu, wenn es nicht vorhanden ist:
127.0.0.1 localhost
192.168.1.5 nefitari.autun.hom nefitari
In meiner Datei 127.0.0.1 steht für localhost und ich habe die zweite IP-Adresse 127.0.1.1 mit meiner Server-IP geändert, die 192.168.1.5 lautet. Jetzt gebe ich meinen Domainnamen mit meinem Hostnamen nefitari ein, dann meinen Domainnamen autun.hom und dann alias Nefitari . Sie können entweder hostname.abc.net oder hostname.home.lan usw. auswählen. Denken Sie jedoch daran, dass Sie beim Ändern dieser Datei den Server neu starten und sich dann anmelden müssen. Neustart ist Pflicht
sudo apt-get install bind9
Nach der Installation konfigurieren Sie einfach die folgenden Dateien Schritt für Schritt
Konfigurieren Sie nun die Datei named.conf.options. Diese Datei wird für DNS-IPs verwendet. Dies bedeutet, dass Ihr Server eine Verbindung zu einem externen DNS herstellen muss. Wenn Sie einen Domainnamen von einem ISP kaufen, erhalten Sie normalerweise eine eigene DNS-IP-Adresse. Sie können offene DNS-IPs von Google oder so verwenden. In meinem Fall verwende ich meine eigenen ISP-DNS-IPs.
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;
};
*** Speichern Sie die Datei und beenden Sie *** mit der Steuertaste x, drücken Sie y und überschreiben Sie die Datei
Bearbeiten Sie nun die Datei mit dem Namen.conf.local. In dieser Datei definieren wir Vorwärts- und Rückwärtszonen. Wenn wir einen Domainnamen eingeben, wird dieser in eine IP-Adresse umgewandelt, und wenn wir eine IP-Adresse eingeben, wird er einfach in einen Namen umgewandelt.
sudo nano /etc/bind/named.conf.local
wird zeigen:
# 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";
};
*** Speichern Sie die Datei und beenden Sie *** mit der Steuertaste x, drücken Sie y und überschreiben Sie die Datei
Jetzt werden wir diese beiden Datenbankdateien db.autun.hom und db.192 in den Zonenordner legen
Zuerst machen Sie die Verzeichniszonen in / etc / bind /
sudo mkdir /etc/bind/zones
Lassen Sie mich vor dem Erstellen von Dateien klarstellen, dass ich verschiedene Geräte habe
Geräte-IPs
Jetzt erstellen wir im Zonenverzeichnis zuerst zwei Dateien db.autun.hom . Ich kopiere gerade die Datei db.local, die bereits im Ordner / etc / bind vorhanden ist, in den Zonenordner, indem ich ihren Namen in db.autun.hom ändere . Ich werde diese IPs in meine Datei db.autun.hom einfügen. Lasst uns beginnen
sudo cp /etc/bind/db.local /etc/bind/zones/db.autun.hom
Verwenden Sie nun den folgenden Befehl, um die Datei zu bearbeiten
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.
Speichern Sie es und beenden Sie es
Erstellen Sie nun eine Reverse-Lookup-Zonendatei
sudo cp /etc/bind/db.127 /etc/bind/zones/db.192
Verwenden Sie nun den folgenden Befehl, um die Datei zu bearbeiten
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.
Speichern Sie es und beenden Sie es
Wenn Sie mit Ihrer Zonendatei fertig sind, müssen Sie überprüfen, ob sie ordnungsgemäß funktioniert, indem Sie den folgenden Befehl für die Weiterleitungszonendatei eingeben
named-checkzone autun.hom /etc/bind/zones/db.autun.hom
zone autun.hom /IN: loaded serial 2
Ok
Überprüfen Sie nun die Reverse-Zone-Datei
named-checkzone autun.hom /etc/bind/zones/db.192
zone autun.hom /IN: loaded serial 2
Ok
Wenn die Ausgabe Ihrer named-checkzone dieselbe wie oben ist, funktioniert sie einwandfrei, da Sie sonst einen Fehler in der Datei gemacht haben.
Bearbeiten Sie nun die Datei resolv.conf
sudo nano /etc/resolv.conf
nameserver 192.168.1.5
domain autun.hom
search autun.hom
Geben Sie die folgenden Zeilen in Ihre resolv.conf-Datei ein und speichern Sie sie
Starten Sie die Bindung neu
sudo /etc/init.d/bind9 restart
Überprüfen Sie nach dem Bindestart Ihre Einstellungen in der Protokolldatei
tail -f /var/log/syslog
Das Protokoll darf keinen Fehler enthalten
host –l autun.hom
Die Ausgabe sollte so aussehen
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
Verwenden Sie jetzt NSLOOKUP
nslookup autun.hom
AUSGABE
Server: 192.168.1.5
Address: 192.168.1.5#53
Name: autun.hom
Address: 192.168.1.5
Verwenden Sie 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
Die Ausgabe sollte ähnlich wie oben aussehen. Überprüfen Sie den Status: NOERROR bedeutet, dass die Überprüfung durchgeführt wird. ANTWORT ABSCHNITT : gateway.autun.hom wird in 192.168.1.1 aufgelöst
host 192.168.1.1
Ausgabe
1.1.168.192.in-addr.arpa domain name pointer gateway.autun.hom
Wenn es Ihnen einen Fehler wie unten gibt
host 1.1.168.192.in-addr.arpa. not found: 3(NXDOMAIN)
Dies bedeutet, dass Sie in der Datei /etc/bind/named.conf.local in der Reverse Zone einen Fehler gemacht haben. Wenn Ihre Server-IP 192.168.1.5 lautet , sieht Ihre Reverse Zone folgendermaßen aus
zone "**1.168.192**.in-addr.arpa" {
correct ip reversing
};
Manchmal haben die Leute einen Fehler beim Umkehren der IP gemacht (nur ein Beispiel)
zone "**0.168.192**.in-addr.arpa" {
incorrect ip reversing
};
Verwenden Sie 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
Wenn Sie NXDOMAIN- oder SERVFAIL-ähnliche Fehler erhalten, bedeutet dies, dass eine Ihrer Zonendateien nicht ordnungsgemäß funktioniert
Jetzt können Sie ubuntu.com zum ersten Mal anpingen oder ubuntu.com ausgraben. Es dauert einige Millisekunden, bis der Name ubuntu.com aufgelöst ist. Wenn Sie ihn jedoch zum zweiten Mal ausführen, dauert es 1, 2 oder 3 Sekunden, normalerweise 1 bis 10 Millisekunden Sekunden sind normal und es bedeutet, dass Ihr DNS ordnungsgemäß funktioniert
Fensterseite
und hier gib die IP-Adresse an (in meinem Fall ist es 192.168.1.50)
und du bist damit fertig, öffne CMD
ping gateway
Es muss Ihnen einige Antworten geben
ähnlich
ping 192.168.1.1 or 5
Es muss Ihnen einige Antworten geben
Testen Sie Ihren Server zur Außenwelt
Jetzt können Sie ubuntu.com zum ersten Mal anpingen oder ubuntu.com ausgraben. Es dauert einige Millisekunden, bis der Name ubuntu.com aufgelöst ist. Wenn Sie ihn jedoch zum zweiten Mal ausführen, nimmt er die Form von 1 bis 10 Millisekunden an Dies bedeutet, dass Ihr DNS ordnungsgemäß funktioniert. Konfigurieren von Clients
Fensterseite
offene Netzwerkverbindungen auswählen Adaptereinstellungen ändern auswählen Eigenschaften auswählen Internetprotokollversion IPv4
und hier gib die IP-Adresse an (in meinem Fall ist es 192.168.1.50)
IP-Adresse 192.168.1.50
Subnet Mask 255.255.255.0
Standardgateway 192.168.1.1
primärer DNS 192.168.1.5 (meine neue BIND-DNS-Server-IP)
wähle Voraus (im selben Fenster)
Wählen Sie DNS - Registerkarte
Geben Sie hier das Textfeld unten ein. Im DNS-Suffix für diese Verbindung: autun.hom
Klicken Sie auf OK
Klicken Sie beim Beenden auf Einstellungen bestätigen
Klicken Sie auf OK
und du bist damit fertig, öffne CMD
Code:
ping gateway
Es muss Ihnen einige Antworten geben
ähnlich
Code:
ping 192.168.1.1 or 5
Es muss Ihnen einige Antworten geben, die Sie mit dem NSLOOKUP- Code erhalten können:
nslookup gateway
LINUX-KUNDEN
Code:
sudo nano /etc/network/interfaces
Geben Sie die folgenden Zeilen ein
Code:
auto eth0
iface eth0 inet dhcp
Starten Sie jetzt Network Deamons neu
Code:
sudo /etc/init.d/networking restart
um den IP-Befehl zur Clienterneuerung zu erzwingen
Code:
sudo dhclient -r
Jetzt frische IP beziehen:
Code:
sudo dhclient
Wenn Sie einen DHCP-Server in Ihrem Netzwerk ausführen, geben Sie den Domänennamen und den Nameserver in die Datei dhcpd.conf ein. Ich habe zum Beispiel einen DNS-Server namens nefitari.autun.hom und die IP-Adresse lautet 192.168.1.5 wie unter
Code:
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
Sind vom Binden und versuchen, Abfragen rekursiv mit ipv6 zu lösen. Bearbeiten /etc/default/bind9
und Verwenden OPTIONS="-u bind -4"
behebt es. Weitere Informationen: serverfault.com/questions/77325/unreachable-resolving-domain
db.192
vor IN NS nefitari.
a @
fehlt. Außerdem musste ich den FQDN hinzufügen, damit meine Arbeitszeile so aussah. @ IN NS nefitari.autun.hom.
Ich habe den Abschnitt resolv.conf ignoriert und den Ratschlägen von jdthood gefolgt. Der Link war bereits von der Standardserverinstallation vorhanden.
Die Antwort ist nur eine Ergänzung zu der großartigen Beschreibung oben.
Tipp zur Fehlerbehebung
Sei sehr vorsichtig mit den vielen "." in den Konfigurationsdateien ist da jeder wichtig. Ein einzelnes fehlendes '.' kann den DNS-Server anhalten. Sie sollten sich nicht auf eindeutige Fehlermeldungen verlassen.
Ich habe gelernt, wie man eine aussagekräftigere Seriennummer verwendet. Es ist sehr wichtig, die Seriennummer jedes Mal zu erhöhen, wenn das Setup geändert wird, z. B. wenn neue Einträge hinzugefügt werden. Wenn es nicht erhöht wird, kann ein sekundärer DNS die neuen Einstellungen nicht synchronisieren. Das vorgeschlagene Format ist YYYYMMDDss
, wo ss
ist die "alte" Seriennummer. Wenn Sie also inkrementieren, sollten Sie ss
um +1 inkrementieren und das Datum auf das aktuelle Datum einstellen. Ich fand das sehr hilfreich bei der Fehlerbehebung beim Setup. Im Syslog sehen Sie deutlich das Datum und die Seriennummer der verwendeten Datei.
In Ubuntu 16.04 ist das Ändern von resolv.conf veraltet. Wie jdthood in seinem Kommentar schreibt, ersetzen Sie den Schritt durch das folgende Verfahren: - Ändern Sie / etc / default / bind9: Das neue Testament sollte folgendermaßen aussehen:
# run resolvconf?
RESOLVCONF=yes
# startup options for the server
OPTIONS="-u bind"
# use this when you have trouble with IPV6
#OPTIONS="-u bind -4"
Siehe den Kommentar von not-a-patch zu den IPV6-Problemen.
Setzen Sie einen Symlink von /etc/resolv.conf in /run/resolvconf/resolv.conf
cd /etc
sudo ln -s /etc/resolv.conf /run/resolvconf/resolv.conf
Offline-Setup
Das Setup ist genau das gleiche und sogar ein bisschen einfacher, da Sie die Weiterleitungsabschnitte einfach überspringen können. Sie müssen nicht vorhanden sein und müssen daher nicht bearbeitet werden /etc/bind/names.con.options
.
Klasse-B-Netzwerke
Es sind ein paar geringfügige Änderungen erforderlich, damit diese Funktion für Klasse-B-Netzwerke ausgeführt werden kann (bevor es Kommentare gibt, gibt es keinen Grund, warum ein lokales Netzwerk auch zu Hause kein Klasse-B-Netzwerk anstelle eines Klasse-C-Netzwerks sein könnte). . In diesem Beispiel verwende ich die Netzwerknummer 172.20.xx (ich denke, die formale Notation ist 172.20.0.0. Für weitere Informationen google rfc1918).
Verwenden Sie die Beschreibung aus der ersten Antwort, ersetzen Sie alle IPs 192.168.xx durch 172.20.xx, verwenden Sie für den Server IP 172.20.0.100 und ändern Sie die Dateien wie folgt:
db.192
wird db.172
.Die Datei named.conf.local
erhält einen anderen Reverse Zone-Abschnitt:
zone "20.172.in-addr.arpe" {
type master;
file "/etc/bind/zones/db.172";
}
Die Reverse Zones-Datei ändert sich 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.
Der Rest ist der gleiche.
Hoffe, es ist nützlich für jemanden.