10. DHCP

Az első hálózatunkban a DHCP szerver funkciót nem egy Cisco eszköz, hanem egy erre a célra beállított PC szerver látja el. A hálózatunk a 192.168.50.0/24 lesz, melyben a router a szokásos, 1-re végződő címet kapja. A DHCP szerverként funkcionáló szerver címe 192.168.50.5. A PC-k számára a 192.168.50.50-től 192.168.50.80-ig terjedő tartományból fogunk IP címeket szolgáltatni. Ennél több gépet a szerverünk nem tud majd kiszolgálni, a címek elfogyása esetén az újabb gépeknek ad-hoc címe lesz (lásd egy kicsit később).

DHCP szerver a hálózatban

DHCP szerver a hálózatban

Ebben a feladatban a routerre csak tesztelési céllal lesz szükségünk, ezért egy minimális konfigurációval állítsuk be az IP címét:

Router> ena
Router# conf term
Enter configuration commands, one per line.  End with CNTL/Z.
Router(config)# hostname R1
R1(config)# no ip domain-lookup
R1(config)# int g0/0/0
R1(config-if)# ip address 192.168.50.1 255.255.255.0
R1(config-if)# no sh
R1(config-if)# end

Ezt követően módosítsuk a PC-k (DHCP kliens gépek) hálózati beállításait! Ezt az eddigi gyakorlatok során manuális úton állítottuk be, ezt most DHCP-re cseréljük. Ez a Packet Tracerben egyszerűbb, a gyakorlatban az egyes operációs rendszerekben eltér módon állítható be.

Mielőtt továbblépünk, ismerjük meg az ún. ad-hoc hálózati beállítások mechanizmusát! Ez a folyamat akkor zajlik le, amikor a kliensek DHCP szervertől várják a hálózati paramétereiket, de működő ilyen nem áll rendelkezésre. Egy ilyen esetben a várakozási idő letelte után a kliensek a 169.254.0.0/16-os hálózatból véletlenszerűen választanak egy IP címet, majd ellenőrzik annak esetleges foglaltságát. Amennyiben a választott cím szabad, úgy a gép képes lesz a kommunikációra azokkal a kliensekkel, amelyek szintén ezt a mechanizmust hajtották végre. Az ad-hoc hálózati IP tartomány ezért szintén privát címtartomány, azt valós szervezet számára nem adták ki.

A kliensek DHCP módra állítása után az ad-hoc hálózati folyamat eredménye könnyen nyomon követhető, az alábbi példában szereplő gép a 169.254.124.48/16-os IP címet választotta és állította be magának.

Ad-HOC networking

Ad-hoc networking

Állítsuk be a DHCP szolgáltatást a szerver számítógépen! Ehhez először válasszuk ki a Services lapot a konfigurációs felületén, majd a bal oldalon a DHCP-t! Itt állítható be a DHCP szerver szolgáltatás. Az alábbi ábra a feladatnak megfelelően kitöltött lapot tartalmazza.

PC-s DHCP szerver beállítása

PC-s DHCP szerver beállítása

Egy DHCP szerver több, különböző hálózatot is ki tud szolgálni, melyek számára eltérő paramétereket kell megadni. Az egyes hálózatok számára kiosztható címeket és egyéb paramétereket az ún. pool-ok tartalmazzák. Az ábrán egy ilyen pool látható, melynek a neve serverPool. A pool tartalmazza a kliensek által használandó alapértelmezett átjáró, és a DNS szerver címét is (utóbbiól bővebben később, a Domain Name Service fejezetben lesz szó). A kiosztható címek tartományának kezdő címét a Start IP Address, darabszámát a maximum Number of Users mezőkben kell megadni. A címekhez tartozó netmaszkot értelemszerűen a Subnet Mask mezői tartalmazzák. Végül a lap tetején be kell kapcsolni a szolgáltatást, és megnyomni a Save gombot, enélkül a beállítások nem jutnak érvényre.

A beállítások helyességét a kliens számítógépeken lehet ellenőrizni úgy, hogy a cím beállításának lapján a Static rádió gomra kattintunk, majd visszaváltunk a DHCP-re. A kliens ekkor elindítja a címkérési folyamatot, és megjeleníti a kapott hálózati paramétereket. Az ábrán a DHCP szerver által szolgáltatott paraméterek láthatók. Amennyiben a munkaállomás címe továbbra is a 169.254.0.0/16 tartományból származik, a szerver beállításában vagy a hálózat kialakításában valamilyen hiba van.

Kliens beállítása DHCP kapcsolathoz

Kliens beállítása DHCP kapcsolathoz

A kliens IP paramétereihez kapcsolódó funkciók parancssorban is elérhetők, ezeket a gyakorlati hasznosságuk miatt érdemes megtanulni. Az IP paraméterek lekérdezése az ipconfig /all paranccsal lehetséges, paraméter nélkül ennek egy szűkebb kivonata jelenik meg. A válaszban láthatók az IP beállítás paraméterei és a gép hardver címe is.

C:\>ipconfig /all
Connection-specific DNS Suffix..:
Physical Address................: 0001.4359.3BCA
IPv4 Address....................: 192.168.50.50
Subnet Mask.....................: 255.255.255.0
Default Gateway.................: 192.168.50.1
DHCP Servers....................: 192.168.50.5
DNS Servers.....................: 192.168.50.5

A gép leállítási folyamata során az IP paramétereket az operációs rendszer „visszaadja” a DHCP szervernek, ami azt más gépek számára adhatja át. A folyamat kézzel is kiváltható az ipconfig /release paranccsal. Ezt követően a gépünk hálózati paraméterek hiányában nem lesz képes kommunikálni a hálózat többi berendezésével.

C:\>ipconfig /release
IP Address......................: 0.0.0.0
Subnet Mask.....................: 0.0.0.0
Default Gateway.................: 0.0.0.0
DNS Server......................: 0.0.0.0

Normális esetben a hálózati paraméterek lekérése az operációs rendszer betöltődése során megtörténik, megújítása pedig egy rendszeresen ismétlődő háttértfolyamat eredménye. Ebből a felhasználó tulajdonképpen semmit sem érzékel, a művelet teljesen automatikus. A paraméterek megújítása szintén lehetséges parancssorból, ezt az ipconfig /renew végzi el. Kiadása után a hálózati paraméterek lekérési folyamata újból megtörténik, és az interfész IP paraméterei beállításra kerülnek.

C:\>ipconfig /renew
IP Address......................: 192.168.50.51
Subnet Mask.....................: 255.255.255.0
Default Gateway.................: 192.168.50.1
DNS Server......................: 192.168.50.5

10.1. DHCP szerver a routerben

A gyakorlatban egyre ritákábban alkalmazunk PC-s DHCP szervert, ez általában a routerek természetes funkciója nem csak a válallati hálózatokban, hanem az otthoni, SOHO eszközök esetén is. Lássuk, milyen beállítások szükségesek ehhez egy Cisco router esetén! Az alábbi hálózatban biztosítsunk a PC-k számára a 192.168.100.10-192.168.100.254-es címtartományból hálózati címeket és egyéb szükséges paramétereket!

Egy Cisco router, mint DHCP szerver

Egy Cisco router, mint DHCP szerver

A router beállítása az eddig megszokott módon történik, a DHCP szolgáltatás konfigurálása a 11. sortól kezdődik. Először meghatározzuk, hogy mely címek nem adhatók ki a kliensek számára, ez esetünkben a hálózat első 10 címe. Ezt követően indul a pool definiálása, amelynek ebben a példában az INTERNAL nevet adtam. A hálózat megadását a már megszokott módon kell elvégezni, amit a kliensek számára átadásra kerülő domain név, a DNS szerver és az alapértelmezett átjáró címe követ. Végül, a service dhcp beállítással bekpacsoljuk a dhcp szerver szolgáltatást.

 1Router> ena
 2Router# conf term
 3Enter configuration commands, one per line.  End with CNTL/Z.
 4Router(config)# no ip domain-lookup
 5Router(config)# hostname R1
 6R1(config)# int g0/0
 7R1(config-if)# ip address 192.168.100.1 255.255.255.0
 8R1(config-if)# no sh
 9R1(config-if)# exit
10
11R1(config)# ip dhcp excluded-address 192.168.100.1 192.168.100.10
12R1(config)# ip dhcp pool INTERNAL
13R1(dhcp-config)# network 192.168.100.0 255.255.255.0
14R1(dhcp-config)# domain-name example.com
15R1(dhcp-config)# dns-server 192.168.100.5
16R1(dhcp-config)# default-router 192.168.100.1
17R1(dhcp-config)# exit
18R1(config)# service dhcp
19R1(config)# end

A PC-k beállítása azonos az előző példában látottakkal, így azt külön nem részletezem. A kiosztott címek természetesen itt is lekérdezhetők a show ip dhcp binding paranccsal:

R1#sh ip dhcp binding
IP address       Client-ID/              Lease expiration        Type
                 Hardware address
192.168.100.12   0030.F274.B189           --                     Automatic
192.168.100.13   0001.971B.7C30           --                     Automatic

10.2. DHCP relay

Emlékezzünk arra, hogy a DHCP kérés során a kliens IP cím hiányában csak broadcast üzenetekkel tud másokkal kommunikálni. Bár a broadcast kéréseket a hálózat minden gépe megkapja, a router ezeken nem továbbítja más hálózatok felé. Egy nagyobb hálózat kiépítésekor ezt a tényt figyelembe kell venni: vagy számos routerre telepítjük a DHCP szolgáltatást, vagy pedig megoldjuk a DHCP kérések továbbítását a másik hálózatban levő DHCP szerver felé. Az alábbi példában ezt a problémát oldjuk meg: az r1 router DHCP szervere fogja kiszolgálni a 192.168.100.0/24 és az r2 router mögött elhelyezkedő 192.168.200.0/24 hálózat gépeit is.

Központi DHCP szerver kialakítása

Központi DHCP szerver kialakítása

Először állítsuk be r1 konfigurációját! Az 5. sorig tartó szokásos beállításokat követően a router interfészeit állítjuk be. A g0/0 szolgálja ki a 192.168.100.0/24-es hálózatot, a g0/1 pedig az r2 összeköttetését biztosítja. Most egy minimális nagyságú alhálózatot használunk, a /30-as netmaszk csupán egy négy címből álló hálózatot definiál, amelynek első és utolsó eleme a hálózat és a broadcast címe. Az interfészek beállítását követően egy ip route paranccsal meg kell adni a másik, 192.168.200.0/24-es hálózat irányát, enélkül r1 nem tudná, merre továbbítsa az ide irányuló forgalmat.

A 17-23. sorig tartó beállítások az első DHCP-vel kiszolgált hálózat beállítását végzik el. A pool neve LEFT, ami a bal oldali hálózatra utal. Kizárjuk az 192.168.100.1-192.168.100.10-es tartományt, megadjuk a domain nevet, valamint az átjáró és a DNS szerver címét is. A másik, RIGHT nevű pool a 192.168.200.0/24-es hálózatból érkező DHCP kéréseket fogja kiszolgálni. Az ebben működő kliensek egy másik domain nevet használnak majd és természetesen az átjárójuk címe sem egyezik meg a LEFT beállításával. Végül elindítjuk a DHCP szolgáltatást a service dhcp paranccsal.

 1Router> ena
 2Router# conf term
 3Enter configuration commands, one per line.  End with CNTL/Z.
 4Router(config)# hostname R1
 5R1(config)# no ip domain-lookup
 6
 7R1(config)# int g0/0
 8R1(config-if)# ip address 192.168.100.1 255.255.255.0
 9R1(config-if)# no shutdown
10R1(config-if)# exit
11R1(config)# int g0/1
12R1(config-if)# ip address 192.168.50.1 255.255.255.248
13R1(config-if)# no shutdown
14R1(config-if)# exit
15R1(config)# ip route 192.168.200.0 255.255.255.0 192.168.50.2
16
17R1(config)# ip dhcp excluded-address 192.168.100.1 192.168.100.10
18R1(config)# ip dhcp pool LEFT
19R1(dhcp-config)# network 192.168.100.0 255.255.255.0
20R1(dhcp-config)# domain-name left.example.com
21R1(dhcp-config)# dns-server 192.168.100.5
22R1(dhcp-config)# default-router 192.168.100.1
23R1(dhcp-config)# exit
24
25R1(config)# ip dhcp excluded-address 192.168.200.1 192.168.200.10
26R1(config)# ip dhcp pool RIGHT
27R1(dhcp-config)# network 192.168.200.0 255.255.255.0
28R1(dhcp-config)# domain-name right.example.com
29R1(dhcp-config)# dns-server 192.168.100.5
30R1(dhcp-config)# default-router 192.168.200.1
31R1(dhcp-config)# exit
32R1(config)# service dhcp
33R1(config)# end

A szerver működőképességét már most is ellenőrizhetjük: a PC4 és PC5 kiszolgálását r1 router már elvégzi, és azok megkapják a hálózati paramétereket:

C:\>ipconfig
Connection-specific DNS Suffix..: left.example.com
IPv4 Address....................: 192.168.100.12
Subnet Mask.....................: 255.255.255.0
Default Gateway.................: 192.168.100.1

Most állítsuk be a az r2-t! Az ip route beállításárra itt is szükség lesz (18. sor). Meg kell ismerkednünk egy új elemmel, mely az ún. DHCP relay funkcionalitást biztosítja, ez a 9-es sorban látható ip helper-address 192.168.50.1. Ezt a router a belső hálózat irányába néző interfészéhez kell rendelni. Ennek hatására a router a g0/0 interfészére érkező, DHCP kéréseket tartalmazó csomagokat annak rendeltetési helyére juttatja, majd a visszaérkező választ átadja a kérést kezdeményező gép számára, kiküszöbölve ezzel a broadcast üzenetek továbbításának problémáját. A módszer alkalmazásával akár komplex hálózatok esetében is biztosítható az egyetlen routerre alapozott DHCP szolgáltás.

 1Router> ena
 2Router# conf term
 3Enter configuration commands, one per line.  End with CNTL/Z.
 4Router(config)# hostname R2
 5R2(config)# no ip domain-lookup
 6R2(config)#
 7R2(config)# int g0/0
 8R2(config-if)# ip address 192.168.200.1 255.255.255.0
 9R2(config-if)# ip helper-address 192.168.50.1
10R2(config-if)# no shutdown
11
12R2(config-if)# exit
13R2(config)# int g0/1
14R2(config-if)# ip address 192.168.50.2 255.255.255.248
15R2(config-if)# no shutdown
16
17R2(config-if)# exit
18R2(config)# ip route 192.168.100.0 255.255.255.0 192.168.50.1
19R2(config)# end

Ellenőrizzük a beállítás működőképességét PC6-on! (Amennyiben szükséges, előtte az ipconfig /renew paranccsal kérjük újra a hálózati paramétereket):

1C:\>ipconfig /all
2Connection-specific DNS Suffix..: right.example.com
3Physical Address................: 000C.CF40.3016
4IPv4 Address....................: 192.168.200.12
5Subnet Mask.....................: 255.255.255.0
6Default Gateway.................: 192.168.200.1
7DHCP Servers....................: 192.168.50.1
8DNS Servers.....................: 192.168.100.5

Végül, ellenőrizzük az r1 routeren a címkiosztás aktuális állapotát és a címek kiosztását! Az alábbi parancs kimenetében látható, hogy a router mind a négy PC számára biztosított IP címet. Valós router esetében pedig a bérleti idők lejárata is leolvasható lenne.

R1# show ip dhcp binding
IP address       Client-ID/              Lease expiration        Type
                Hardware address
192.168.100.11   0030.F249.5346           --                     Automatic
192.168.100.12   0060.70BD.6739           --                     Automatic
192.168.200.11   000C.CF30.5D56           --                     Automatic
192.168.200.12   000C.CF40.3016           --                     Automatic

Megjegyzés

A Packet Tracer nem támogatja a DHCP szerver bérleti idejének beállítását. Valós környezetben ezt az ip dhcp pool sort követően a lease beállítással lehet megtenni. Hasonló a helyzet az egyes hostokhoz fixen hozzárendelt IP paraméterekkel is: ez a funkció sem modellezhető a Packet Tracerben.

10.3. Feladatok

  • Demonstráld a dhcp snooping elleni védekezést egy routerből, egy PC-ből, és két DHCP szerverből álló hálózatban!