NoName_1000 | 2019-08-07 11:14:25 UTC | #1
W dzisiejszym poradniku pokażę jak stworzyć własną strefę DNS dla domeny internetowej (tzw. nameserver). Wiele osób posiada strefę DNS dla swojej domeny w takich serwisach jak cloudflare ale jak z jakiś powodów chcemy aby strefa DNS była na VPS’ie to poradnik jest dla Ciebie.
Aby zrobić własną strefę DNS potrzebujemy:
Na potrzeby poradnika zamówiłem darmową domenę z freenom.com. Aby stworzyć swój serwer nazw trzeba będzie dodać rekord glue
. W freenom da się to zrobić z poziomu panelu, w przypadku niektórych rejestratorów to dopiero po kontakcie z supportem.
1. Instalacja:
Na początku trzeba zainstalować wymagany program, będzie to tylko bind9
, instalujemy bind9
poleceniem:
apt install bind9
2. Tworzenie rekordu glue:
Aby móc przekierować domenę na naszą strefę DNS to trzeba stworzyć rekord glue. W freenom wchodzimy w zakładkę Services, wybieramy My Domains i obok naszej domeny klikamy przycisk Manage domain
. Następnie jest zakładka Management Tools
i ją rozwijamy i wybieramy pozycję Register glue records
. W polu hostname
wpisujemy adres pierwszego serwera NS, np. ns1 a w polu IP Address
wpisujemy adres IP naszego serwera VPS na którym będzie strefa DNS. Po zapisaniu rekordu tworzymy drugi rekord i nadajemy mu inną nazwę niż temu pierwszemu np. ns2 i wpisujemy ten sam adres IP co wyżej a następnie zapisujemy.
Mniej więcej powinno wyglądać to tak:
Potem klikamy przycisk Back
i rozwijamy zakładkę Management Tools
i wybieramy pozycję Nameservers
, wybieramy Use custom nameserver
i wpisujemy adresy które zostały zdefiniowane w rekordach glue
. (Przyjmijmy że stworzyliśmy dwa rekordy glue o nazwie ns1 i ns2 czyli wpisujemy np. ns1.domena-testowa.ml i ns2.domena-testowa.ml).
3. Konfiguracja strefy DNS:
Jak stworzyliśmy rekord glue
i ustawiliśmy serwery nazw to możemy zacząć tworzyć strefę DNS. Poleceniem
cd /etc/bind
przechodzimy do katalogu bind9. Teraz edytujemy plik o nazwie named.conf
i dodajemy do jego strefę (ang. zone) Do pliku dodajemy następującą treść (domena-testowa.ml
zastępujemy swoją domeną).
zone “domena-testowa.ml” IN {
type master;
file “/etc/bind/domena-testowa.ml.dns”;
};
file
to lokalizacja pliku gdzie będą znajdować się rekordy DNS. Można tutaj ustawić inną lokalizację.
Zapisujemy plik named.conf
i zamykamy.
4. Tworzenie rekordów DNS:
Teraz tworzymy plik w którym będą rekordy DNS dla naszej domeny. Lokalizacja pliku musi być taka sama jaka została podana w punkcie powyższym w zmiennej file
. W moim przypadku to będzie /etc/bind/domena-testowa.ml.dns
. Więc przy pomocy edytora nano
(Lub innego) tworzymy i edytujemy ten plik:
nano /etc/bind/domena-testowa.ml.dns
Do pliku dodajemy wartość $TTL
oraz rekord SOA. Plik powinien wyglądać mniej więcej w taki sposób (domena-testowa.ml
należy zastąpić nazwą swojej domeny).
https://pastebin.com/2efpDKNc
$TTL 3600
domena-testowa.ml. IN SOA ns1.domena-testowa.ml. ns2.domena-testowa.ml. (
000000001 ; Serial
3600 ; Refresh
1800 ; Retry
604800 ; Expire
300) ; Negative Cache TTL
;
domena-testowa.ml. IN NS ns1.domena-testowa.ml.
domena-testowa.ml. IN NS ns2.domena-testowa.ml.
ns1.domena-testowa.ml. IN A [Adres IP VPS]
ns2.domena-testowa.ml. IN A [Adres IP VPS]
Zmienna Serial
to jest numer seryjny rekordu DNS. Jeżeli wprowadzimy zmiany w strefie DNS i chcemy aby te zmiany były od razu zatwierdzone to zmieniamy wartość Serial
na jakąkolwiek inną (Zawsze zmienna Serial
musi mieć 10 cyfr).
Po utworzeniu rekordu SOA i NS możemy dodawać własne rekordy. Jeżeli chcemy wykonać przekierowanie do naszego serwera to dodajemy rekord A
np.
domena-testowa.ml. IN A [Adres IP]
Trzeba pamiętać aby zawsze na końcu nazwy domeny dodać kropkę.
5. Restart serwera DNS:
Aby zatwierdzić zmiany należy wykonać polecenie:
rndc reload
lub
service bind9 restart
Aby móc nawiązać połączenie z serwerem DNS a mamy firewalla to trzeba dodać odpowiedni rekord do zapory sieciowej poleceniem:
ufw allow bind9
Z mojej strony to wszystko, mam nadzieję że w jakiś sposób pomogłem.
psycho | 2019-08-07 05:12:10 UTC | #2
Poradnik fajny, ale mogłeś również dać kod z pastebina tutaj, żeby nie musieć niepotrzebnie otwierać kolejnej karty.