Delegacja domeny na własny serwer DNS

Poniższy opis przedstawia jak wydelegować domenę na własny serwer DNS. Na OpenWrt postawimy tzw. podstawowy DNS(primary), w przypadku dodatkowego(secondary) skorzystamy z darmowych usług ze strony http://freedns.42.pl. Nie trzeba chyba wspominać, że musimy posiadać wykupiona już domenę u dowolnego providera. W przypadku tego opisu będę używał domeny openwrt.pl

Instalujemy

Serwer podstawowy postawimy na bind

opkg update
opkg install bind-server

Otwieramy porty w zaporze

Otwieramy port 53 zarówno tcp jak i udp:

uci add firewall rule
uci set firewall.@rule[-1]._name=bind
uci set firewall.@rule[-1].src=wan
uci set firewall.@rule[-1].target=ACCEPT
uci set firewall.@rule[-1].proto=tcpudp
uci set firewall.@rule[-1].dest_port=53

Otwieramy port 80 dla Luci lub innego serwera www:

uci add firewall rule
uci set firewall.@rule[-1]._name=http
uci set firewall.@rule[-1].src=wan
uci set firewall.@rule[-1].target=ACCEPT
uci set firewall.@rule[-1].proto=tcp
uci set firewall.@rule[-1].dest_port=80

uci commit firewal
/etc/init.d/firewall restart

W analogiczny sposób otwieramy wszystkie inne porty na których stawiane są usługi.

Wyrzucamy dnsmasq na inny port

Z racji, że dnsmasq - nasz lokalny serwer DNS działa na porcie 53, trzeba go wyrzucic na inny wolny np:. 5353:

 uci set dhcp.@dnsmasq[0].port=5353
 uci commit
 /etc/init.d/dnsmasq restart

Konfigurujemy podstawowy serwer DNS

Podstawowa konfiguracja programu bind znajduje się w pliku /etc/bind/named.conf Po zainstalowaniu ten plik nie istnieje więc musimy go stworzyć lub przedytowac plik przykładowy

cp /etc/bind/named.conf.example /etc/bind/named.conf

Konfiguracja podstawowego serwera DNS w przypadku bind'a wygląda następująco:

zone "openwrt.pl" {
 type master;
 file "/etc/bind/db.openwrt.pl";
 allow-transfer {79.98.145.34; 195.80.237.194; };
 notify yes;
};

Zmienna file wskazuje na plik w których przechowywane są rekordy domen(CNAME, A, AAAA, MX itd.), allow-transfer - zgodnie z zaleceniami serwisu http://freedns.42.pl ustawiamy te właśnie numer IP. Pomiędzy tylko tymi adresami IP nasz serwer podstawowy będzie wymieniał się danymi z dodatkowym.

Rzecz kolejna to utworzenie pliku /etc/bind/db.openwrt.pl. W przypadku tej domeny zawartość jest następująca:

$TTL 86400
$ORIGIN openwrt.pl.
@       IN      SOA     openwrt.pl. root.openwrt.pl. (
      2010090402 ;; serial
      1200       ;; refresh
      1200       ;; retry
      2419200    ;; expire
      86400      ;; TTL
      )
openwrt.pl. IN      NS      fns1.42.pl.
openwrt.pl. IN      NS      fns2.42.pl.
@           IN      A       80.XX.XX.XX
www         IN      A       80.XX.XX.XX
poczta      IN      A       80.XX.XX.XX
@           IN      MX  10  poczta

Nie ma sensu powtarzać co oznaczają wszystkie rekordy, gdyż jest to wiedza ogólnie i powszechnie dostępna, dlatego polecam świetny opis z przykładami na stronie www.baseciq.org. Rekord IN NS jest wymagany w takiej postaci(poza domeną), gdyż oznacza to ze używamy zewnętrznych serwerów DNS (czyt. freedns.42.pl). Adres IP 80.XX.XX.XX to zewnętrzny(publiczny) adres routera/maszyny na której dana usługa będzie uruchomiona, w tym przypadku wszystko jest na routerze z OpenWrt.

Ostatecznie uruchamiamy nasz serwer podstawowy:

/etc/init.d/named start
/etc/init.d/named enable

Konfigurujemy dodatkowy serwer DNS

Z reguły dostawcy domen wymagają co najmniej dwóch serwerów DNS i to przeważnie w postaci nazwy, a nie adresu IP (np. home.pl). Dlatego też skorzystamy z darmowych usług http://freedns.42.pl, który jest klonem niedawno wyłączonego http://freedns.sgh.waw.pl.

Zakładamy konto na freedns.42.pl i przechodzimy do konfiguracji:

Wybieramy Dodaj nową strefę, następnie wpisujemy nazwę strefy, zaznaczamy Zapasowe i wpisujemy adres zewnętrzny routera. Kończymy tworzą strefę - Utwórz. W zasadzie wszystko jest już ustawione. Po lewej stronie serwisu możemy kliknąć na nazwę strefy (brak na powyższym obrazku) i zobaczyć logi, czy wszystko jest w porządku. Z reguły wydelegowanie domeny trochę trwa (nawet do 24h). Po poprawnym wydelegowaniu powinien załadować się interfejs Luci(jeżeli używamy) lub inny zainstalowany serwer www.
Poprawność wydelegowanej domeny możemy też sprawdzić komendą dig (na Linuksie) lub poprostu pingiem na domenę

zastosowania/delegacja_domeny.txt · ostatnio zmienione: 2011/05/10 19:32 przez arteq
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki Recent changes RSS feed Valid XHTML 1.0
Profesjonalny Hosting