[[oktatas:hálózat:cisco|< Cisco]] ====== VPN ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2017 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC Attribution-Share Alike 4.0 International]] * Web: https://szit.hu ===== Bevezetés ===== 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. ===== VPN távoli gépről ===== ==== Bevezetés ==== 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. ==== Használt szimbólumok ==== A következő ábrához szimbólumtábla: | PC0 | számítógép | | == | kapcsoló (switch) | | <> | forgalomirányító (router) | ==== A hálózat ==== 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 ^ * alkalmas routerek: 819IOX, 819HGW, 829, 1240, 1841, 2620XM, 2621XM, 2811 * alkalmatlan a 1941, 2901, 2911 és a PacketTracer Generic ruterei ==== Beállítások ==== 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 zárót hálózat védelme ==== 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. ==== Tesztelés ==== 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. ===== Tunnel ===== 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 ===== Forrás ===== * http://www.cisco.com/c/en/us/td/docs/security/vpn_modules/6342/vpn_cg/6342site3.html