Archiwa
Kategorie
Reklama

Serwer DNS w sieci lokalnej

Ziry­to­wany czkawką ser­we­rów DNS dostawcy sieci posta­no­wi­łem unie­za­leż­nić się. Widać ser­wery miały gor­szy dzień, może ktoś pró­bo­wał je zadła­wić ata­kiem DDoS. Nie­ważne. Ważne, że mam w zain­sta­lo­wany wła­sny ser­wer DNS.

Jaki z tego zysk? Jeżeli ser­wery DNS dostawcy sieci dzia­łają popraw­nie, czas odpo­wie­dzi wynosi około 200 ms dla domen nie­odwie­dza­nych wcze­śniej i 40–70 ms dla domen z cache (tak jest u mnie, w innych sie­ciach może być ina­czej). Jeżeli strona jest skom­po­no­wana z ele­men­tów z wielu domen, może to ozna­czać kil­ka­dzie­siąt odwo­łań do DNS. Jako że odwo­ła­nia do DNS wyko­ny­wane są syn­chro­nicz­nie, może oka­zać się, że sama obsługa domen zaj­mie ponad sekundę.

Jak to się robi? Bar­dzo prosto.

Zaczy­namy od zain­sta­lo­wa­nia pakietu unbo­und. W Ubuntu robi się to przez

$sudo apt-get install unbound

potem kon­fi­gu­ru­jemy pakiet przez edy­cje odpo­wied­niego pliku. Na wstę­pie naj­le­piej zawar­to­ści pliku /etc/unbound/unbound.conf gdzieś sobie sko­pio­wać na wieczną rze­czy pamiątkę i wpi­sać nową zawartość

$sudo vi /etc/unbound/unbound.conf

server:
ver­bo­sity: 1
#linia mówi, że każdy numer IP ma prawo do odpy­ta­nia ser­wera.
inter­face: 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
user­name: „unbo­und„
direc­tory: „/var/lib/unbound„
use-syslog: yes
pid­file: „/var/run/unbound.pid„
root-hints: „/var/lib/unbound/named.cache”

Trzeba jesz­cze ścią­gnąć adresy serwerów

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

I zre­star­to­wać demonoa

$sudo service unbo­und restart

i już możemy roz­ko­szo­wać się pra­cu­ją­cym ser­we­rem DNS w naszej sieci lokalnej.

Pierw­sze odwo­ła­nie do domeny trwa okolo 200 ms, ale każde następne 1 ms. W takich warun­kach, jeżeli na stro­nie będzie setka domen, też mnie to już nie rusza,

Uwaga.

W innych sys­te­mach nie­de­bia­no­wych, na przy­kład w Fedo­rze, ścieżka /var/lib/unbound powinna być zamie­niona na /var/unbound.

4 Responses to Serwer DNS w sieci lokalnej

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

*

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>