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.

Dodaj komentarz

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.