Serwer DNS w sieci lokalnej

Zirytowany czkawką serwerów DNS dostawcy sieci postanowiłem uniezależnić się. Widać serwery miały gorszy dzień, może ktoś próbował je zadławić atakiem DDoS. Nieważne. Ważne, że mam w zainstalowany własny serwer DNS.

Jaki z tego zysk? Jeżeli serwery DNS dostawcy sieci działają poprawnie,  czas odpowiedzi wynosi około 200 ms dla domen nieodwiedzanych wcześniej i 40-70 ms dla domen z cache (tak jest u mnie, w innych sieciach może być inaczej). Jeżeli strona jest  skomponowana z elementów z wielu domen, może to oznaczać kilkadziesiąt odwołań do DNS. Jako że odwołania do DNS wykonywane są synchronicznie, może okazać się, że sama obsługa domen zajmie ponad sekundę.

Jak to siÄ™ robi? Bardzo prosto.

Zaczynamy od zainstalowania pakietu unbound. W Ubuntu robi siÄ™ to przez

$sudo apt-get install unbound

potem konfigurujemy pakiet przez edycje odpowiedniego pliku. Na wstępie najlepiej zawartości pliku /etc/unbound/unbound.conf gdzieś sobie skopiować  na wieczną rzeczy pamiątkę i wpisać nową zawartość

$sudo vi /etc/unbound/unbound.conf

server:
verbosity: 1
#linia mówi, że każdy numer IP ma prawo do odpytania serwera.
interface: 0.0.0.0
port: 53
do-ip4: yes
do-ip6: yes
do-udp: yes
do-tcp: yes
do-daemonize: yes
access-control: 0.0.0.0/0 allow
#access-control: 0.0.0.0/0 refuse
#access-control: 127.0.0.0/8 allow
chroot: „”
use-syslog: yes
username: „unbound”
directory: „/var/lib/unbound”
use-syslog: yes
pidfile: „/var/run/unbound.pid”
root-hints: „/var/lib/unbound/named.cache”

Trzeba jeszcze ściągnąć adresy serwerów

$cd /var/lib/unbound
$sudo wget ftp://ftp.internic.net/domain/named.cache

I zrestartować demonoa

$sudo service unbound restart

i już możemy rozkoszować się pracującym serwerem DNS w naszej sieci lokalnej.

Pierwsze odwołanie do domeny trwa okolo 200 ms, ale każde następne 1 ms. W takich warunkach, jeżeli na stronie będzie setka domen, też mnie to już nie rusza,

Uwaga.

W innych systemach niedebianowych, na przykład w Fedorze, ścieżka /var/lib/unbound powinna być zamieniona na /var/unbound.

4 komentarze do “Serwer DNS w sieci lokalnej”

  1. Pisałem o konfiguracji serwera, nie pisałem o konfiguracji końcówki.
    O konfiguracji końcówek piszą inni i dużo, wydawało mi się to zbędne.

Skomentuj hello_world Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.