November 29, 2005

Muke po DNS-u

dns"

Podizao sam bind (9.3.1) DNS server na starijem Mandrake 10.2 GNU/Linuxu pa sam morao malo otkrivati toplu vodu jer neke stvari nisu jasno dokumentirane, tj. nisu uopće.

Prvo sam pokušao kraćim putem pa sam pokušao podesiti bind putem Webmin 1.2.4 sučelja ali to nije išlo baš glatko. Config datoteke koje bi on napravio nisu mogle pokrenti DNS servis. Onda sam naoružao vi editorom, google-om, s par pdf-ova i howtos-a te hladnom glavom.

Dalje...

Prvi pokušaj podešavanja /etc/named.conf datoteke je prouzročilo ovom greškom;

/etc/inid.d/named start

Starting named: [FAILED]

tail /var/log/messages

named[1785]: starting BIND 9.3.1 named[1785]: found 1 CPU, using 1 worker thread named[1785]: loading configuration from '/etc/named.conf' named[1785]: listening on IPv4 interface lo, 127.0.0.1#53 named[1785]: listening on IPv4 interface eth0, 10.31.101.1#53 named[1785]: listening on IPv4 interface ath0, 10.31.1.250#53 named[1785]: listening on IPv4 interface ra0, 10.31.2.245#53 named[1785]: listening on IPv4 interface ra1, 10.31.203.1#53 named[1785]: couldn't add command channel 127.0.0.1#953: not found named[1785]: couldn't add command channel ::1#953: not found named[1785]: couldn't open pid file '/var/run/named.pid': File exists named[1785]: exiting (due to early fatal error) named: named startup failed

Tražeći uzrok problema zaključio sam da je problem u ključu tj. podatcima koj se nalaze u /etc/rndc.conf datoreci pa sam od tamo samo napravio copy/paste slijedećih par linija u /etc/named.conf

key "key" { algorithm hmac-md5; secret "c3Ryb25nIGVub3VnaCBmb3IgYSBtYW4gYnV0IG1hZGUgZm9yIGEgd29tYW4K"; };

Nakon toga je nestala ona greška pri pokretanju DNS servisa iz /var/log/message datoteke ali se zato pojavila nova :)

named[2056]: couldn't open pid file '/var/run/named.pid': Permission denied

Problem je bio u sitnici ali pošto nigdje nije posebno naglašeno niti posebno dokumentirano moglo bi nekome puno prouzročiti mnogo glavobolje. Dakle stvar je u tome da se named.pid datoteka ne smije kreirati u /var/run/ direktoriju jer za to nema ovlasti već u /var/run/named direktoriju koji ima za vlasnika i grupu postavljeno "named.named".

Dakle treba liniju iz /etc/named.conf
pid-file "/var/run/named.pid";
prepraviti u
pid-file "/var/run/named/named.pid";

Nakon ovoga je bind server proradio a nadam se da će ovo još nekome pomoći.

Začkoljice su bile

  1. /etc/named.conf treba definiran "key" pa ga treba copy/paste definiciju "key" iz datoteke /etc/rndc.conf
  2. named.pid datoteka nema ovlasti da bude kreiran u /var/run direktoriju pa ju treba kreirati u /var/run/named direktoriju

Javite ako na drugim sistema (uskoro ću isto raditi na Debianu i SUSEu) ista stvar ili postoji još kakva začkoljica?

I za kraj moje config datoteke

cat /etc/named.conf

key "rndc-key" { algorithm hmac-md5; secret "c3Ryb25nIGVub3VnaCBmb3IgYSBtYW4gYnV0IG1hZGUgZm9yIGEgd29tYW4K"; };

controls {
inet 127.0.0.1 allow { localhost; } keys { "rndc-key"; };
};

options {
directory "/etc";
pid-file "/var/run/named/named.pid";
forwarders {
83.13.4.3;
83.13.4.10;
};
};

zone "sjenjak.osw" IN {
type master;
file "sjenjak.osw.hosts";
};

cat /etc/sjenjak.osw.hosts

$ttl 38400 sjenjak.osw. IN SOA server.sjenjak.osw. valent\.turkovic.gmail.com ( 1133268883 ; serijski broj 3h ; refresh rate 30m ; vrijeme pauze za ponovni pokusaj 1w ; vrijeme isteka za slave servere 1h ) ; vrijeme trajanja nepostojece stranice sjenjak.osw. IN NS server.sjenjak.osw server IN A 192.168.1.1

link: DNS HOW-TO

Linux DNS : Video tutorial za instalaciju DNS servera.

<object data="http://www.downloadgooglevideos.com/player.swf?videoUrl=" width= "340" height="280"type="application/x-shockwave-flash" id="VideoPlayback" align="middle">

Linux DNS Server : Video tutorial