Protokoly tunelování: Jak jeden protokol obaluje druhý
Protokol tunelování bere pakety jednoho protokolu a zabaluje je do paketů jiného. Tak fungují VPN, jak se IPv6 dostalo do světa přes internet IPv4, jak podnikové sítě pokrývají kontinenty a jak vám SSH umožňuje dosáhnout vaší domácí sítě přes hotelový firewall. Toto je vysvětlení toho, co vlastně tunelování je a protokoly, na kterých záleží.
Celé tělo článku je uvedeno níže v angličtině.
Jádro tunelovacího protokolu idea
A vezme paket jednoho protokolu, zabalí jej do užitečného zatížení jiného protokolu a výsledek odešle přes síť, která by normálně nepřenesla originál. Obal se nazývá encapsulation. Zabalený paket putuje sítí, která rozumí pouze vnějšímu protokolu, a rozbalí se na vzdáleném konci.
Prakticky: paket IPv6 zabalený do paketu IPv4 může procházet sítěmi pouze s protokolem IPv4. Ethernetový rámec zabalený do IP paketu může cestovat přes veřejný internet mezi dvěma LAN. TCP spojení zabalené uvnitř HTTPS může procházet firewallem, který umožňuje pouze port 443.
Proč existuje tunelování
- Protocol bridging: spusťte nový protokol v sítích, které jej nativně nepodporují. Klasickým příkladem je IPv6-over-IPv4 (Teredo, 6in4).
- Security: zabalte nezabezpečený protokol do šifrovaného. SMB přes SSH, prostý HTTP přes TLS (= HTTPS), podnikový provoz přes IPsec.
- Síťová virtualizace: dvě fyzicky oddělené sítě se chovají jako jedna. Tailscale, ZeroTier, MPLS L3VPN, VXLAN — všechny používají tunelování pod kapotou.
- Přechod firewallem: zabalte blokované protokoly do povolených protokolů. OpenVPN-over-TCP/443 vypadá jako HTTPS pro firewall, který blokuje vše ostatní.
- Vzdálený přístup: dejte zaměstnanci mimo pracoviště IP adresu v podnikové síti. Firemní VPN je strukturálně tunel.
Hlavní tunelovací protokoly
VPN-zaměřené
- WireGuard — moderní, rychlý, názorný Pouze UDP.
- OpenVPN — flexibilní, založené na TLS, běží přes TCP nebo UDP. Může se skrýt jako HTTPS.
- IKEv2/IPsec – nativní mobilní / podniková varianta.
- L2TP/IPsenXX s dvojitým legovánímXPLZ6,68 dvojitá legace XPLZ6 slow.
- PPTP — historicky běžné, definitivně nefunkční v roce 2012.
- SSTP — VPN protokol Microsoft TLS-tunelovaný, PLXX1, původ pouze pro Windows 82Z8XX1. and friends
- GRE (Generic Routing Encapsulation) – vyvinutý společností Cisco, nese v rámci IP protokoly libovolné síťové vrstvy. Základ pro mnoho podnikových nastavení VPN a podložka L3 pro věci, jako je NVGRE.
- IP-in-IP – nejjednodušší případ, stačí zabalit IP paket do druhého. RFC 2003.
- Teredo — Tunelování IPv6 přes IPv4 pro hostitele za NAT. Vyvinuto společností Microsoft.
- 6in4 — ručně konfigurované tunely IPv6-over-IPv4, často používané službami zprostředkovatele tunelů.
- 4in6 — opačný směr, IPv4 přes IPv6.
Datacenter overlays
- VXLAN — Virtuální rozšiřitelná LAN. Zabalí ethernetové rámce do UDP. Dominantní překryvný protokol v moderních datových centrech.
- GENEVE — novější, flexibilnější konkurent VXLAN. Používá se v některých podkladech poskytovatelů cloudu.
- NVGRE — varianta založená na GRE od společnosti Microsoft.
SSH tunely
SSH, port podporuje tři místní režimy přesměrování přes vzdálený port: port SSH forwarding (reverzní) a dynamické SOCKS proxy (použijte SSH jako obecný SOCKS5 proxy). Všechny varianty tunelování: SSH zabalí libovolný TCP provoz do svého šifrovaného kanálu. Klasický příkaz
ssh -L 5432:database.internal:5432 jumpboxje tunel.HTTP/HTTPS tunely
Pro podnikové sítě, které umožňují pouze odchozí port 443, nástroje jako XPLZwXPLZcre1332X
httptunnela Cloudflare Tunnel zabalí libovolný TCP do požadavků HTTP CONNECT nebo připojení WebSocket. Méně efektivní než přímé připojení; spolehlivé obcházení poslední instance.Zhroucení TCP-over-TCP
Nejčastější provozní úskalí při nasazení VPN. Když tunelujete připojení TCP uvnitř jiného připojení TCP (např. OpenVPN-TCP nesoucí HTTPS uživatele), jsou nyní ve hře časovače opakovaného přenosu two. Když dojde ke ztrátě paketů, obě vrstvy se pokusí o opakovaný přenos. Vnitřní okno přetížení TCP se rozšíří; vnější vyrovnávací paměti TCP nemohou držet krok. Latence exponenciálně narůstá.
To je důvod, proč je WireGuard pouze UDP a proč je OpenVPN-UDP preferován před OpenVPN-TCP, kdykoli to síť umožňuje. OpenVPN-TCP je záměrným kompromisem pro konkrétní případ, kdy na průchodu firewallem záleží více než na propustnosti.
Úhel zabezpečení
Tunelování je morálně neutrální. Stejné techniky, které umožňují vaší firemní VPN chránit vzdálené zaměstnance, může malware použít k exfiltraci dat tunely DNS nebo tunely HTTPS, které vypadají jako běžný provoz. Podnikové bezpečnostní týmy vynakládají značné úsilí na detekci nepřátelských tunelů pomocí DPI, analýzu toku a vynucování zásad na výstupních bodech.
Standardní pravidlo: tunel je přesně tak bezpečný jako jeho vnitřní protokol plus jeho vnější protokol plus model ohrožení operátora. OpenVPN tunelování prostého HTTP nezajistí HTTP pro určení; zajišťuje to spojení mezi klientem a serverem OpenVPN.
Jak ověřit, že tunel funguje
- Zkontrolujte, zda provoz končí tam, kde očekáváte – naše vyhledávání IP ukazuje výstupní IP a geolokaci.
- DNS Ověření tunelu XPL22 DNS7Derify test.
- Spusťte náš úplný test úniku VPN pro WebRTC, IPv6 a další vektory úniku.
- Pro tunely SSH ukazuje příkaz
wna vzdáleném konci vaši efektivní zdrojovou IP adresu Z387Z3XX.
Často kladené otázky
- Jaký je rozdíl mezi tunelem a VPN?
- VPN je jednou z aplikací tunelování. Tunel je mechanismus zapouzdření; VPN je produkt postavený kolem ní (správa klíčů, konfigurace atd.). Všechny VPN jsou tunely, ale ne všechny tunely jsou VPN – relace TLS je technicky tunel, SSH port-forward je tunel, podložka MPLS L3VPN používá tunelování.
- Proč je TCP-over-TCP špatný?
- Dva časovače retranslace mezi sebou bojují. Když pakety zahodí, vnitřní i vnější TCP se pokusí znovu. Vnitřní okno přetížení roste za vnější vyrovnávací paměť, latence exponenciálně stoupá, propustnost se hroutí. Je tolerovatelné v prostředí s nízkou ztrátou; ve ztrátových sítích je to nejhorší možná konfigurace VPN. Používejte tunelování založené na UDP všude, kde to síť umožňuje.
- Dokáže firewall vždy detekovat tunel?
- Moderní DPI dokáže identifikovat běžné podpisy tunelů (OpenVPN, WireGuard handshake). Obfuskační nástroje obalují tunely tak, aby vypadaly jako běžné HTTPS nebo jiné povolené protokoly. Závody ve zbrojení jsou neustálé. U sítí, které nejsou nepřátelské, základní pravidla brány firewall nekontrolují dostatečně hluboko, aby identifikovala tunely podle obsahu.
- Je HTTPS tunel?
- Technicky ano. HTTPS zabalí HTTP do TLS. Vztah je strukturálně identický s OpenVPN zabalením libovolného IP provozu uvnitř TLS. Hranice mezi „protokolem“ a „tunelem“ je většinou záležitostí terminologie; HTTPS se obvykle neříká tunel, protože vnitřní a vnější protokoly jsou navrženy tak, aby spolupracovaly, ale mechanismus zapouzdření je stejný.
- Který tunelovací protokol bych si měl vybrat pro VPN?
- Pro moderní spotřebitelské nebo obchodní použití: WireGuard. Pro restriktivní sítě: OpenVPN-TCP/443 s obfuskací TLS. Pro nativní iOS/macOS bez klientů třetích stran: IKEv2/IPsec. Vyhněte se PPTP (přerušený) a vyhněte se holému L2TP (místo toho použijte IKEv2/IPsec).