Hlavní navigace

Stavíme VPN - CIPE

Miroslav Petříček 10. 9. 2002

CIPE je jedno z nejjednodušších dostupných VPN řešení, které je ovšem omezeno na koncové body používající Linux nebo Windows. Jeho výhodou je triviální konfigurace a efektivní fungování. CIPE je standardní součástí distribuce Red Hat Linux a právě řešením modelového VPN příkladu v této distribuci se bude zabývat tento článek.

CIPE navazuje mezi koncovými body IP-PPP tunel, který pro zapouzdření používá UDP. Na rozdíl od jiných implementací tedy nepotřebuje ke svému fungování žádný další protokol třetí vrstvy a vystačí si s jedním UDP socketem, takže je možné jej poměrně snadno používat i v prostředí firewallů, NAT překladů apod.

O šifrování přenášených datagramů se stará rychlá symetrická šifra blowfish s délkou klíče 128 bitů. Volitelně je možné používat IDEA. Novější verze CIPE mohou používat také autentizaci založenou na asymetrických klíčích RSA.

Způsob použití CIPE nejlépe dokumentuje následující příklad. Řekněme, že máme dvě sítě 192.168.0.0/24 a 192.168.1.0/24, které jsou připojeny do Internetu skrze routery s veřejnými IP adresami 240.0.0.1 a 240.0.1.1 tak, jak je to vidět na následujícím schematu. Potřebujeme mezi těmito sítěmi vytvořit propojení tak, aby počítače na síti A mohly bezpečně komunikovat s počítači v síti B.

Nejdříve je nutné sestavit tajný klíč, který bude použit k autentizaci. Klíč má podobu 128 bitového čísla v hexadecimálním tvaru, které uložíme do souboru /etc/cipe/options-cipcb0 na oba dva routery. Soubor s klíčem musí mít nastavená práva přístupu pouze pro roota:

# echo "key 12345678901234567890abcdefabcdef" &qt;
  /etc/cipe/options-cipcb0
# chmod 0600 /etc/cipe/options-cipcb0

Nyní je potřeba vytvořit virtuální interface sloužící k vlastní realizaci spojení. V Red Hat Linuxu je k tomuto účelu připraven skript ifup-cipcb, proto postačí na routeru A vytvořit definiční soubor /etc/sysconfig/net­work-scripts/ifcfg-cipcb0 s následujícím obsahem:

DEVICE=cipcb0
ONBOOT=yes
USERCTL=yes
MYPORT=5000
PEER=240.0.1.1:5000
PTPADDR=192.168.1.253
IPADDR=192.168.0.253

Na routeru B pak ve stejném souboru:

DEVICE=cipcb0
ONBOOT=yes
USERCTL=yes
MYPORT=5000
PEER=240.0.0.1:5000
PTPADDR=192.168.0.253
IPADDR=192.168.1.253

Význam jednotlivých parametrů je následující:

  • MYPORT – číslo UDP portu, na kterém CIPE očekává spojení. Může být vcelku libovolný, pouze se ujistěte, zdali případný firewall nefiltruje spojení na tento port.
  • PEER – veřejná IP adresa a číslo CIPE portu protilehlého routeru. Na tuto adresu bude navazováno CIPE spojení skrze existující fyzické rozhraní. Touto adresou tedy musejí být routery přístupné ještě před konfigurováním CIPE tunelu.
  • IPADDR – adresa lokálního konce IP tunelu
  • PTPADDR – adresa vzdáleného konce IP tunelu

Po správném nastavení parametrů již můžeme vytvořit rozhraní pomocí příkazu „ifup cipcb0“. O vytvoření zařízení se můžeme přesvědčit příkazem ifconfig:

[root@routerA]# ifconfig cipcb0
cipcb0  Link encap:IPIP Tunnel  HWaddr
        inet addr:192.168.0.253  P-t-P:192.158.1.253
      Mask:255.255.255.255
        UP POINTOPOINT NOTRAILERS RUNNING NOARP  MTU:1442  Metric:1
        RX packets:0 errors:0 dropped:0 overruns:0 frame:0
        TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:100
        RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)

Rozhraní je samozřejmě nutné vytvořit i na routeru B. Fungování IP tunelu nejlépe ověříme pomocí pingu na adresu vzdáleného konce CIPE tunelu. Pokud máte rozhraní na obou stranách vytvořené a ping přesto nefunguje, hledejte problém nejspíše na firewallu, vypnutém IP-forwardingu, špatných právech k souboru s klíčem atd.

Jestliže vám funguje ping na CIPE adresu druhého routeru, můžete přistoupit k nastavení routování sítě do sítě B:

[root@routerA]# route add -net 192.168.1.0/24 dev cipcb0

podobně na routeru B:

[root@routerB]# route add -net 192.168.0.0/24 dev cipcb0

Routování je možné nastavovat v některém ze startovacích skriptů, nebo přímo v /etc/cipe/ip-up, který se volá při vytváření rozhraní. Kompletní routovací tabulka pak může na routeru A vypadat nějak takto:

[root@routerA]# netstat -rn
192.168.1.0     *        255.255.255.0   U   40  0  0 cipcb0
240.0.1.0   *        255.255.255.252 U   40  0  0 ppp0
192.168.1.253   *            255.255.255.255 UH  40  0  0 cipcb0
192.168.0.0     *            255.255.255.0   U   40  0  0 eth0
127.0.0.0       *            255.0.0.0       U   40  0  0 lo
default         240.0.1.2    0.0.0.0         UG  40  0  0 ppp0

Po nastavení routování bychom již měli být schopni transparentně navazovat spojení ze sítě A do sítě B.

Jak vidíte, použití CIPE je snadné. Ovšem pokud máte na VPN technologii o malinko větší nároky, např. komunikaci většího počtu uzlů v multipoint režimu, případně interoperabilitu mezi jinými koncovými body, než jsou Linux a Windows (viz odkazy), nezbude vám, než se poohlédnout někde jinde. Proto se příšte budeme zabývat některou z implentací VPN technologie IPsec.

Zajímavé odkazy

Našli jste v článku chybu?
Root.cz: Chytré hodinky Pebble úplně končí

Chytré hodinky Pebble úplně končí

Root.cz: Kamery Sony se dají ovládnout na dálku

Kamery Sony se dají ovládnout na dálku

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Vitalia.cz: Dáte si jahody s plísní?

Dáte si jahody s plísní?

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Podnikatel.cz: Zavře krám u #EET Malá pokladna a Teeta?

Zavře krám u #EET Malá pokladna a Teeta?

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Vitalia.cz: Znáte „černý detox“? Ani to nezkoušejte

Znáte „černý detox“? Ani to nezkoušejte

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

DigiZone.cz: Flix TV má set-top box s HEVC

Flix TV má set-top box s HEVC

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

DigiZone.cz: ČT má dalšího zástupce v EBU

ČT má dalšího zástupce v EBU

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

Lupa.cz: Insolvenční řízení kvůli cookies? Vítejte v ČR

Insolvenční řízení kvůli cookies? Vítejte v ČR