Archiv pro štítek: eoip

Mikrotik mini-howto: EoIP a šifrování s IPsec

Mikrotik mini-howto?
Krátce ze života sysadmina s RouterOS.

EoIP a šifrování s ipsec

Proprietární EoIP protokol Mikrotiku pro tunelování L2 provozu je na systému RouterOS velmi populární zejména pro svojí velmi snadnou konfiguraci, prakticky přidáte pouze na každé stráně (zařízení) remote-address a shodné tunnel-id a můžete začít tunelovat, jednoduché, nekomplikované.

Článek: 
Jak funguje EoIP a je možný proti Linux serveru ?
www.mojeservery.cz/linux-eoip-tunel-proti-mikrotik/

Jednou z nevýhod EoIP je nešifrovaný provoz, přirozeně je možné zabalit celý provoz a transparetně šifrovat oba konce přes IPsec, který je podporován v Mikrotiku, bohužel většina administrátorů tuto konfiguraci neřeší, mají k IPsecu “odpor”, vetšinou z důvodu neznalosti jeho problematiky, lidé se bojí toho co neznají.

Proto Mikrotik přidal podporu šifrování do EoIP skrze IPsec (dle informací k 15. výročí protokolu), a to tak snadno, že pouze vyplníte ipsec-secret (pre-shared key, heslo, ideálně netriviální), Mikrotik následně sám nakonfiguruje dynamické ipsec peery (strany tunnelu), nakonfiguruje policy s výchozím šifrováním na sha1/aes128cbc, hotovo a máte šifrováný L2 tunnel, jednodušší už to nebude, takže šifrujte !

Ukázka konfigurace EoIP s IPsec

Používáme RouterOS version: 6.37.1 (stable)

Pozn.:
IPsec u EoIP potřebuje explicitně specifikovat local-address u EoIP tunelu kvůli konfiguraci ipsec peerů a také vypnout fastpath funkcionalitu jinak není možné IPsec povolit na EoIP.

Příklad síťové topologie:

mikrotik-minihowto-eoip-ipsec-2016

Konfigurace:

Router R1:
/interface eoip add name="EOIP-R2" local-address=1.1.1.2 remote-address=2.2.2.2 tunnel-id=10 allow-fast-path=no ipsec-secret=ozCafWutIvFikamNekUlhedeipdobus5
Router R2:
/interface eoip add name="EOIP-R1" local-address=2.2.2.2 remote-address=1.1.1.2 tunnel-id=10 allow-fast-path=no ipsec-secret=ozCafWutIvFikamNekUlhedeipdobus5

A to je vše, snadné, tak šifrujte !

Děkujeme za Váš čas, MOJEservery.cz

Linux: EoIP tunel proti Mikrotik

EoIP tunel je technologie důvěrně známá ze zařízení společnosti Mikrotik, eoip (ethernet over IP) je tunelovácí nešifrovaný protokol postavený na zapouzdření ethernet rámce do standartního GRE protokolu (Geneneric Routing Encapsulation, IP protokol 47, RFC1701).

Mikrotik samotný podporuje pochopitelně i GRE tunel, ovšem můžete být v situaci, kdy bude vyžadováno použití EoIP, EoIP samotný je stavěn primárně pro tunelování L2 provozu (přenáší navíc proti GRE Ethernet hlavičku a MAC adresy), umí fragmentovat, zachová tedy MTU, má relativně nízký overhead (28bytes), vetší režii právě díky dis/assemblování a tím i nižší propustnost, ale hlavně velmi snadnou konfiguraci, proto je oblíben.

Zpět k našemu problému, na jedné straně máme Mikrotik s RouterOS a na druhé straně Linux router (např. Debian).

linux-eoip-mikrotik

Projekt linux-eoip implementoval proprietární řešení EoIP Mikrotik, autorem je Denys Fedoryshchenko , stáhneme zdrojový kód, přeložíme, nainstalujeme, nastavíme. (https://code.google.com/p/linux-eoip, předpokládejme nainstalovaný překladač GCC)

root@raspberrypi:/usr/src# wget https://linux-eoip.googlecode.com/files/linux-eoip-0.5.tgz
root@raspberrypi:/usr/src# tar -xvzf linux-eoip-0.5.tgz
root@raspberrypi:/usr/src# cd linux-eoip-0.5
root@raspberrypi:/usr/src/linux-eoip-0.5# ./configure
root@raspberrypi:/usr/src/linux-eoip-0.5# make
root@raspberrypi:/usr/src/linux-eoip-0.5# make install

Máme nainstalováno, v /usr/local/bin/eoip je samotný démon, k samotnému spuštění je potřeba ještě konfigurační soubor, ukázka a spuštění démona.

root@raspberrypi:~# cat /etc/eoip.cfg 
[zeoip0]
id=50
dst=x.x.x.x
root@raspberrypi:~# /usr/local/bin/eoip /etc/eoip.cfg

Konfigurační soubor je velmi jednoduchý, id je ekvivalent tunnel-id na Mikrotiku, dst je ekvivalent remote-address, tedy vzdálená adresa protějšího routeru, soubor může obsahovat libovolné množství tunelů, konfigurace na Mikrotik routeru najdete v sekci /interface eoip postačí pouze dodržet shodná tunnel-id a vyplniť korektní adresu protějšku.

Po spuštění bude vytvořeno nové rozhraní s názvem uvedeným v eoip.cfg, v našem případě zeoip0, chová se jako konec tunelu, je možné na něj nasadit spojovací ip adresy, použít ho pro routing či dále bridge-ovat, lze ho zmiňovat v iptables apod.

TIP! Šifrování provozu EoIP tunelem lze dosáhnout např. vytvořením PPTP tunelu mezi dvěma routery a EoIP tunel vystavět v rámci PPTP tunelu, přihlédneme-li k menší bezpečnosti  je to jednoduchý způsob, jak výkonově (CPU) tak konfiguračně, na vše ostatní je IPSec, pokud tedy máme dostatečně výkonný router.

Závěrem, pro zvídavé geeky doporučuji udělat si čas prostudovat si zdrojové kódy projektu linux-eoip, jsou velmi jednoduché, přehledné a dají Vám přehled o tom jak vlastně funguje takové zapouzdření, co na to jádro atd., prostě dobré čtení.

A to je vše, děkuji za Váš čas. František Havel