Odpowiedzi:
Przede wszystkim zmień adres IP serwera z DHCP na STATIC, aby użyć tego polecenia
sudo nano /etc/network/interfaces
i dodaj:
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
Uruchom ponownie demony sieciowe
sudo /etc/init.d/networking restart
Przed skonfigurowaniem serwera DNS w systemie Linux Ubuntu musisz najpierw utworzyć nazwę domeny, a następnie kontynuować. Najpierw sprawdzisz, czy to polecenie hostname
sudo nano /etc/hostname
nefitari
(To jest moja nazwa hosta serwera Ubuntu, twoja może być inna. Możesz to zmienić w zależności od potrzeb)
Teraz po nazwie hosta musisz utworzyć nazwę domeny dla swojego serwera. Powiedz servername.domain.com. Lepiej jest, aby za każdym razem, gdy konfigurujesz serwer do użytku domowego, nie używaj .com, ale .hom lub .net lub cokolwiek innego. Podaj poniższe polecenie
sudo nano /etc/hosts
dodaj, jeśli go nie ma:
127.0.0.1 localhost
192.168.1.5 nefitari.autun.hom nefitari
W moim pliku 127.0.0.1 jest dla lokalnego hosta i zmieniłem drugi adres IP 127.0.1.1 z adresem IP mojego serwera, który jest 192.168.1.5, teraz wprowadzam nazwę mojej domeny, mając najpierw moją nazwę hosta nefitari, potem moją nazwę domeny autun.hom, a następnie alias nefitari . Możesz wybrać własny, hostname.abc.net lub hostname.home.lan itp., Ale pamiętaj, że zmiana na ten plik wymaga zrestartowania serwera, a następnie zalogowania się. Ponowne uruchomienie jest konieczne
sudo apt-get install bind9
Po instalacji po prostu skonfiguruj poniższe pliki krok po kroku
Teraz skonfiguruj plik o nazwie .conf.options Ten plik służy do adresów IP DNS. Oznacza to, że Twój serwer musi połączyć się z jakimś DNS poza nim. Kiedy kupujesz nazwę domeny od usługodawcy internetowego, zwykle daje ci swoje własne adresy IP DNS. Możesz użyć otwartych adresów IP DNS Google'a lub czegoś podobnego. W moim przypadku korzystam z własnych adresów IP DNS usługodawcy internetowego.
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;
};
*** Zapisz plik i wyjdź *** za pomocą kontrolki x naciśnij y i nadpisz plik
Teraz edytuj plik o nazwie.conf.local Jest to plik, w którym definiujemy strefy do przodu i strefy do tyłu. Oznacza to, że kiedy wprowadzimy nazwę domeny, przełoży ją ona na adres IP, a kiedy wprowadzimy adres IP, po prostu zamieni go na nazwę.
sudo nano /etc/bind/named.conf.local
pokaże:
# 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";
};
*** Zapisz plik i wyjdź *** za pomocą kontrolki x naciśnij y i nadpisz plik
Teraz utworzymy te dwa pliki bazy danych db.autun.hom i db.192 w folderze stref
Najpierw utwórz strefy katalogu w / etc / bind /
sudo mkdir /etc/bind/zones
Przed utworzeniem plików pozwól mi wyjaśnić, że mam różne urządzenia
Adresy IP urządzeń
Teraz w katalogu stref utworzymy najpierw dwa pliki db.autun.hom . Właśnie kopiuję plik db.local już obecny w folderze / etc / bind do folderu stref, zmieniając jego nazwę na db.autun.hom . Umieszczę te adresy IP w moim pliku db.autun.hom. Zaczynajmy
sudo cp /etc/bind/db.local /etc/bind/zones/db.autun.hom
Teraz użyj poniższego polecenia, aby edytować plik
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.
Zapisz i wyjdź
Teraz utwórz plik strefy wyszukiwania wstecznego
sudo cp /etc/bind/db.127 /etc/bind/zones/db.192
Teraz użyj poniższego polecenia, aby edytować plik
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.
Zapisz i wyjdź
Teraz, kiedy skończysz z plikiem strefy, musisz sprawdzić, czy działa poprawnie, czy nie, wprowadzając poniższe polecenie dla pliku strefy przesyłania dalej
named-checkzone autun.hom /etc/bind/zones/db.autun.hom
zone autun.hom /IN: loaded serial 2
Ok
Teraz sprawdź plik strefy odwrotnej
named-checkzone autun.hom /etc/bind/zones/db.192
zone autun.hom /IN: loaded serial 2
Ok
Jeśli wyjście nazwanej strefy kontrolnej jest takie samo jak powyżej, to działa dobrze, w przeciwnym razie popełniłeś błąd w pliku.
Teraz edytuj plik resolv.conf
sudo nano /etc/resolv.conf
nameserver 192.168.1.5
domain autun.hom
search autun.hom
Wpisz następujące wiersze do pliku resolv.conf i zapisz go
Uruchom ponownie powiązanie
sudo /etc/init.d/bind9 restart
Po rozpoczęciu wiązania sprawdź ustawienia w pliku dziennika
tail -f /var/log/syslog
nie może zawierać żadnego błędu w dzienniku
host –l autun.hom
Dane wyjściowe powinny się podobać
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
Teraz użyj NSLOOKUP
nslookup autun.hom
WYNIK
Server: 192.168.1.5
Address: 192.168.1.5#53
Name: autun.hom
Address: 192.168.1.5
Użyj 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
Dane wyjściowe powinny być podobne do powyższych, sprawdź status: NOERROR oznacza, że to rozwiązuje sprawdź SEKCJA ODPOWIEDZI: gateway.autun.hom jest rozdzielony na 192.168.1.1
host 192.168.1.1
Wynik
1.1.168.192.in-addr.arpa domain name pointer gateway.autun.hom
Jeśli pojawi się błąd jak poniżej
host 1.1.168.192.in-addr.arpa. not found: 3(NXDOMAIN)
Oznacza to, że popełniłeś błąd w pliku /etc/bind/named.conf.local w strefie odwrotnej. Jeśli adres IP twojego serwera to 192.168.1.5, strefa odwrotna wygląda następująco:
zone "**1.168.192**.in-addr.arpa" {
correct ip reversing
};
Czasami ludzie popełniali błąd podczas odwracania adresu IP jak (tylko przykład)
zone "**0.168.192**.in-addr.arpa" {
incorrect ip reversing
};
Użyj 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
Jeśli pojawią się błędy typu NXDOMAIN lub SERVFAIL, oznacza to, że jeden z plików strefy nie działa poprawnie
Teraz możesz pingować Ubuntu.com lub wykopać Ubuntu.com po raz pierwszy, aby rozwiązać nazwę Ubuntu.com, potrwa kilka milisekund, ale kiedy uruchomisz ją po raz drugi , zajmie to 1, 2 lub 3 sekundy, zwykle od 1 do 10 miliardów sekundy są normalne i oznacza to, że Twój DNS działa poprawnie
strona okna
i tutaj podaj adres IP (w moim przypadku jest to 192.168.1.50 czy pamiętasz win7pc)
i skończysz z otwartym CMD
ping gateway
musi dać ci kilka odpowiedzi
podobnie
ping 192.168.1.1 or 5
musi dać ci kilka odpowiedzi
Przetestuj swój serwer w świecie zewnętrznym
Teraz możesz pingować Ubuntu.com lub wykopać Ubuntu.com po raz pierwszy, aby rozwiązać nazwę Ubuntu.com, potrwa kilka milisekund, ale kiedy uruchomisz go po raz drugi, zajmie to od 1 do 10 miliardów sekund, jego normalny czas i oznacza to, że Twój DNS działa poprawnie Konfigurowanie klientów
strona okna
otwórz połączenia sieciowe wybierz zmień ustawienia adaptera wybierz właściwości wybierz protokół internetowy wersja IPv4
i tutaj podaj adres IP (w moim przypadku jest to 192.168.1.50 czy pamiętasz win7pc)
Adres IP 192.168.1.50
Maska podsieci 255.255.255.0
Brama domyślna 192.168.1.1
podstawowy DNS 192.168.1.5 (mój nowy adres IP serwera DNS BIND)
wybierz Advance (w tym samym oknie)
wybierz zakładkę DNS
Wpisz poniżej pole tekstowe W sufiksie DNS dla tego połączenia: autun.hom
kliknij ok
kliknij na zatwierdź ustawienie przy wyjściu
kliknij ok
i skończysz z otwartym CMD
Kod:
ping gateway
musi dać ci kilka odpowiedzi
podobnie
Kod:
ping 192.168.1.1 or 5
musi dać ci kilka odpowiedzi, których możesz użyć Kod NSLOOKUP :
nslookup gateway
KLIENCI LINUX
Kod:
sudo nano /etc/network/interfaces
wpisz następujące wiersze
Kod:
auto eth0
iface eth0 inet dhcp
Teraz uruchom ponownie Network Deamons
Kod:
sudo /etc/init.d/networking restart
w celu wymuszenia klienta odnowienia polecenia IP
Kod:
sudo dhclient -r
Teraz uzyskaj nowy adres IP:
Kod:
sudo dhclient
Jeśli korzystasz z serwera DHCP w swojej sieci, wprowadź nazwę domeny i serwer nazw w pliku dhcpd.conf; na przykład mam serwer DNS o nazwie nefitari.autun.hom, a adres IP to 192.168.1.5, jak pod
Kod:
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
pochodzą z wiązania próbującego rekurencyjnie rozwiązywać zapytania przy użyciu ipv6. Edycja /etc/default/bind9
i używanie OPTIONS="-u bind -4"
to naprawia. Więcej informacji: serverfault.com/questions/77325/unreachable-resolving-domain
db.192
zanim IN NS nefitari.
to @
brakuje. Musiałem także dodać nazwę FQDN, więc moja działająca linia wyglądała tak @ IN NS nefitari.autun.hom.
, zignorowałem sekcję resolv.conf i postępowałem zgodnie z radą jdthood. Link był już tam z domyślnej instalacji serwera.
Odpowiedź jest tylko dodatkiem do powyższego świetnego opisu.
Porada dotycząca rozwiązywania problemów
Bądź bardzo ostrożny z wieloma ”. w plikach konfiguracyjnych, ponieważ każdy z nich jest ważny. Brak pojedynczego „”. może zatrzymać działanie serwera DNS. Nie należy liczyć na wyraźne komunikaty o błędach.
Nauczyłem się, że dobrą praktyką jest używanie bardziej wymownego numeru seryjnego. Bardzo ważne jest zwiększanie numeru seryjnego przy każdej modyfikacji konfiguracji, np. Dodawane są nowe wpisy. Jeśli nie zostanie zwiększony, pomocniczy DNS nie zsynchronizuje nowych ustawień. Sugerowany format to YYYYMMDDss
, gdzie ss
jest „stary” numer seryjny. Dlatego podczas zwiększania należy zwiększyć ss
o +1 i ustawić datę na bieżącą datę. Uznałem to za bardzo pomocne przy rozwiązywaniu problemów z konfiguracją. W syslog wyraźnie widać datę i numer seryjny użytego pliku.
W Ubuntu 16.04 zmiana resolv.conf jest przestarzała. Jak pisze jdthood w swoim komentarzu, zastąp ten krok następującą procedurą: - Zmień / etc / default / bind9: nowa będzie wyglądać tak:
# run resolvconf?
RESOLVCONF=yes
# startup options for the server
OPTIONS="-u bind"
# use this when you have trouble with IPV6
#OPTIONS="-u bind -4"
zobacz komentarz z nie-łaty dotyczący problemów z IPV6.
umieść dowiązanie symboliczne /etc/resolv.conf w /run/resolvconf/resolv.conf
cd /etc
sudo ln -s /etc/resolv.conf /run/resolvconf/resolv.conf
Konfiguracja offline
Konfiguracja jest dokładnie taka sama, a nawet nieco łatwiejsza, ponieważ możesz po prostu pominąć sekcje przesyłania. Nie muszą być obecne, więc nie trzeba edytować /etc/bind/names.con.options
.
Sieci klasy B.
Jest kilka drobnych zmian wymaganych, aby działało to w przypadku sieci klasy B (zanim pojawią się komentarze, nie ma powodu, dla którego sieć lokalna, nawet w domu, nie mogłaby być klasą B zamiast sieci klasy C) . W tym przykładzie używam numeru sieci 172.20.xx (myślę, że formalną notacją jest 172.20.0.0. Więcej informacji na google rfc1918).
Użyj opisu z pierwszej odpowiedzi, zamień wszystkie adresy IP 192.168.xx na 172.20.xx, użyj dla adresu IP serwera 172.20.0.100 i zmodyfikuj pliki w następujący sposób:
db.192
staje się db.172
.plik named.conf.local
otrzymuje inną sekcję strefy odwrotnej:
zone "20.172.in-addr.arpe" {
type master;
file "/etc/bind/zones/db.172";
}
Plik stref odwrotnych zmienia się na:
;
; 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.
Reszta jest taka sama.
Mam nadzieję, że jest to przydatne dla kogoś.