GRE tunel ˇ PRÍRU ˇ ˇ APLIKACNÍ CKA
POUŽITÉ SYMBOLY
Použité symboly ˇ Nebezpeˇcí – duležité ˚ upozornení, které muže ˚ mít vliv na bezpeˇcí osoby nebo funkˇcnost pˇrístroje. ˇ na možné problémy, ke kterým muže Pozor – upozornení ˚ dojít ve specifických pˇrípadech. Informace, poznámka – informace, které obsahují užiteˇcné rady, nebo zajímavé poznámky.
ˇ Conel s.r.o., Sokolská 71, 562 04 Ústi nad Orlicí, Ceská Republika ˇ 17. rˇíjna 2014 Pˇríruˇcka byla vydána v CR,
i
OBSAH
Obsah 1 Protokol GRE
1
2 Konfigurace GRE tunelu
2
3 Pˇríklady konfigurace GRE tunelu
4
3.1 3.2 3.3 3.4
ˇ GRE tunel mezi dvema Conel routery . . . . . . . GRE tunel mezi Conel routerem a OS Linux . . . . GRE tunel mezi Conel routerem a Cisco routerem GRE tunel v IPsec tunelu (GRE over IPsec) . . . .
ˇ 4 Doporucená literatura
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
4 6 8 9 13
ii
˚ SEZNAM OBRÁZKU
Seznam obrázku˚ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
ˇ Vlevo – princip GRE tunelu. Vpravo – zapouzdˇrení probíhá v sít’ové vrstve, pˇríklad zapouzdˇrení IPv6 paketu˚ pro pˇrenos pˇres IPv4 sít’. . . . . . . . . . . . . Pˇrehled GRE tunelu˚ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Konfigurace GRE tunelu (po kliknutí na Edit) . . . . . . . . . . . . . . . . . . . Topologie pˇríkladu konfigurace GRE tunelu mezi Conel routery . . . . . . . . . Router A (modrá sít’) – konfigurace GRE tunelu . . . . . . . . . . . . . . . . . . Router B (ˇcervená sít’) – konfigurace GRE tunelu . . . . . . . . . . . . . . . . . Network Status – sít’ové rozhraní gre1 . . . . . . . . . . . . . . . . . . . . . . . Program ping pˇres sít’ové rozhraní gre1 . . . . . . . . . . . . . . . . . . . . . . ˇ rení GRE komunikace . . . . . Program tcpdump pro zachytávání paketu˚ – oveˇ Pˇríklad – GRE tunel mezi Conel routerem a OS Linux . . . . . . . . . . . . . . Nastavení GRE tunelu v Conel routeru . . . . . . . . . . . . . . . . . . . . . . . Pˇríklad – GRE tunel mezi Conel routerem a Cisco routerem . . . . . . . . . . . Router B (ˇcervená sít’) – konfigurace GRE tunelu . . . . . . . . . . . . . . . . . Program ping pˇres sít’ové rozhraní gre1 . . . . . . . . . . . . . . . . . . . . . . Topologie pˇríkladu GRE over IPsec . . . . . . . . . . . . . . . . . . . . . . . . . Router A – konfigurace IPsec (položka IPsec v sekci Customization) . . . . . . Router A – konfigurace GRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . Router B – konfigurace IPsec (položka IPsec v sekci Customization) . . . . . . Router B – konfigurace GRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . Router B – IPsec Status, tunel sestaven (established) . . . . . . . . . . . . . . Router B – ESP pakety zachycené programem tcpdump . . . . . . . . . . . . .
iii
1 2 2 4 4 5 5 6 6 6 7 8 8 9 9 10 10 11 11 12 12
SEZNAM TABULEK
Seznam tabulek 1 2
Pˇrehled GRE tunelu˚ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Konfigurace GRE tunelu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
iv
2 3
1. PROTOKOL GRE
1. Protokol GRE ˇ GRE – Generic Routing Encapsulation (obecné zapouzdˇrení pˇri smerování) – je jednoduchý tunelovací protokol vyvinutý firmou Cisco Systems. Tento protokol umí zapouzdˇrit širokou škálu protokolu˚ sít’ové vrstvy uvnitˇr virtuálního pˇrímého spojení (GRE tunelu) pˇres IP protokol (internet). Takovýto GRE tunel vytváˇrí propojení dvou sítí LAN do jedné, která se zevnitˇr tváˇrí jako homogenní. Použitím GRE tunelu je možné posílat pakety z jedné síteˇ do druhé tak, že nejsou po cesteˇ mezilehlými routery vyhodnocovány jako IP pakety. GRE funguje tak, že zapouzdˇruje užiteˇcná data – vnitˇrní paket urˇcený k doruˇcení do ˇ vzdálené síteˇ – do vnejšího paketu. Tento je poslán skrze GRE tunel, mezilehlé routery jej ˇ ˇ paket, takže jej pˇredají do cílové síte, ˇ kde je vnejší ˇ paket odebrán a puvodní smerují jako vnejší ˚ ˇ paket je smerován k cíli urˇcení. Na rozdíl od IP-to-IP tunelu, GRE tunel muže ˚ sloužit k pˇrenosu ˇ multicastu a IPv6 paketu˚ mezi propojenými sítemi.
ˇ pˇríklad Obrázek 1: Vlevo – princip GRE tunelu. Vpravo – zapouzdˇrení probíhá v sít’ové vrstve, zapouzdˇrení IPv6 paketu˚ pro pˇrenos pˇres IPv4 sít’.
Výhody GRE protokolu: Zapouzdˇrení mnoha ruzných ˚ protokolu˚ do jediného páteˇrního proˇ tokolu, ˇrešení pro síteˇ s omezeným poˇctem skoku, ˚ propojení podsítí v ruzných ˚ oddelených oblastech do jediné, možnosti VPN (Virtual Private Network). Pˇríklady využití GRE protokolu: Ve spolupráci s protokolem PPTP lze vytvoˇrit VPN, ve ˇ ˇ spolupráci s VPN pomocí IPsec lze pˇredávat smerovací informace mezi propojenými sítemi, využití v Mobility protokolech, možnost vytvoˇrení ad-hoc GRE tunelu˚ z Linuxu cˇ i BSD pro IP komunikaci s Cisco zaˇrízeními a další. Protokol GRE poskytuje bezestavové privátní spojení, není však šifrovaným (zabezpeˇceným) protokolem, protože nepoužívá šifrování jako napˇr. ESP (Encapsulating Security Payload) u protokolu IPsec. Protokol GRE je popsán ve specifikacích RFC 2784 a RFC 2890. V IP záhlaví je v poli Protocol oznaˇcen cˇ íslem 47.
1
2. KONFIGURACE GRE TUNELU
2. Konfigurace GRE tunelu ˇ Router umožnuje vytvoˇrit až cˇ tyˇri GRE tunely, jejichž konfiguraci je možné vyvolat volbou položky GRE v menu, sekce Configuration. V okneˇ GRE Tunnels Configuration jsou cˇ tyˇri ˇrádky, pˇriˇcemž každý ˇrádek odpovídá konfiguraci jednoho tunelu. Položka Create Description Edit
Popis Vytvoˇrit – tato položka zapíná jednotlivé tunely. Popis – tato položka zobrazuje název tunelu, zadaný v konfiguraci tunelu. Upravit – konfigurace GRE tunelu. Tabulka 1: Pˇrehled GRE tunelu˚
Obrázek 2: Pˇrehled GRE tunelu˚
Obrázek 3: Konfigurace GRE tunelu (po kliknutí na Edit) ˇ možnosti nastavení pro každý ze cˇ tyˇr GRE tunelu. Na obrázku 3 jsou videt ˚ Tunel lze aktivovat zaškrtnutím položky Create 1st GRE tunnel (ekvivalentní s položkou Create o úrovenˇ výše, na obr. 2). Jednotlivé položky nastavení popisuje následující tabulka:
2
2. KONFIGURACE GRE TUNELU
Položka Description Remote IP Address Remote Subnet Remote Subnet Mask Local Interface IP Address Remote Interface IP Address Multicasts
Popis Popis - volitelný název tunelu, zobrazuje se pak o úrovenˇ výše, v pˇrehledu tunelu˚ (obr. 2) ˇ (vzdálené) strany tunelu IP adresa protejší ˇ stranou tunelu Adresa síteˇ za protejší ˇ stranou tunelu Maska síteˇ za protejší Interní IP adresa lokální strany tunelu ˇ strany tunelu Interní IP adresa protejší Povoluje, resp. zakazuje multicast: • disabled – multicast zakázán • enabled – multicast povolen
Pre-shared Key
Volitelná položka, která definuje 32 bit sdílený klíˇc v cˇ íselném formátu, pomocí kterého se filtrují data procházející tunelem. ˇ jinak Tento klíˇc musí být na obou routerech definován stejne, bude router zahazovat pˇrijaté pakety. Pomocí tohoto klíˇce se nezabezpeˇcují data procházející tunelem. Tabulka 2: Konfigurace GRE tunelu
Pozor, GRE tunel neprojde pˇres pˇreklad adres NAT. Potˇrebujete-li vytvoˇrit tunel který projde pˇres NAT, použijte IP-to-IP tunel (IP pakety zapouzdˇreny do jiných IP paketu) ˚ nebo IPsec tunel (šifrovaný tunel a následný transport pomocí GRE protokolu). ˇ v nastavení se projeví až po stisknutí tlaˇcítka Apply. Všechny zmeny
3
ˇ 3. PRÍKLADY KONFIGURACE GRE TUNELU
3. Pˇríklady konfigurace GRE tunelu 3.1
ˇ GRE tunel mezi dvema Conel routery
Obrázek 4: Topologie pˇríkladu konfigurace GRE tunelu mezi Conel routery
Tento pˇríklad ukazuje, jakým zpusobem ˚ je možné pomocí GRE tunelu propojit dveˇ LAN ˇ síte. Výchozí branou pro zaˇrízení v modré síti bude router A (192.168.1.1), pro zaˇrízení v cˇ ervené síti to bude router B (192.168.2.1). Parametry GRE tunelu na obou routerech budou nastaveny podle následujících obrázku: ˚
Obrázek 5: Router A (modrá sít’) – konfigurace GRE tunelu
4
ˇ 3. PRÍKLADY KONFIGURACE GRE TUNELU
Obrázek 6: Router B (ˇcervená sít’) – konfigurace GRE tunelu
Po aktivaci GRE tunelu se na obou routerech v sekci Status pod položkou Network objeví nové sít’ové rozhraní „gre1“ – viz obrázek:
Obrázek 7: Network Status – sít’ové rozhraní gre1
5
ˇ 3. PRÍKLADY KONFIGURACE GRE TUNELU
ˇ být spojení mezi sítemi ˇ ˇ rit jej lze napˇríklad Nyní by již melo pˇres GRE tunel funkˇcní. Oveˇ pomocí programu ping po pˇrihlášení pˇres SSH do jednoho z routeru. ˚ Na obr. 14 je konzole routeru B (192.168.2.1), v níž je zobrazen pˇríkaz programu ping a výsledek. Pˇrepínaˇc -c nastavuje poˇcet ping požadavku, ˚ pˇrepínaˇc -I potom udává práveˇ rozhraní použité gre1.
Obrázek 8: Program ping pˇres sít’ové rozhraní gre1 ˇ rení, že komunikace probíhá v protokolu GRE je možné napˇr. spuštením ˇ Oveˇ programu ˇ tcpdump na zachytávání paketu˚ na jednom z routeru, ˚ viz vyznaˇcený rádek na následujícím ˇ s pˇrepínaˇcem -i pro výber ˇ sít’ového rozhraní (ppp0 obrázku. Zde program tcpdump spušten pro sledování Mobile WAN komunikace, která na tomto rozhraní probíhá).
ˇ rení GRE komunikace Obrázek 9: Program tcpdump pro zachytávání paketu˚ – oveˇ
3.2
GRE tunel mezi Conel routerem a OS Linux
Zde je uveden pˇríklad vytvoˇrení GRE tunelu mezi Conel routerem a OS Linux. Protože i na ˇ Linux, je tento pˇrípad velmi jednoduchý. Conel routeru beží
Obrázek 10: Pˇríklad – GRE tunel mezi Conel routerem a OS Linux
6
ˇ 3. PRÍKLADY KONFIGURACE GRE TUNELU
Pro IP adresy podle pˇredchozího obrázku je nutné nastavit GRE tunel v Conel routeru následujícím zpusobem: ˚
Obrázek 11: Nastavení GRE tunelu v Conel routeru V OS Linux si potom pustíme terminál a následujícím zpusobem ˚ vytvoˇríme GRE tunel. Neˇ rit, že modul, který GRE tunelování umnožnuje, ˇ jprve je dobré is oveˇ je souˇcástí jádra systému. ˇ rit následujícími pˇríkazy: To je možné oveˇ $ sudo modprobe ip_gre $ lsmod | grep gre V pˇrípadeˇ pˇrítomnosti modulu v jádˇre jsou vypsány napˇr. následující ˇrádky: ip_gre gre
22432 0 12989 1 ip_gre
Nyní je již možné vytvoˇrit samotný GRE tunel následujícími pˇríkazy: $ sudo ip tunnel add gre1 mode gre remote 10.40.28.64 local 10.40.28.127 ttl 255 $ sudo ip link set gre1 up $ sudo ip addr add 10.10.10.124 dev gre1 ˇ rit vypsáním smerovací ˇ Vytvoˇrení tunelu je možné oveˇ tabulky pˇríkazem ip route show. ˇ smerovací ˇ ˇ Jsou videt pravidla pro noveˇ vytvoˇrené sít’ové rozhraní gre1. Také po spuštení programu ifconfig, který vypíše informace o sít’ových zaˇrízeních, je noveˇ vytvoˇrené rozhraní zobrazeno. Pro vypnutí a smazání tunelu je možné použít následující pˇríkazy: $ sudo ip link set gre1 down $ sudo ip tunnel del gre1 Výše uvedené pˇríkazy je možno používat pro vytvoˇrení GRE tunelu i v Conel routeru (napˇr. pˇres SSH), protože jeho operaˇcním systémem je také Linux a program ip je v routeru také k dispozici, viz pˇríruˇcka Commands and Scripts.
7
ˇ 3. PRÍKLADY KONFIGURACE GRE TUNELU
3.3
GRE tunel mezi Conel routerem a Cisco routerem
Následuje pˇríklad vytvoˇrení GRE tunelu mezi Conel routerem a Cisco. Zapojení a nastavení adres dle obrázku níže:
Obrázek 12: Pˇríklad – GRE tunel mezi Conel routerem a Cisco routerem V Conel routeru je nutné provést nastavení následujícím zpusobem: ˚
Obrázek 13: Router B (ˇcervená sít’) – konfigurace GRE tunelu Po pˇrihlášení do konzole Cisco routeru (napˇr. telnet, sériová linka), je tˇreba vstoupit do konfiguraˇcního terminálu pˇríkazem config terminal. Potom je možné vytvoˇrit GRE tunel následujícími pˇríkazy: Router(config)# interface Tunnel0 Router(config-if)# ip address 10.20.30.1 255.255.255.0 Router(config-if)# tunnel source 10.40.28.89 Router(config-if)# tunnel destination 10.40.28.64 Router(config-if)# end Pˇrípadneˇ je možné upravit maximální délku paketu, aby nedocházelo k cˇ asté zbyteˇcné ˇ fragmentaci a pˇridat smerovací cestu pro stanice pˇripojené za routerem (napˇr. v síti 192.168.1.0). Router(config-if)# ip mtu 1400 Router(config-if)# ip tcp adjust-mss 1360 Router(config)# ip route 192.168.1.0 255.255.255.0 10.20.30.1
8
ˇ 3. PRÍKLADY KONFIGURACE GRE TUNELU
ˇ rit pˇríkazem show running-config (již mimo konfiguraˇcní terNastavení je možné oveˇ ˇ být uveminál), který vypíše stávající konfiguraci Cisco routeru. U rozhraní Tunnel0 by mely ˇ nastavení viz Cisco dokumentaci k pˇríslušnému deny výše nastavené adresy. Pro podrobnejší Cisco routeru. ˇ fungovat program ping s úspešným ˇ Nyní by mel výsledkem (z Cisco routeru na Conel ˇ rit zapouzdˇrení do GRE router pˇres GRE tunel – na adresu 10.20.30.2 nebo naopak). Oveˇ protokolu je možné napˇríklad tak, že z konzole Cisco routeru se pˇres telnet a pˇres GRE tunel pˇripojíme na Conel router (telnet 10.20.30.2) a zde spustíme program tcpdump pro zachytávání paketu. ˚ Veškeré zachycené pakety budou mít oznaˇcení GRE protokolu – viz následující obrázek.
Obrázek 14: Program ping pˇres sít’ové rozhraní gre1
3.4
GRE tunel v IPsec tunelu (GRE over IPsec)
ˇ Pˇríklad vytvoˇrení GRE tunelu v IPsec tunelu – šifrované spojení, které umožnuje i pˇrenos ˇ ˇ ˇ smerovacích protokolu˚ a tím pˇredávání smerovacích informací mezi propojenými sítemi.
Obrázek 15: Topologie pˇríkladu GRE over IPsec Pro GRE spojení uvnitˇr IPsec je nutné nastavit IPsec spojení a také GRE spojení u obou routeru. ˚ Na následujících obrázcích je nastavení IPsec a GRE routeru˚ A a B pro uvedenou topologii pˇríkladu.
9
ˇ 3. PRÍKLADY KONFIGURACE GRE TUNELU
Obrázek 16: Router A – konfigurace IPsec (položka IPsec v sekci Customization)
Obrázek 17: Router A – konfigurace GRE
10
ˇ 3. PRÍKLADY KONFIGURACE GRE TUNELU
Obrázek 18: Router B – konfigurace IPsec (položka IPsec v sekci Customization)
Obrázek 19: Router B – konfigurace GRE
11
ˇ 3. PRÍKLADY KONFIGURACE GRE TUNELU
V pˇrípadeˇ správného nastavení bude u obou routeru˚ v sekci Status pod položkou IPsec ˇ (nebo také v System Log) vypsána informace o úspešném navázání IPsec tunelu (established).
Obrázek 20: Router B – IPsec Status, tunel sestaven (established) ˇ rit po pˇrihlášení pˇres telnet nebo SSH do terŠifrování GRE tunelu pomocí IPsec lze oveˇ minálu˚ obou routeru. ˚ Napˇr. na routeru B spustíme program tcpdump s parametry pro vyfiltorvání pouze protokolu ESP (IPsec): tcpdump -s0 protochain 50. Z konzole routeru A se ˇ pˇres telnet nebo SSH pˇrihlásíme na router B a to pˇres GRE tunel – tedy na potom opet adresu 10.20.30.2 – aby sledovaná komunikace probíhala pˇres GRE tunel. Pˇri psaní do konˇ nyní spuštený ˇ program tcpdump na routeru B zachytávat šifrované ESP zole routeru A by mel pakety, takže komunikace pˇres GRE tunel probíhá zárovenˇ šifrovaneˇ pˇres IPsec.
Obrázek 21: Router B – ESP pakety zachycené programem tcpdump
12
ˇ 4. DOPORUCENÁ LITERATURA
ˇ 4. Doporucená literatura [1] [2]
Conel: Conel:
ˇ manuál pro v2 routery Konfiguracní ˇ Konfiguracní manuál pro v3 routery
13