52
Hálózati maszk: 255.255.255.0
Hálózat: 192.168.1.0
Üzenetszórási cím: 192.168.1.255
A munkaállomás eth0 interfészének konfigurációja az alábbi lesz:
IPv4 cím: 192.168.1.2
Hálózati maszk: 255.255.255.0
Hálózat: 192.168.1.0
Üzenetszórási cím: 192.168.1.255
DNS kiszolgáló: 192.168.1.254
Névkeresési tartományok: gyakorlat.gamf.hu gamf.hu kefo.hu
4.2. Telepítés és konfigurálás
A DNS kiszolgálóként a BIND9 (Berkeley Internet Name Domain) szoftvert használjuk.
Ehhez a bind9 és a dnsutils csomagokat kell telepítenünk. Elsőként frissítjük gépünkön a
csomag adatbázist, majd telepítjük a csomagokat.
$ sudo apt-get update
$ sudo apt-get install bind9 dnsutils
Telepítés után automatikusan elindul a szerver. Az alap konfiguráció egy csak gyorstárazó
szervert ad egy egyszerű konfigurálást követően, a jelen gyakorlatban azonban egy elsődleges
mestert kell létrehoznunk, ezért leállítjuk a kiszolgálót
$ sudo service bind9 stop
majd elkezdhetjük a konfigurálást. A konfigurációs állományok az /etc/bind könyvtárban
vannak. A fontosabb állományok az alábbiak:
named.conf – itt szerepelnek a további konfigurációs állományok
befűzésére vonatkozó utasítások, tartalmát nem változtatjuk.
named.conf.options – itt állítjuk be a lekérdezés továbbítást, rekurzív lekérdezést,
stb.
named.conf.local – itt definiáljuk a zónákat.
db.root – gyökérszintű névkiszolgálók listája
Szerverünkkel a következő szolgáltatásokat szeretnénk nyújtani:
Autoritatív (mérvadó) névfeloldás a saját zóna számára (mester).
Gyorstárazó (caching) névszolgáltatás a többi domén gépeiről. A gyorstárazó szerver más
kiszolgálóktól szerzi be az információt, és lokálisan (gyorstárban) tárolja azt.
Rekurzív lekérdezés a saját alhálózat rezolverei által kezdeményezett névfeloldási
kéréseknél. Rekurzív névfeloldásnál a DNS kiszolgáló teljes mértékben megválaszolja
keresési kérdést vagy hibaüzenetet ad. Ennek alternatívája az iteratív névfeloldás, amikor
a kiszolgáló részleges választ ad (az adott zónához közelebbi felelős DNS kiszolgáló
címe). Pl. ha a www.iit.uni-miskolc.hu IPv4 címét keressük egy külső hálózat névszervere
segítségével, akkor, ha az adott kiszolgáló rekurzívra van konfigurálva, akkor visszaküldi
rezolverünknek a célgép címét, egyébként pedig rezolverünk visszakapja az uni-Johanyák Zsolt Csaba, Kovács Péter, Göcs László: Linux hálózati adminisztráció a gyakorlatban
53
miskolc.hu névkiszolgálójának címét. Ez utóbbi esetben gépünk rezolvere fog további
kérést küldeni az uni-miskolc.hu névkiszolgálójához.
Első lépésként a /etc/bind/named.conf.options állományban szükséges
módosításokat, beállításokat készítjük el. Ehhez nyissuk meg szerkesztésre az állományt.
$ sudo nano /etc/bind/named.conf.options
A kéréstovábbítás beállításához vegyük ki megjegyzésből a forwarders blokkot, és adjuk
meg a névszervereink azonosítóit.
forwarders{
10.1.51.23;
10.1.51.25;
};
Itt megadtuk, hogy hova továbbítsa a DNS szerver azokat a névfeloldási kéréseket, amelyeket
nem tudott kiszolgálni a saját adatbázisa alapján. Mentsük el az állományt. Amennyiben nem
a főiskolai hálózatban hajtjuk végre a jelen gyakorlatot, akkor ez a lépés elhagyható. Ilyenkor
az általunk konfigurált névszerver a rekurzív névfeloldási folyamat során közvetlenül a
gyökérszintű névkiszolgálóknál kezdi a keresést.
A rekurzív névfeloldás engedélyezése érdekében a forwarders blokkot követően
helyezzük el a
recursion yes;
bejegyzést, majd szabályozzuk, hogy mely gépek vehetik igénybe a névszolgáltatást és a
rekurzív névfeloldást az alábbi sorokkal
allow-query { belso; };
allow-recursion { belso; };
A belso egy címke, aminek definiálásához az options blokkot követően egy külön
blokkot hozunk létre, amiben a helyi gépet és a saját alhálózatot nevezzük meg.
acl belso {
127.0.0.1;
192.168.1.0/24;
};
Mivel IPv6 hálózatunk nincs ezért a
listen-on-v6 { any; };
sort tegyük megjegyzésbe (//).
A gamf.hu alatt hozzuk létre saját zónánkat gyakorlat.gamf.hu néven. A
névfeloldási zóna mellett címfeloldási zónát (1.168.192.in-addr.arpa) is készítünk. 4. DNS szerver telepítése és beállítása
(Johanyák Zsolt Csaba)
54
Mindkettő mester (master) zóna lesz. A zónák deklarálásához nyissuk meg szerkesztésre a
/etc/bind/named.conf.local állományt.
$sudo nano /etc/bind/named.conf.local
Az állomány végére begépeljük a két zóna definícióját:
zone "gyakorlat.gamf.hu" {
type master;
file "/etc/bind/gyakorlat.gamf.hu";
};
zone "1.168.192.in-addr.arpa" {
type master;
file "/etc/bind/1.168.192";
};
Elmentjük az állományt, majd létrehozzuk először a névfeloldáshoz szükséges zónafájt.
Kiindulásként (mintaként) használhatjuk a db.local állományt vagy létrehozhatunk egy
teljesen üres állományt is a
$ sudo nano /etc/bind/gyakorlat.gamf.hu
paranccsal. Begépeljük az alábbiakat:
$TTL 604800
@ IN SOA 9-szerver.gyakorlat.gamf.hu.
hallgato.9-szerver.gyakorlat.gamf.hu. (
1 ; Sorszám
604800 ; Frissítés
86400 ; Újrapróbálkozás
3600000 ; Lejárat
2419200 ) ; Negatív gyorstárazási idő
;
@ IN NS 9-szerver.gyakorlat.gamf.hu.
9-szerver IN A 192.168.1.254
belzebub IN A 192.168.1.2
posta IN CNAME 9-szerver
A fentiekben szereplő második és harmadik sor az állományban egyetlen sorként kell
szerepeljen, és a hallgato előtt szóköz vagy tabulátor jel kell álljon! Az utolsó sor után
nyomjuk meg az Enter billentyűt, ugyanis az állomány végén újsor jel kell álljon.
Magyarázat:
TTL (sec): a zóna rekordjaira érvényes alapértelmezett elavulási idő (Time To Live)
SOA (Start Of Authority) rekord: tartalmazza a névkiszolgáló FQDN-jét
(9-szerver.gyakorlat.gamf.hu.) ponttal lezárva, a levelezésért felelős
felhasználó postafiók címét úgy, hogy a @ jelet ponttal helyettesítjük
(hallgato.9-szerver.gyakorlat.gamf.hu.) és az alábbi érvényességi
időadatokat. Johanyák Zsolt Csaba, Kovács Péter, Göcs László: Linux hálózati adminisztráció a gyakorlatban
55
Sorszám: hányadik változata ez a zónaállománynak, ennek alapján tudják beazonosítani a
slave szerverek, hogy történt-e módosítás a zónaállományban.
Frissítés (sec): mennyi időnként kell a slave szervereknek a master-től megkérdezni, hogy
a zóna sorszáma mennyi.
Újrapróbálkozás (sec): ha a frissítés nem sikerült, akkor a slave ennyi időt vár, mielőtt
újra próbálkozik.
Lejárat (sec): ha nem sikerül a master-rel kommunikálniuk, ennyi ideig szolgáltatják a
zónát a világ számára
Használható a 1W2D3H alak is
Úgy a szerver (9-szerver), mint az asztali (belzebub) operációs rendszerrel futó virtuális gépet
felvettük, valamint készítettünk egy álnevet (posta) is a szervernek. Mentsük el a
gyakorlat.gamf.hu állományt, majd hozzuk létre az inverz feloldáshoz
(címfeloldáshoz) szükséges /etc/bind/1.168.192 zónafájlt. Itt sablonként
használhatjuk a db.127 állományt. A jelen gyakorlat során az üres állomány létrehozását
választjuk
$ sudo nano /etc/bind/1.168.192
majd begépeljük az alábbi konfigurációt
$TTL 604800
@ IN SOA 9-szerver.gyakorlat.gamf.hu.
hallgato.9-szerver.gyakorlat.gamf.hu. (
1 ; Sorszám
604800 ; Frissítés
86400 ; Újrapróbálkozás
2419200 ; Lejárat
604800 ) ; Negatív gyorstárazási idő
;
@ IN NS 9-szerver.gyakorlat.gamf.hu.
254 IN PTR 9-szerver
2 IN PTR belzebub
A fentiekben szereplő második és harmadik sor az állományban egyetlen sorként kell
szerepeljen, és a hallgato előtt szóköz vagy tabulátor jel kell álljon! Az utolsó sor után
nyomjuk meg az Enter billentyűt, ugyanis az állomány végén újsor jel kell álljon. Mentsük el
a 1.168.192 állományt.
A zónafájlok létrehozását követően a helyi gépet (127.0.0.1) kell beállítanunk DNS
szerverként. Ennek érdekében az /etc/network/interfaces állományban a
dns-nameservers 10.1.51.23
sort lecseréljük az alábbi sorra
dns-nameservers 127.0.0.1
majd újraindítjuk a hálózati alrendszert 4. DNS szerver telepítése és beállítása
(Johanyák Zsolt Csaba)
56
$ sudo /etc/init.d/networking restart
A DNS kiszolgáló alapból IPv6-on próbálkozik a névfeloldással. Mivel csak IPv4 hálózatunk
van a szerver indítási opciói között ezt jeleznünk kell az /etc/defaults/bind9
állományban. Nyissuk meg szerkesztésre az állományt:
$ sudo /etc/defaults/bind9
és egészítsük ki az OPTIONS sort a -4 kapcsolóval az alábbiakban megfelelően:
OPTIONS=”-u bind -4”
4.3. Tesztelés
A névkiszolgálót az előtérben futtatva teszteljük:
$ sudo named –g -4
Amennyiben a megjelenő egyoldalas outputban rndc.key: permission denied
hibaüzenet jelenik meg, akkor gondoskodjunk arról, hogy az rndc.key állomány
tulajdonosa legyen a root felhasználó és csoportja legyen a bind csoport, valamint a
hozzáférési engedélyek legyenek a következők szerint beállítva: - rw- -r- ---. Amikor
a kiszolgáló hibamentesen elindul, akkor váltsunk át egy új terminálra, jelentkezzünk ott be,
majd teszteljük a szerver működését az név- és címfeloldási lekérdezésekkel úgy a helyi zóna
gépei, mint távoli gépek esetén.
$ host 9-szerver.gyakorlat.gamf.hu
$ host belzebub
$ host posta
$ host 192.168.1.2
$ host 192.168.1.254
$ nslookup ubuntu.hu
$ nslookup kefodok
Teszteljük a szerver működését a munkaállomás gépről is a fenti vagy hasonló
lekérdezésekkel. Amennyiben kiszolgálónk hibamentesen működik, akkor váltsunk arra a
terminálra, ahol elindítottuk a névszervert, majd állítsuk le azt Ctrl+C-vel. Végül indítsuk a
szolgáltatást tartós használatra a
$ sudo service bind9 start
paranccsal. Indítsuk újra a virtuális gépet, majd a bejelentkezést követően ellenőrizzük a
kiszolgáló működési állapotát pl. a
$ service bind9 status