Bind9 konfiguracija

Pozdrav,

Pošto sam u zadnje vrijeme dosta čačkao bind rekoh da na brzinu napisem par rijeci o osnovnoj konfiguraciji…

Bind je DNS server i to jedan od najzastupljenijih, koriste ga mnogi provideri i velike kompanije (ukljucujuci i naš bihnet).

Pošto kući imam jedan računar koji je konstantno upaljen (nebi nikada pogodili u pitanju je asusov eee PC model 700 sa procesorom koji sam clocknuo na 900MHz :slight_smile: prava mala zvijer na njemu se vrti ubuntu od skora 10.04)

E sad pošto mi je kućna mreža narasla na tri računara i router :slight_smile: a stalno imam potrebe za nekom razmijenom podataka među računarima učinilo mi se da bi bilo super da podignem jedan DNS server kako bi uljepsao rad u mreži… izbor je vrlo brzo pao na bind…

Znači prvi korak je instalacija bind-a… što se tiče Ubuntu Linux-a to je jednostavno

Neću ulaziti u detalje kako instalirati bind iz source-a…

Instalacijom dnsutils-a dobijate neke korisne DNS alate poput dnstop alata.

Dakle kada je instalacija obavljena slijedi konfiguracija…

Konfiguracijski fajlovi su smješteni na lokaciji

Oni koji nas interesuju su

[quote]/etc/bind/named.conf
/etc/bind/named.conf.options
/etc/bind/named.conf.local[/quote]
Prva stvar koju trebamo uraditi je konfigurisati koje DNS servere će naš DNS server pitati ako ne pronađe record… to se radi u konfiguracijskom fajlu /etc/bind/named.conf.options

Fajl otvorite u vašem tekst editoru ako koristite gui onda kucajte

Ako radite editovanje u terminalu

ili vec neki treći editor.

Kada otvorite konfiguracijski fajl potrebno je skloniti komentare sa sljedećih linija

[quote]forwarders {
ip.dns.servera1;
ip.dns.servera2;
};[/quote]
I na mjesta ip.dns.servera1 i 2 upisati primarni i sekundarni DNS server vašeg internet providera i to je to što se tiče ovog fajla.

Sada možete da restartujete bind

Nakon ovoga mozete testirati da li funkcioniše ovo što ste uradili…

[quote]nslookup

server 127.0.0.1
www.google.com[/quote]
Trebali bi dobiti ip adrese google-ovih servera ali ovog puta odgovor dobijate tako što pitate prvo vaš bind server pa zatim pošto on ne zna rekurzivnim upitom saznaje informaciju koju ste trazili i prosljeđuje vam je… Ako ovo radi onda je prvi korak gotov, ako ne provjerite da li ste konfiguracijski fajl napisali kako treba, obratite pažnju na tačke zarez.

Ovaj tutorial će osposobiti bind da djeluje kao primary master server na vašoj mreži.

Sljedeći korak je pravljenje zone i zonskog fajla.

Da bi dodali zonu bind-u i time ga pretvorili u primary master server za tu zonu potrebno je da otvorite u editoru fajl /etc/bind/named.conf.local i da dodate sljedeće u njega

[quote]zone “primjer.ba” {
type master;
file “/etc/bind/db.primjer.ba”;
};[/quote]
Obratite pažnju da ime zone primjer.ba i ime zonskog fajla db.primjer.ba može biti što god zamislite samo ostavite db. prije naziva fajla da bi znali o čemu se radi kasnije.
Znači ovo je mjesto gdje ustvari imenujete vašu zonu(domenu) koja će se nalaziti u vašoj mreži… bitno je da znate da vaš bind server prvo provjerava svoje record-e pa tek zatim postavlja pitanja DNS serverima koje ste naveli kao forwarders što znači ako stavite zonu google.com vaš dns server nikada neće pitati forwarding server i nikada nećete stići do google-a dok ovo ne promijenite, stoga imajte obzira kako ćete imenovati vašu zonu drugim riječima vašu lokalnu domenu.

Sada ćemo iskoristiti već postojeći defaultni zonski fajl kao template za vaš, kucajte:

Otvorite onda fajl db.primjer.ba u editoru i editujte linije da ga prilagodite sljedećem:

[quote];
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA localhost. root.localhost. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.primjer.ba.
@ IN A 192.168.1.10
mojserver IN A 192.168.1.10[/quote]
Serijski broj inkrementirajte svaki put kada mijenjate zonski fajl

Kada ste snimili promjene mozete restartovati bind

Kada je zonski fajl snimljen potrebno je napraviti i revers zone file koji se koristi za pretvaranje imena u IP adrese.

Otvorite u editoru /etc/bind/named.conf.local i dodajte sljedeće:

[quote]zone “1.168.192.in-addr.arpa” {
type master;
notify no;
file “/etc/bind/db.192”;
};[/quote]
Ako vam je mreža drugačija promijenite 1.168.192.in-addr.arpa i db.192 u odgovarajuće.

Zatim kreiramo db.192 fajl kopirajući već postojeći i koristeći ga kao template.

Otvorite fajl db.192 u editoru i upišite sljedeće:

[quote];
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA localhost. root.localhost. (
1 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.
10 IN PTR ns.primjer.ba.[/quote]
Obratite paznju na liniju (10 IN PTR ns.primjer.ba) 10 označava host dio ip adrese dns servera koji pravimo u ovom primjeru 192.168.1.10 znači samo je potrebno zamijeniti sa svojim adresama.

Ok to je to još jedan restart.

I možemo preći na testiranje.

Postavite sebi u /etc/resolve.conf adresu vašeg DNS servera a ostale zakomentirajte ili izbrišite (prethodno napravite backup resolve.conf fajla) i onda ga možete testirati.

Ako nešto nije uredu i bind se nije htio restartovati obično je problem u konfiguracijskom fajlu onda kucajte:

Uz pomoć ove komande dobićete informaciju gdje se nalazi greška u vašem konfiguracijskom fajlu, ovo možete primijeniti i na fajl db.192

Toliko za sada ovo je bazna konfiguracija bind-a koja će raditi u lokalnoj mreži bez problema, nisam dodavao sekundarni server, što je poprilično jednostavno kada ste jednom konfigurisali primarni.

bind ima još dosta opcija sa kojima se možete igrati i koje možete testirati, sa ovim tutorialom ćete osposobiti bind za rad a dalje možete sami…

Pozdrav…

Cujem da BIND stoji za dosta nesiguran DNS… pa me zanima odakle ti informacija sta Bihnet koristi? Inace kazu da je djbdns dosta dobar ali i pain in ass za podesiti. Zato ja svoj DNS prepustam DNS providerima…

Pozdrav,

Sto se tice nesigurnosti to je jako siroka tema svaki je siguran ili nesiguran sve ovisi od konfiguracije, odrzavanja…

Ako zelis znati koji dns ti provider koristi imas 2 jednostavna nacina i dosta komplikovanih, 1. Naletio sam na par sajtova koji ce dns fingerprinting uraditi za tebe 2. ako koristis linux instaliras fpdns

Evo ti output

[quote]sudo fpdns 195.222.32.10
fingerprint (195.222.32.10, 195.222.32.10): ISC BIND 9.2.3rc1 – 9.6.1-P1 [recursion enabled][/quote]
Znaci bind sa omogucenim rekurzivnim upitima (sto se obicno podrazumijeva)…

http://en.wikipedia.org/wiki/Comparison_of_DNS_server_software

Ako pogledas na wikipediji vidjeces sta koji server pdrzava, recimo djbdns ne podrzava dnssec, ipv6 itd… za razliku od bind-a.

imho djbdns je lakse podesit i iskonfigurisat od bind-a …

@Listener: bilo bi odlicno da prebacis ovaj clanak na wiki (http://wiki.linux.org.ba) pod recimo “Konfiguracija BINDa”. Moraces se registrovat, to je jedino malko zafrkancije, ako nisi radio sa wiki sistemima prije ima i kratko uputstvo ovdje: http://wiki.linux.org.ba/Uvod_za_autore

Konfiguracija BIND svr-a kroz webmin interface je prilično trivijalna …

webmin je odlican alat za konfiguraciju ne samo bind-a vec i puno drugih stvari, ali mislim da se stekne vise razumijevanja o DNS serverima, konfiguraciji bind-a i generalno kako funkcionise konfiguacija stvari u linuxu ako se radi na ovaj nacin…

Kome se ne da prolaziti sve ovo webmin je odlican alat (samo i njega treba barem minimalno konfigurisati) :slight_smile:

[quote]adioe3:
@Listener: bilo bi odlicno da prebacis ovaj clanak na wiki (http://wiki.linux.org.ba) pod recimo “Konfiguracija BINDa”. Moraces se registrovat, to je jedino malko zafrkancije, ako nisi radio sa wiki sistemima prije ima i kratko uputstvo ovdje: http://wiki.linux.org.ba/Uvod_za_autore[/quote]
Slazem se evo sve je postavljeno vec

http://wiki.linux.org.ba/Konfiguracija_BINDa

Ne bih da ovo sad preraste u raspravu ko je bolji/losiji sigurniji/nesigurniji itd. – stvar ukusa, znanja i potreba, ali evo od mene… :slight_smile:

djbdns + ipv6
http://www.fefe.de/dns/

dnssec
http://cr.yp.to/djbdns/blurb/security.html

  • BIND supports DNSSEC. The BIND company would like you to believe that DNSSEC prevents forgeries; in fact, DNSSEC does not prevent forgeries. (DNSSEC was disabled in the latest BIND release in March 2003; did anyone notice?)

Sto se tice sigurnosti bind definitivno ne moze parirati djbdns-u, bez obzira na detaljisanje oko konfiguracije ili odrzavanja, kad je sam code vrlo cesto kroz istoriju nakaradno napisan. Djbdjs je prilicno siguran “by default” dok bind bas i nije. Mozda grijesim, ali cini mi se da nema verzije, a da nema neki ozbiljniji propust.

Pozz

[quote]trip0d:
Ne bih da ovo sad preraste u raspravu ko je bolji/losiji sigurniji/nesigurniji itd. – stvar ukusa, znanja i potreba, ali evo od mene… icon_smile[/quote]
Sa ovim se slažem, ovo nije poenta teme (iako je tvoj post kompletan u ovome smijeru :slight_smile: ).

Nisam koristio djbdns da bih znao 100% o njemu i kako se ponaša za razliku od bind-a, ali sam malo pročačkao po netu pošto vidim da se djbdns spominje dosta, bilo bi lijepo ako ga je neko koristio da kaže par stvarnih riječi o njemu. Do tada evo jedna diskusija na koju sam naišao koja poprilično lijepo objašnjava razlike od strane ljudi koji imaju i djbdns i bind u produkciji.

http://serverfault.com/questions/32683/djbdns-vs-bind

Ma dajte, BIND je sasvim dovoljno siguran, pogotovo što je najčešće u chrootu, s druge strane nekim ljudima je djbdns krajnje neintuitivan za konfigurisati.

http://www.linuxtoday.com/infrastructure/2010061000239RVHL

kad Adis kaže da je BIND glavni… onda nema rasprave :slight_smile: