Portál AbcLinuxu, 30. dubna 2025 16:20

Domaci server (4) - DNS

26.3.2005 15:18 | Přečteno: 3466× | domaci sit

Tak mam zase cas se trochu venovat blogu. Taky proto, ze se mi na stole hromadi poznamky na dalsich asi 8 dilu dnes uvadim dil ctvrty - nastaveni DNS serveru ISC Bind.

Takze cim asi zacit? Nejdrive trocha nudne, nezajimave lec nutne teorie o DNS. DNS slouzi k prekladu IP adres (co je IP adresa si muzete precist zde) na domenove nazvy, ktere jsou snadno zapamatovatelne pro normalniho smrtelnika. V 70. a 80. letech, kdy internet existoval jeste jako ARPAnet a bylo propojeno jen nekolik svetovych univerzit (mimo jine i CVUT v praze), kdy svetove patere meli 9600 b/s (dnesni VELMI stare modemy maji 14400 b/s nebo 28800 b/s, standard modemu je 56400 b/s, dnesni patere maji desitky Gb/s) a na svete bylo pocitacu asi jako v jedne trochu vetsi skole, pouzival se misto DNS soubor hosts. Tento soubor muzete najit i dnes v /etc/hosts a funguje jako lokalni DNS. V tomto souboru jsou zapsane dvojice IP_adresa hostname. K cemu je to dobre? Pro modemisty a modemistky, ze nemusi kontaktovat vzdalen DNS server a mohou provadet preklad primo u sebe. Drive tento soubor stacil. Byl distribuovat pres mail a rane ftp a obsahoval tyto dvojice. Jenomze postupem casu zacinal byt soubor prilis velky a neohrabany. Hledalo se tedy jine reseni, ktere by jeho sluzby nahradilo. Tak vznikl distribuovany (tj. kazdy server ma pouze cast prekladu, pro ostatni musi kontaktovat jiny DNS server) system DNS. Kazdy server spravuje zaznamy pro sovji domenu a na ostatni se musi ptat jinych serveru. Schema prace DNS muzete najit tady.

Ale ted jiz k samotne instalaci a konfiguraci.

Instalace
Ze stranky ISC Bindu si stahneme nejnovejsi verzi, v dobe psani tohoto clanku to byla verze 9.3.1. Instaluje se klasicky pres ./configure, make a make install. Pokud mate nainstalovano OpenSSL, bude vas zajimat zapnuti zabezpeceneho DNS volbou --with-openssl. Jednou z dalsich voleb je volba --prefix, ktera urcuje, kam se ma bind nainstalovat. Ja jsem zadal /usr/local/dns.

Konfigurace named.conf
Tak, server by byl nainstaloivan, ted ho jeste nakonfigurovat. V adresari, kam mate bind nainstalovan (u me /usr/local/dns) vytvorte podadresar etc, do ktereho vytvorte soubor named.conf. Zde si dovolim mensi podvudek a odkazu vas na clanek zde na server o nastaveni named.conf. Jeste prilozim svuj named.conf.

V dalsi casti se budu drzet sve instalace.

Konfigurace zonovych souboru
Zony a zonove soubory jsou to, co dela dns tak uzitecnou. V nich jsou prave uvedeny dvojice hostname - IP adresa pro preklad. Me soubory jsou ve slozce zony. Soubor hackzones.named slouzi k prekladu hostname -> IP a soubor hackzones.rev k prekladu IP -> hostname. Myslim, ze komentare jsou dostatecne a nemusim tedy dale soubory popisovat.

hackzones.named

;
; DNS zaznamy jmeno -> ip pro hackzones.net
;
$TTL 1w
@	IN	SOA	server.hackzones.net. sniper.hackzones.net. (
			; Jmeno dns serveru (server.hackzones.net) a
                        ; email na spravce (zavinac je nahrazen teckou)
                        2004121700  ; serial
			10800	    ; obnovovaci frekvence zaznamu (v sekundach)
			1800	    ; pocet sekund, po ktere se ma snazit ziskat zaznamy
			604800      ; Cas vyprseni na sekundarnim DNS v sekundach
			900	)   ; negative cache TTL (v sekundach)
			
; nameservery
			IN	NS	server.hackzones.net.
			
; mailservery
			IN	MX	10 mail.hackzones.net.
			
; hosts
server			IN	A	10.0.0.100
darkblair		IN	CNAME	server
mail			IN	CNAME	server
smtp			IN	CNAME	server
imap              IN    CNAME server
www			IN	CNAME	server
ns			IN	CNAME	server
ftp               IN    CNAME server
honzuv			IN	A	10.0.0.1
jirkuv			IN	A	10.0.0.2
ondruv			IN	A	10.0.0.3
speedtouch		IN	A	10.0.0.138

; Aliasy pro weby
mysql			IN	CNAME	server

; EOF

Predci se jen zminim o druhe casti souboru, tj. o definici nameserveru, postovnich serveru a hostname.

Nameservery
Prvni sloupec je prazdny, stejne tak i u mailserveru. Vyznam si vysvetlime u definice hostu. Druhy sloupec preskocim a podivame se na sloupec treti. Tam je totiz uveden typ zaznamu. Typ NS znamena jmenny server (NameServer). Rika DNS, ze tento zaznam je pro jmeny server teto domeny. Pokud by jsme meli vice DNS serveru, zadame je sem. Ctvrty sloupec je jmeno serveru zakoncene teckou.

Mailservery
U mailserveru se vrhneme rovnou na treti sloupec. Tam je zaznam MX, coz znaci, ze tento server je postovni server pro nasi domenu. Ctvrty sloupec zacina cislem - prioritou serveru. Pokud by jsme meli veci serveru, rozlisime je prioritou. Cim mensi cislo, tim vissi priorita. Pak uz je jen jmeno serveru opet zakoncene teckou.

Hosts
Tato cast je duvod, proc to cele delame. Zde jsou napsane IP adresy a aliasy pro hosty. V prvnim sloupci je hostname (bez DNS domeny), druhy obsahuje IN. Treti sloupec je zajimavy. Zde zadavame typy zaznamu. Typ A znamena adress - ve ctvrtem sloupci je IP adresa stroje. Zaznam CNAME znaci alias. Ve ctvrtem sloupci je uveden hostname stroje. Vsimnete si, ze mail, smtp, www aj. jsou pouze aliasy k hostname server. Aliasy se pouzivaji pro odliseni slzeb (ftp, www, smtp, aj), pro poddomeny webu (zde mysql pro phpmyadmin) nebo pro jine ucely (zde darkblair - muj soukromy aliasik k serveru. Server je moc oficialni :)).

Typy DNS zaznamu
TypNazevPopis
SOAStart of authorityemail spravce + udaje o expiracich zaznamu
AAdressIP adresa odpovidajici danemu nazvu
CNAMECanonical nameAlias. Umoznuje vice hostname pro 1 IP adresu
PTRPointerNazev pocitace odpovidajici dane IP adrese
NSName serverDNS server pro urcitou domenu
MXMailexchangePostovni server pro danou domenu
HINFOHost informationInformace o HW a SW pocitace
TXTtextPopisny text. Ucel stanice, umisteni, atd.
RPResponsible personEmail na osobu zodpovidajici za stanci

Typy TXT, HINFO a RP se v praxi temer nepouzivaji. Uvadim je pouze v ramci prehledu

hackzones.rev

$TTL	1w
@	IN	SOA	server.hackzones.net. sniper.hackzones.net. (
			2004121700
			10800
			1800
			1209600
			604800	)
	IN	NS	server.hackzones.net.
1	IN	PTR	honzuv.hackzones.net.
2	IN	PTR	jirkuv.hackzones.net.
3	IN	PTR	ondruv.hackzones.net.
100	IN	PTR	server.hackzones.net.
138	IN	PTR	speedtouch.hackzones.net.

Popisi pouze 2. cast souboru. Opet muzeme najit zaznam NS pro nameserver. MX zaznamy se zde neuvadeji. V prvnim sloupci je posledni oktet (oktet = jedno cislo IP adresy (ve skutecnosti 8 bitu - proto oktet)) adresy. Ve druhem sloupci opet zaznam IN, ve tretim jsou uvedeny zaznamy PTR a ve ctvrtem hostname. Prvni 3 oktetyse berou z nazvu zony (v mem pripade 0.0.10.in-addr.arpa, takze oktety jsou 10.0.0)

Dale je nutno vytvorit adresar /usr/local/dns/var/run, kam se bude ukladat pid soubor serveru a doporucuji vytvorit linky v adresari bin na soubory /usr/local/dns/bin/host, nsupdate a nslookup.

Neco o bezpecnosti
ted neco o bezpecnosti DNS. Nechceme, aby nam proces named (DNS server) bezel pod rootem. Nejdrive pridame prikazem groupadd -g 902 named skupinu named. Dale prikazem useradd -d /usr/local/dns -u 902 -g named -s /bin/false named uzivatele named ve skupine named. Zmenime vlastnika adresre /usr/local/dns a vsech podradresaru (chown -R named.named /usr/local/dns). Proces ted spoustejte prikazem named -u named. Doporucuji si tento prikaz pridat do startovacich skriptu (na slackwaru do /etc/rc.d/rc.local).

Kontrola
Spustte DNS server a zkuste zadat ping hostitel. Meli by jste dostat odezvu. Za hostitele si dosadte nejaky zaznam z vasich zonovych souboru

Tak, to by bylo vsechno k DNS. Priste si povime neco o Webminovi.

       

Hodnocení: 100 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře. , Tisk

Vložit další komentář

26.3.2005 19:02 slavo | skóre: 5 | blog: blogujem
Rozbalit Rozbalit vše DNS
Odpovědět | Sbalit | Link | Blokovat | Admin
vdaka za clanok, opat som si nieco zopakoval a nieco noveho priucil. Tesim sa na dalsie clanky. :-)
Ondrej avatar 26.3.2005 20:04 Ondrej | skóre: 20 | blog: darkblair_server | Praha
Rozbalit Rozbalit vše Re: DNS
Tez dekuji za chvalu
Nikdo neni nikdy lepsi nez ty! Pouze ty jsi obcas horsi nez ostatni.

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.