A VPN a Virtual Private Network rövidítése. Virtuális magánhálózatot szeretnénk létrehozni. Általában a nyílt hálózaton egy privát alagút használatáról van szó, amelyen titkosított forgalom zajlik.
Az alábbiakban kétféle VPN megvalósítást mutatok be. Távoli elérés IPSec alapú VPN-en keresztül és tunnelen keresztül.
A célunk, hogy a távoli gépről VPN hozzáférésen keresztül elérhető legyen a zárt hálózatban működő fájlszerver és az intranetes szerver. A végső cél, hogy ACL-ek segítségével csak a VPN-en keresztül lehessen elérni a zárt hálózatot.
Az IP cím beállítások nem szerepelnek az alábbiakban.
A megvalósítás ACL nélkül nem tökéletes, mert a PC0-án beállítva az átjárónak a routert, még elérjük a szervereket, de ezen egy ACL beállítással segíthetünk.
A következő ábrához szimbólumtábla:
PC0 | számítógép |
== | kapcsoló (switch) |
<> | forgalomirányító (router) |
Vegyük szemügyre a következő hálózatot.
10.1.1.2/8 FileServer 1.1.1.10/8 1.1.1.1/8 10.1.1.1/8 / f0/1 f0/0 / PC0------------------------<>-------------== VPN kliens: R1 \ 192.168.1.1- \ 192.168.1.50 IntranetServer 10.1.1.3/8
Baloldalon van a PC0. Erről szeretnénk belépni VPN-en keresztül a zárt (jobb oldali) hálózatba, ahol két szerver van. Egyik szerver fájlszerver, másik webszerver, amely intranetet szolgál ki.
A forgalomirányítónak nem jó bármelyik, mivel nem mindegyik képes VPN hozzáférés konfigurálásra.
Használhatjuk például a következőt:
2811 |
---|
Hozzunk létre az azonosításhoz egy új modellt:
R1(config)#aaa new-model R1(config)#aaa authentication login abc1 local R1(config)#aaa authorization network abc2 local R1(config)#username janos password titok
Létre kell hoznunk egy isakmp kulcsot:
R1(config)#crypto isakmp policy 10 R1(config-isakmp)#encryption 3des R1(config-isakmp)#hash md5 R1(config-isakmp)#authentication pre-share R1(config-isakmp)#group 2 R1(config-isakmp)#exit
Hozzunk létre egy IP-cím medencét:
R1(config)#ip local pool VPNPOOL 192.168.1.1 192.168.1.50
Hozzunk létre egy csoportot a belépéshez:
R1(config)#crypto isakmp client configuration group aranyCsoport R1(config-isakmp-group)#key szithu R1(config-isakmp-group)#pool VPNPOOL R1(config-isakmp-group)#exit
A példában a csoportot „aranyCsoport”-nak neveztem el. A csoporthoz tartozik egy kulcs/jelszó, ami itt „szithu” Összerendeltük a csoportot az IP-cím medencével.
Be kell állítani IPSec transzformációt:
R1(config)#crypto ipsec transform-set set1 esp-3des esp-md5-hmac
Létre kell hozni egy kulcstérképet:
R1(config)#crypto dynamic-map map1 10 R1(config-crypto-map)#set transform-set set1 R1(config-crypto-map)#reverse-route R1(config-crypto-map)#exit
Össze kell kapcsolni a kulcstérképet a kliens és az eddigi kulcsbeállításokkal:
R1(config)#crypto map map1 client configuration address respond R1(config)#crypto map map1 client authentication list abc1 R1(config)#crypto map map1 isakmp authorization list abc2 R1(config)#crypto map map1 10 ipsec-isakmp dynamic map1
Hozzá kell rendelni a router nyilvános IP címéhez a beállításainkat:
R1(config)#int f0/1 R1(config-if)#crypto map map1
A router jelenleg átengedi a forgalmat VPN nélkül is. Állítsunk be ACL-t, hogy csak VPN-en keresztül lehessen elérni a szervereket:
R1(config)#int f0/0 R1(config-if)#ip access-group 100 out R1(config-if)# R1(config-if)#access-list 100 permit ip 192.168.1.0 0.0.0.255 10.0.0.0 0.255.255.255 R1(config)#
A forgalomirányító f0/0 láb irányából kifele (a zárt hálózat felé) tartó forgalmat engedem, ha az a 192.168.1.0 hálózatból jön és a 10.0.0.0 hálózatba tart. Ezzel együtt minden más tiltásra kerül.
A beállítások végén a PC0-val kapcsolódhatunk a VPN szerverhez, ami valójában a router. A router a PC0 számára egy új IP címet biztosít. A PC0-án ezt a VPN kliens a kapcsolódás után be is állítja. Az új IP cím egy úgynevezett alagutat biztosít a forgalomirányítón keresztül a szerverekhez. A szerverek elérhetővé válnak a PC0-számára.
Teszteljünk:
Teszteljük a kapcsolatot a szerverek felé a ping parancs segítségével:
ping 10.1.1.2 ping 10.1.1.3
Nem működik, és ez így van rendben.
A PC0-án a VPN programban a fenti konfiguráció után a következőket kell megadni:
GroupName: aranyCsoport Group Key: szithu Host IP (ServerIP): 1.1.1.1 Username janos Password titok
A kapcsolódás után próbáljuk meg újra tesztelni a kapcsolatokat a szerverek felé.
ping 10.1.1.2 ping 10.1.1.3
Ha miden rendben csináltunk, a szervere elérhetők.
Szeretnénk három routeren keresztül elérni PC0-ról PC1-t. Ehhez R1 és R3 router között egy alagutat fogunk létrehozni.
A következő ábrához szimbólumtábla:
PC0 | számítógép |
== | kapcsoló (switch) |
<> | forgalomirányító (router) |
1.1.1.2/30 2.2.2.1/30 f0/0 f0/1 <>R2 / \ / \ 1.1.1.1/30 / \ 2.2.2.2/30 f0/0 / \ f0/0 <>R1 <>R3 f0/1| | f0/1 192.168.20.1/24 | |192.168.30.1/24 | | | | PC0 PC1 192.168.20.10/24 192.168.30.10/24
R1(config)#int tunnel 10 R1(config-if)#ip address 172.16.1.1 255.255.255.252 R1(config-if)#tunnel source f0/0 R1(config-if)#tunnel destination 2.2.2.2 R1(config-if)#exit R1(config)#ip route 192.168.30.0 255.255.255.0 172.16.1.2
R3(config)#int tunnel 100 R3(config-if)#ip address 172.16.1.2 255.255.255.252 R3(config-if)#tunnel source f0/0 R3(config-if)#tunnel destination 1.1.1.1 R3(config-if)#exit R1(config)#ip route 192.168.20.0 255.255.255.0 172.16.1.1
Ellenőrzés PC0-ról:
ping 192.168.30.10
tracert 192.168.30.10
1 1 ms 0 ms 0 ms 192.168.20.1 2 1 ms 0 ms 0 ms 172.16.1.2 3 0 ms 0 ms 0 ms 192.168.30.10