Dedinčan odporúča...

logoDia je program pre kreslenie diagramov, ktorý pomôže kresliť diagramy vzťahov entít, UML diagramy, vývojové diagramy, sieťové diagramy a mnoho ďalších. Môžete si do neho pridať podporu nových tvarov pomocou jednoduchých súborov XML a podmnožiny...

OpenWrt a DNS

Kategória: OpenWrt
Upravené: nedeľa, 11. január 2009

Nastavnie vlastného kešovacieho servera DNS je výhodné, pretože potom nie je každá požiadavky na preklad mena na IP adresu riešená cez internet ale Váš DNS server sa pokúša nájsť odpoveď vo vyrovnávacej pamäti.

Po nainštalovaní X-Wrt je v systéme pripravený kešovací DNS server dnsmasq. Jedná sa o odľahčený, ľahko konfigurovateľný DNS a DHCP server. Je navrhnutý na poskytovanie služieb DNS a, voliteľne aj, DHCP pre malú sieť. Dokáže obsluhovať mená lokálnych strojov, ktoré nie sú v globálnom DNS. DHCP server je integrovaný s DNS serverom a dovoľuje strojom s adresou priradenou DHCP objaviť sa v DNS.

Server dnsmasq podporuje statické aj dynamické DHCP zápožičky a BOOTP pre sieťový boot bezdiskových staníc. Dokáže tiež prenášaj bootovacie jadrá pomocou TFTP. A to všetko v jednom konfiguračnom súbore. Je pre malú sieť ešte niečo treba?

Spúšťanie dnsmasq

Nie, nebojte sa dnsmasq je spúšťaný automaticky po štarte a vlastne nepotebujte nič meniť, pre to aby fungoval. Ale... Predvolený štartovací skript používa NVRAM, teda niektoré voľby načítava z tejto pamäte. Aby ste zaistili, že dnsmasq bude používať výhradne s nastaveniami konfiguračnom súbore (/etc/dnsmasq.conf) je potrebné nahradiť tento štartovací skript zmeniť (/etc/init.d/dnsmasq) takto:

štartovací skript dnsmasq
  1. #!/bin/sh /etc/rc.common
  2. # dnsmasq
  3. # Copyright (C) 2007 Slavko
  4. START=60
  5. start() {
  6.         [ ! -f /tmp/dhcp.leases ] && touch /tmp/dhcp.leases
  7.         dnsmasq
  8. }
  9.  
  10. stop() {
  11.         killall dnsmasq
  12. }

Neviem prečo, ale reštartovanie dnsmasq pre načítanie novej konfigurácie nestačilo, ale reštart smerovača pomohol. Potom je dnsmasq pripravený na naše nasatvenia z konfiguračného súboru.

Nastavenie DNS

Nebudem sa tu zdržiavať popisom syntaxe konfiguračného súboru, ale prejdem rovno k popisu jednotlivých nastavení. Záujemcov odkážem na domovskú stránku programu a googla.

Konfigurácia systému DNS je postavená na dvoch súboroch. Prvým je samotný konfiguračný súbor dnsmasq (/etc/dnsmasq.conf) a druhým súbor /etc/hosts, ktorý obsahuje zoznam IP adries a mien počítačov. Čiže v dnsmasq nenastavujete zónové súbory, takže neposkytuje úplné zónové informácie, ale pre malú domácu či firemnú sieť to postačuje.

Začneme nastavením zoznamu IP adries a mien počítačov v súbore /etc/hosts. Jeho syntax je rovnaká ako v štandardnom systéme, ale lokálne počítače stačí uvádzať bez mena domény, ktorú dnsmasq (ak mu to nastavíte) bude pridávať sám. Môj súbor /etc/hosts vyzerá napríklad takto:

127.0.0.1      localhost.

192.168.0.253 openwrt asus
192.168.0.1 bonifac
192.168.0.3 pankrac
192.168.0.10 debian
192.168.0.133 etchfull
192.168.0.132 etchcons

Všimnite si, že môžete pridať aj úplné doménové meno (to som použil, keď mala daná doména problém a nebola v DNS záznamoch), dnsmasq k takému menu počítača už meno lokálnej domény nepridáva.

Konfigurácia dnsmasq, ako som už spomínal, je v súbore /etc/dnsmasq.conf. V mojom konfiguračnom súbore nájdete:

# filter what we send upstream
domain-needed
bogus-priv
filterwin2k

Parameter domain-needed hovorí, aby server nepredával nadradeným serverom požiadavky na doménové mená bez DNS prípony. Parameter bogus-priv zas udáva, že nemajú byť predávané požiadavky na preklad súkromných adries. filterwin2k slúži na odfiltrovanie zbytočných požiadaviek z OS Windows.

local=/skk/
domain=skk
expand-hosts
no-negcache
resolv-file=/tmp/resolv.conf.auto

Parameter local nasatavuej meno lokálnej domény (skk) a parameter domain zase udáva doménovú príponu, ktorá bude pridávaná k menám počítačov z /etc/hosts, čo nastavuje voľba expand-hosts. Parameter no-negcache nariaďuje neukladať vo vyrovnávacej mpamäti negatívne odpovede nadriadených serverov. V parametri resolv-file je nasatvená cesta k súboru s adresami DNS serverov.

Verte alebo nie, DNS server dnsmasq je nastavený a spravuje lokálnu doménu skk s nasatvenými šiestimi strojmi v doméne.

Nastavenie DHCP

Nastavenie DHCP servera nie je o nič zložitejšie, ako nastavenie DNS, pre základné nastavenie pridajte do konfiguračného súboru:

dhcp-range=192.168.0.100,192.168.0.150,8h

a máte nastavený DHCP server, ktorý bude na príslušnom rozhraní (podľa podsiete) dynamicky prideľovať IP adresy z rozsahu 192.168.0.100 - 150, s dobou zápožičky 8 hodín.

Ak chcete cez DHCP prideľovať statické IP, pridajte meno počítača a IP adresu do súboru /etc/hosts a nastavte klienta, aby posielal svoje meno. Windows to robí automaticky, v Linuxe je potebné do konfiguračného súboru DHCP klienta ISC /etc/dhclient.conf pridať:

send host-name "workstation1";

... samozrejme so správnym menom stroja.

Nastavenie sieťového zavádzania

Od verzie 2.36 poskytuje dnsmasq aj možnosti TFTP, stačí v /etc/dnsmasq.conf povoliť TFTP, nastaviť jeho koreňový adresár a samozrejme určiť súbor zavádzača:

enable-tftp
tftp-root=/var/lib/tfptboot
dhcp-boot=pxelinux.0

Samozrejme, môžete použiť aj iný TFTP server, potom je potrebné nastaviť zavádzací súbor, meno a adresu TFTP servera:

dhcp-boot=/var/ftpd/pxelinux.0,boothost,192.168.0.3

Tieto nastavenia dnsmasq nie sú úplné, ale plne postačujúce pre malú domácu a často i firemnú sieť.

Copyright © 2008 - 2012 Sprievodca dedinčana... Niektoré práva vyhradené.
Ak nie je uvedené inak, obsah podlieha licencii „Creative Commons Uveďte autora – Zachovajte licenciu 3.0 Unported

Nenasledovať tento odkaz, inak budete maž zakázaný prístup na stránku!