10. A DNS cache és a DHCP server

Ezek a rövidítések hálózati szolgáltatásokat takarnak. A DNS az Interneten használt nevekhez tartozó IP címek meghatározását végzi, a DHCP automatikusan IP beállításokat biztosít a belső hálózatunk gépeinek. Telepítve és beállítva őket a kiszolgálón, egyszerűbbé válik a munkaállomások beállítása.
 
    10.1. Feloldó gyorsítótáras névkiszolgáló
 
A címben említett feladatra a dnsmaq programot fogjuk használni. Hálózatunk minden gépének kiszolgálónk fog névszolgáltatást nyújtani, úgy, hogy ő lekéri a szolgáltatónk DNS szerveréről a kért információt. A lekért DNS információkat tárolja is, tehát a következő kérést ki tudja szolgálni a szolgáltató gépének felkeresése nélkül is. Ezzel a DNS kérések kiszolgálása gyorsabb lehet, és sávszélességet is megtakaríthatunk használatával. A dnsmasq program az /etc/hosts állomány tartalmát is beolvassa, és az abban megadott neveket és IP címeket is megfelelteti.
Telepítsnél már felkerült a rendszerre a dnsmasq program. A következő paranncsal meggyőződhatünk erről:
 
[root@centos5 ~]# rpm -qa | grep dnsmasq
dnsmasq-2.45-1.1.el5_3
 
A program konfigurációs állománya az /etc
/dnsmasq.conf. Csak egy helyen kell módosítani a fájlt: töröljük a strict-order sor előtti # jelet:
 
# By  default,  dnsmasq  will  send queries to any of the upstream
# servers it knows about and tries to favour servers to are  known
# to  be  up.  Uncommenting this forces dnsmasq to try each query
# with  each  server  strictly  in  the  order  they   appear   in
# /etc/resolv.conf
strict-order
 
Módosítsuk az /etc/hosts állományt. Írjuk hozzá azokat a neveket és IP címeket, amelyeket mi magunk szeretnénk meghatározni. Az alábbi példában a kiszolgálónk a suliserver.suli.uz.ua és a suliserver neveket is megkapja. Hálózatunk bármelyik gépéről hivatkozhatunk a kiszolgálóra a nevek bármelyikével:

# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       centos5 localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6
192.168.55.1     suliserver.suli.uz.ua suliserver
192.168.55.172  linux05.suli.uz.ua linux05

Az utolsó sor a 192.168.55.172 IP című gépnek a linux05.suli.uz.ua és a linux05 neveket határozza meg.
(A hosts állomány tartalmát a program indulásakor olvassa be. Az állomány módosítása esetén az új nevek feloldásához újra kell indítani a dnsmasq szolgáltatást: service dnsmasq restart)

Az /etc/resolv.conf állomány a telepítésnél megadott DNS szerverek IP címeit tartalmazza. Módosítsuk ezt az állományt, második sornak írjuk be a következőt:
 
nameserver 127.0.0.1
 
Tehát tartalma a következő lesz (természetesen a szolgáltatónk által megadott DNS kiszolgáló IP címe legyenek a harmadik sorban):
 
search suli.uz.ua
nameserver 127.0.0.1
nameserver 192.168.4.1
nameserver 8.8.8.8
 
A dnsmasq program a kért név feloldását az /etc/hosts állományban kezdi. Amennyiben ott nem találja a kért nevet, az /etc/resolv.conf fájlban megadott DNS szerverektől kéri le az információt.
Indítsuk el a programot és állítsuk be, hogy automatikusan elinduljon a szerver indításakor:
 
[root@centos5 ~]# service dnsmasq start
[root@centos5 ~]# chkconfig --levels 235 dnsmasq on
 
A kliens számítógépeken állítsuk be alapértelmezett átjárónak és elsődleges DNS-kiszolgálónak a szerver belsőhálózati IP címét (10.1. ábra).
 
dnsw
10.1. ábra
 
A Windows operációs rendszeren a Parancssor-t elindítva az nslookup paranccsal ellenőrizhetjük a beállított szolgáltatás működését:
 
C:\> nslookup hup.hu
 ---
Address:  192.168.55.1

Nem mérvadó válasz:
Név:      hup.hu
Address:  195.228.252.138
 
Kiszolgálónk a hup.hu domain címhez tartozó IP címmel válaszolt, a szolgáltatás működik.
 
Linux operációs rendszert futtató munkaállomásról a host paranccsal ellenőrizhetjük a DNS server működését:
 
palferi@hpmp ~ $ host origo.hu
origo.hu has address 195.228.240.145
origo.hu mail is handled by 10 mx.telekom.hu.
 
A host parancsot -v paraméterrel kiadva meggyőződhetünk a DNS gyorsítótár működéséről. A parancs kimenetének utolsó sora a lekérdezés idejét mutatja. Kétszer egymás után lekérdezve az ibm.com IP címét, először több mint 2 másodpercig (2224 ms) tart a lekérés. Ismételten lekérve már a gyorsítótárból kapjuk az információkat 2 milliszekundum alatt:
 
palferi@hpmp ~ $ host -v ibm.com

Received 502 bytes from 192.168.55.1#53 in 2224 ms

palferi@hpmp ~ $ host -v ibm.com

Received 502 bytes from 192.168.55.1#53 in 2 ms
palferi@hpmp ~ $
 
 
    10.2. A DHCP szerver telepítése és beállítása
 
A DHCP a Dynamic Host Configuration Protocol rövidítése. Magyarul: dinamikus állomáskonfiguráló protokoll. Segítségével a kliens számítógépek  automatikusan megkapják a hálózat használatához szükséges beállításokat. Az IP-címen kívűl a hálózati maszkot és az alapértelmezett átjárót is.
Telepítsük a kiszolgálóra a DHCP szervert:
 

[root@centos5 ~]# yum install dhcp
 
Az alapértelmezett konfigurációs állományról készítsünk másolatot az /etc könyvtárba dhcpd.conf néven, felülirva az ott lévő azonos nevű állományt:

[root@centos5 ~]# cp /usr/share/doc/dhcp-3.0.5/dhcpd.conf.sample /etc/dhcpd.conf
cp: felülírod "/etc/dhcpd.conf"-t? y
 
Módosítsuk a dhcpd.conf állományt a következőre:
 

ddns-update-style interim;
ignore client-updates;

subnet 192.168.55.0 netmask 255.255.255.0 {

# --- default gateway
        option routers                  192.168.55.1;
        option subnet-mask              255.255.255.0;

        option nis-domain               "suli.uz.ua";
        option domain-name              "suli.uz.ua";
        option domain-name-servers      192.168.55.1;

#       option time-offset              -18000; # Eastern Standard Time
#       option ntp-servers              192.168.1.1;
#       option netbios-name-servers     192.168.1.1;
# --- Selects point-to-point node (default is hybrid). Don't change this unless
# -- you understand Netbios very well
#       option netbios-node-type 2;

        range dynamic-bootp 192.168.55.30 192.168.55.70;
        default-lease-time 21600;
        max-lease-time 43200;

        # we want the nameserver to appear at a fixed address
#       host ns {
#               next-server marvin.redhat.com;
#               hardware ethernet 12:34:56:78:AB:CD;
#               fixed-address 207.175.42.254;
#       }
}
subnet 192.168.4.0 netmask 255.255.255.252 {
        }
subnet 127.0.0.0 netmask 255.0.0.0 {
        }

 
A subnet 192.168.4.0 netmask 255.255.255.252 helyett a külső hálókártyánk hálózati paramétereit írjuk. A módosított konfigurációs állomány alapján DHCP kiszolgálónk a hálózathoz csatlakozó munkaállomásoknak a 192.168.55.30 - 192.168.55.70 tartományból ad IP címet. Az alpértalmezett átjáró és a DNS kiszolgáló a 192.168.55.1 lesz. Az első csatlakozó munkaállomás a 192.168.55.70 a második a 192.168.55.69 és i.t.d, címeket kapja. Ez megkönnyíti a munkaállomások beállítását, hiszen a TCP beállításoknál semmít sem kell módosítani, az IP-cím automatikus kérése minden operációs rendszeren alapértelmezett beállítás.
 
Indítsuk el a szolgáltatást és állítsuk be, hogy automatikusan elinduljon a szerver indításakor:

 
[root@centos5 ~]# service dhcpd start
[root@centos5 ~]# chkconfig --levels 235 dhcpd on

Ellenőrizzük a DHCP szerver működését. Az egyik munkaállomás hálózati beállításit módosítsuk, hogy a TCP/IP protokoll tulajdonságainál az "IP-cím automatikus kérése" és a "DNS-kiszolgáló címének automatikus kérése" legyen beállítva.
Néhány másodperc alatt a munkaállomás megkapja az IP beállításokat a kiszolgálótól. Ellenőrizzük ezt az ipconfig paranccsal:
 
C:\Documents and Settings\palferi>ipconfig
Windows IP konfiguráció

Ethernet-adapter Helyi kapcsolat:
        Kapcsolatspecifikus DNS-utótag. . . . : suli.uz.ua
        IP-cím. . . . . . . . . . . . . . . . : 192.168.55.70
        Alhálózati maszk. . . . . . . . . . . : 255.255.255.0
        Alapértelmezett átjáró. . . . . . . . : 192.168.55.1

 
 
    10.3. Állandó IP cím a DHCP használatával

Az /etc/dhcpd.conf módosításával megadhatjuk, hogy egy bizonyos munkaállomás mindíg ugyanazt az IP címet kapja. Ez a hálózati csatoló MAC-címe alapján történhet. A MAC (Media Access Control) címet a hálózati csatoló gyártója rendeli az eszközhöz. Gyakran fizikai címnek vagy hardvercímenk is mondják. Microsoft Windows alatt a parancssorban az ipconfig /all paranccsal kérdezhetjük le.

Állítsuk be a dhcp szerverünket, hogy saját munkaállomásunknak mindíg a 192.168.55.172 címet adja.
Első lépésként állapítsuk meg a hálózati csatoló MAC címét:

C:\Documents and Settings\palferi>ipconfig /all

Windows IP konfiguráció

        Állomásnév. . . . . . . . . . . . . . : hpm
        Elsődleges DNS-utótag . . . . . . . . :
        Csomóponttípus. . . . . . . . . . . . : Hibrid
        IP útválasztás engedélyezve . . . . . : Nem
        WINS-proxy engedélyezve . . . . . . . : Nem
        DNS-utótag keresési listája . . . . . : suli.uz.ua

Ethernet-adapter Helyi kapcsolat:

        Kapcsolatspecifikus DNS-utótag. . . . : suli.uz.ua
        Leírás. . . . . . . . . . . . . . . . : Marvell Yukon 88E8072 PCI-E Gigabit Ethernet Controller
        Fizikai cím . . . . . . . . . . . . . : 00-24-81-65-46-A2
        DHCP engedélyezve . . . . . . . . . . : Igen
        Automatikus konfiguráció engedélyezve : Igen
        IP-cím. . . . . . . . . . . . . . . . : 192.168.55.70
        Alhálózati maszk. . . . . . . . . . . : 255.255.255.0
        Alapértelmezett átjáró. . . . . . . . : 192.168.55.1
        DHCP kiszolgáló . . . . . . . . . . . : 192.168.55.1
        DNS-kiszolgálók . . . . . . . . . . . : 192.168.55.1
        Bérleti jog kezdete . . . . . . . . . : 2010. március 27. 23:54:12
        Bérleti jog vége. . . . . . . . . . . : 2010. március 28. 5:54:12

 
Módosítsuk a dhcpd.conf állományt:
 
# we want the nameserver to appear at a fixed address
        host babo {
#               next-server marvin.redhat.com;
                hardware ethernet 00:24:81:65:46:A2;
                fixed-address 192.168.55.172;
        }

Indítsuk újra a szolgáltatást:
 
[root@centos5 etc]# service dhcpd restart
A(z) dhcpd leállítása:                                    [  OK  ]
dhcpd indítása:                                            [  OK  ]
 
A munkaállomást újraindítva, vagy az ipconfig /renew parancsot kiadva megkapjuk az új IP beállításokat (10.2. ábra).
 
fixip
10.2. ábra
 
Nagyon előnyös ez a megoldás, ha több operációs rendszert használunk egy számítógépen. Gépünk ugyanazt az IP beállítást kapja automatikusan bármelyik operációs rendszert is választjuk a indításakor.
A fenti dhcpd.conf részletet több gépre is megismételhetjük, másolva az adott részt, majd módosítva a hostnevet, a MAC és IP címet. Saját gépünk mellett az irodai, tanári gépeknek is állítsunk be fix IP címet. A szaktanterem gépei pedig a 192.168.55.30 - 192.168.55.70 tartományból kapnak IP címeket.