2012. április 20., péntek

DDNS Ubuntu 12.04-en - első rész

Jó múltkor megbeszéltük, hogy miként tesz az ember DHCP-szervert az Ubuntu 12.04-re. A mai alkalommal telepítünk mellé egy névkiszolgálót, és összekötjük a kettőt, hogy a DCHP-kiszolgáló az általa kiosztott címeket be tudja jegyezni a DNS-be is, azaz dinamikus DNS-szerverünk (DDNS-szerverünk) lesz.
Ott állunk tehát, hogy az isc-dhcp-server megy, osztja a címeket. Teszünk mellé egy jó kis Berkeley Internet Name Domain (BIND) szervert:
sudo apt-get install bind9
Szerencsére ennek annyi konfigurációs fájlja van, mint a szemét - és még mi is teszünk mellé majd zónafájlokat.
Az első és legfőbb beállítófájl a /etc/bind/named.conf. Ha megnézzük, csücsül benne pár include, a többi konfigurációs fájllal. Kezdjük az elsővel, a /etc/bind/named.conf.options-szal. Keressük meg ezt a részt:
// forwarders {
//      0.0.0.0;
// };
A forwarder lesz az a gép, amelyiktől a mi szerverünk megkérdi, amit nem tud. Célszerűen az internetszolgáltatónk DNS-e, vagy a Google publikus DNS-e. Vagy valami más: én először arra gondoltam hogy kisded tesztlaboromban (egy laptop és a rajta lévő virtuális gépek) jó lesz a routerem is. A fenti három sort elől kivettem a kommentet, és nullák helyére beírtam a router IP-címét.

Kiadjuk a
sudo service bind9 reload
parancsot, a syslogban látjuk, hogy:
Apr 20 13:35:18 u3 named[1994]: reloading configuration succeeded
Apr 20 13:35:18 u3 named[1994]: reloading zones succeeded
Szóval elvileg okés.

Megnézzük, hogy a DHCPd bisztos bennünket adjon meg névkiszolgálónak, és indulhat a kliens. Ha elindult, ellenőrizzük, hogy tényleg a mi szerverünktől fog-e kérdezősködni. Ha a kliens is Ubuntu, akkor a
cat /etc/resolv.conf
parancs a mi szerverünk IP-jét adja majd vissza. Ezután jöhet a
host raerek.blogspot.com
És, ha kiderül az IP-cím, akkor jól dolgoztunk. Olé.

Ha az érdeklődéskor a DNS-szerverünk a syslog-ban ilyesmiről panaszkodik:
Apr 20 15:48:44 u3 named[879]: validating @0x7fc8d047c220: . NS: got insecure response; parent indicates it should be secure
Apr 20 15:48:44 u3 named[879]: error (insecurity proof failed) resolving './NS/IN': 192.168.168.1#53
akkor az a nagy helyzet, hogy a DNSSEC-kiterjesztést a forwarderünk nem támogatja. A megoldás a rendes forwarder használata (vagy ki lehet kapcsolni a DNSSEC figyelést a bind-ben, ha nagyon nincs más megoldás), én például teszteléskor a Google 8.8.8.8 IP-jű DNS-ét használom tovább, nem a routeremet.

A DNSSEC tesztelésére létrehoztak egy weboldalt is: http://www.dnssec-failed.org/. Ha ezt az oldalt meg tudod nyitni, akkor nem megy nálad a DNSSEC. Például nekem itthon a routermet használva DNS-szerverként remekül megnyílik. A Google DNS-t forwarderként beállítva azonban a szép új, ropogós DNS-szervermet használva a kliensen ez látszik:
b@u4:~$ w3m http://www.dnssec-failed.org/
w3m: Can't load http://www.dnssec-failed.org/.
A szerver syslog-ja pedig panaszkodással teli:
Apr 20 15:57:12 u3 named[1876]: validating @0x7f41d047f820: dnssec-failed.org DNSKEY: no valid signature found (DS)
Apr 20 15:57:12 u3 named[1876]: error (no valid RRSIG) resolving 'dnssec-failed.org/DNSKEY/IN': 68.87.76.228#53
Apr 20 15:57:12 u3 named[1876]: error (network unreachable) resolving 'dnssec-failed.org/DNSKEY/IN': 2001:558:1002:a:68:87:29:164#53

Szóval van már DNS-szerverünk, megy a DNSSEC, az internetre jó is, csak épp még a helyi viszonyokról nem tud semmit.

Legközelebb folytatjuk.

Nincsenek megjegyzések: