Protokoly tunelovania: Ako jeden protokol obalí druhý

11 min prečítanévytváranie sietí

Protokol tunelovania berie pakety jedného protokolu a zabaľuje ich do paketov iného. Takto fungujú siete VPN, ako sa IPv6 dostalo do sveta cez internet IPv4, ako podnikové siete pokrývajú kontinenty a ako vám SSH umožňuje dosiahnuť vašu domácu sieť cez hotelový firewall. Toto je vysvetlenie toho, čo tunelovanie vlastne je a protokoly, na ktorých záleží.

Celé telo článku je uvedené v angličtine nižšie.

Jadro tunelovacieho protokolu idea

A vezme paket jedného protokolu, zabalí ho do užitočného zaťaženia iného protokolu a výsledok odošle cez sieť, ktorá by za normálnych okolností neprenášala originál. Obal sa nazýva encapsulation. Zabalený paket prechádza sieťou, ktorá rozumie iba vonkajšiemu protokolu, a rozbalí sa na vzdialenom konci.

Prakticky: paket IPv6 zabalený do paketu IPv4 môže prechádzať iba sieťami IPv4. Ethernetový rámec zabalený do IP paketu môže cestovať cez verejný internet medzi dvoma LAN. TCP spojenie zabalené vo vnútri HTTPS môže prejsť cez firewall, ktorý povoľuje len port 443.

Prečo existuje tunelovanie

  • Protokolové premostenie: spustite nový protokol v sieťach, ktoré ho natívne nepodporujú. Klasickým príkladom je IPv6-over-IPv4 (Teredo, 6in4).
  • Security: zabaliť nezabezpečený protokol do šifrovaného. SMB cez SSH, obyčajný HTTP cez TLS (= HTTPS), firemný prenos cez IPsec.
  • Sieťová virtualizácia: dve fyzicky oddelené siete sa budú správať ako jedna. Tailscale, ZeroTier, MPLS L3VPN, VXLAN — všetky používajú tunelovanie pod kapotou.
  • Prechod firewallom: zabaľte zablokované protokoly do povolených protokolov. OpenVPN-over-TCP/443 vyzerá ako HTTPS pre firewall, ktorý blokuje všetko ostatné.
  • Vzdialený prístup: poskytnite zamestnancovi mimo podniku IP adresu v rámci podnikovej siete. Firemná VPN je štrukturálne tunel.

Hlavné tunelovacie protokoly

VPN-zamerané

  • WireGuard — moderný, rýchly, názorný Len UDP.
  • OpenVPN — flexibilné, založené na TLS, beží cez TCP alebo UDP. Môže sa skryť ako HTTPS.
  • IKEv2/IPsec – natívna mobilná/podniková možnosť.
  • L2TP/IPseccapXacylated,68 dvojitá lega XPLZ6 pomalý.
  • PPTP — historicky bežné, definitívne nefunkčné v roku 2012.
  • SSTP — VPN protokol Microsoft TLS-tunelovaný, PLXX-Pôvod len pre Windows 82Z8XX1 v systéme Windows IP82Z8XX-iba v roku 2012. and friends
    • GRE (Generic Routing Encapsulation) – vyvinutý spoločnosťou Cisco, prenáša ľubovoľné protokoly sieťovej vrstvy v rámci IP. Základ pre mnoho podnikových nastavení VPN a podložka L3 pre veci ako NVGRE.
    • IP-in-IP – najjednoduchší prípad, keď sa jeden IP paket zabalí do druhého. RFC 2003.
    • Teredo — Tunelovanie IPv6 cez IPv4 pre hostiteľov za NAT. Vyvinuté spoločnosťou Microsoft.
    • 6in4 — manuálne konfigurované tunely IPv6-over-IPv4, často používané službami tunelových maklérov.
    • 4in6 — opačný smer, IPv4 cez IPv6.

    Datacenter overlays

    • VXLAN — Virtuálna rozšíriteľná LAN. Zabalí ethernetové rámce do UDP. Dominantný overlay protokol v moderných dátových centrách.
    • GENEVE — novší, flexibilnejší konkurent VXLAN. Používa sa v niektorých podložkách poskytovateľov cloudu.
    • NVGRE — variant založený na GRE od spoločnosti Microsoft.

    SSH tunely

    SSH, port podporuje tri lokálne režimy presmerovania cez vzdialený port: port SSH preposielanie (späť) a dynamické SOCKS proxy (použite SSH ako všeobecný SOCKS5 proxy). Všetky varianty tunelovania: SSH zabalí ľubovoľnú TCP komunikáciu do svojho šifrovaného kanála. Klasický príkaz ssh -L 5432:database.internal:5432 jumpbox je tunel.

    HTTP/HTTPS tunely

    Pre podnikové siete, ktoré umožňujú len výstupný port 443, nástroje ako XPLZcorks1333 httptunnel a Cloudflare Tunnel zabalia ľubovoľný TCP do požiadaviek HTTP CONNECT alebo WebSocket. Menej efektívne ako priame pripojenia; spoľahlivé obchádzanie poslednej inštancie.

    Zlyhanie TCP-over-TCP

    Najčastejšia prevádzková úskalia pri nasadzovaní VPN. Keď tunelujete pripojenie TCP v rámci iného pripojenia TCP (napr. OpenVPN-TCP nesúce HTTPS používateľa), sú teraz v hre časovače opakovaného prenosu two. Keď dôjde k strate paketov, obe vrstvy sa pokúsia o opakovaný prenos. Vnútorné okno preťaženia TCP sa rozšíri; vonkajšie vyrovnávacie pamäte TCP nestíhajú. Latencia stúpa exponenciálne.

    To je dôvod, prečo je WireGuard iba UDP a prečo je OpenVPN-UDP uprednostňovaný pred OpenVPN-TCP vždy, keď to sieť umožňuje. OpenVPN-TCP je zámerným kompromisom pre konkrétny prípad, keď je prechod cez firewall dôležitý viac ako priepustnosť.

    Uhol zabezpečenia

    Tunelovanie je morálne neutrálne. Rovnaké techniky, ktoré umožňujú vašej firemnej sieti VPN chrániť vzdialených zamestnancov, môže malvér použiť na exfiltráciu údajov cez tunely DNS alebo tunely HTTPS, ktoré vyzerajú ako bežná prevádzka. Podnikové bezpečnostné tímy vynakladajú značné úsilie na detekciu nepriateľských tunelov pomocou DPI, analýzu toku a presadzovanie politiky na výstupných bodoch.

    Štandardné pravidlo: tunel je presne taký bezpečný ako jeho vnútorný protokol plus jeho vonkajší protokol plus model hrozby operátora. OpenVPN tunelovanie obyčajného HTTP nezabezpečuje HTTP pre cieľ; zabezpečuje to spojenie medzi klientom a serverom OpenVPN.

    Ako overiť, či tunel funguje

    1. Skontrolujte, či prevádzka odchádza tam, kde očakávate — naše vyhľadávanie IP zobrazuje výstupnú adresu IP a geolokáciu.
    2. DNS overte únik cez náš tunel XPLZ2DNS7 test.
    3. Spustite náš úplný test úniku VPN pre WebRTC, IPv6 a iné vektory úniku.
    4. Pre tunely SSH príkaz w na vzdialenom konci zobrazuje vašu efektívnu zdrojovú IP adresuZ387Z3XXX.

Často kladené otázky

Aký je rozdiel medzi tunelom a VPN?
VPN je jednou z aplikácií tunelovania. Tunel je mechanizmus zapuzdrenia; VPN je produkt postavený okolo nej (správa kľúčov, konfigurácia atď.). Všetky VPN sú tunely, ale nie všetky tunely sú VPN – relácia TLS je technicky tunel, SSH port-forward je tunel, podložka MPLS L3VPN používa tunelovanie.
Prečo je TCP-over-TCP zlý?
Dva časovače retransmisie proti sebe bojujú. Keď pakety padnú, vnútorné aj vonkajšie TCP sa zopakujú. Vnútorné okno preťaženia rastie za vonkajšiu vyrovnávaciu pamäť, latencia exponenciálne stúpa, priepustnosť klesá. Je tolerovateľné v prostredí s nízkou stratou; v stratových sieťach je to najhoršia možná konfigurácia VPN. Používajte tunelovanie založené na UDP všade, kde to sieť umožňuje.
Dokáže firewall vždy rozpoznať tunel?
Moderné DPI dokáže identifikovať bežné podpisy tunelov (OpenVPN, WireGuard handshake). Nástroje na zmätok zabaľujú tunely tak, aby vyzerali ako obyčajný HTTPS alebo iné povolené protokoly. Preteky v zbrojení sú neustále. V prípade sietí, ktoré nie sú nepriateľské, základné pravidlá brány firewall nekontrolujú dostatočne hlboko na to, aby identifikovali tunely podľa obsahu.
Je HTTPS tunel?
Technicky áno. HTTPS zabalí HTTP do TLS. Vzťah je štrukturálne identický s OpenVPN, ktorý zabalí ľubovoľnú IP prevádzku do TLS. Hranica medzi „protokolom“ a „tunelom“ je väčšinou vecou terminológie; HTTPS sa zvyčajne nenazýva tunel, pretože vnútorné a vonkajšie protokoly sú navrhnuté tak, aby spolupracovali, ale mechanizmus zapuzdrenia je rovnaký.
Ktorý protokol tunelovania by som si mal vybrať pre VPN?
Pre moderné spotrebiteľské alebo obchodné použitie: WireGuard. Pre reštriktívne siete: OpenVPN-TCP/443 so zmätením TLS. Pre natívny iOS/macOS bez klientov tretích strán: IKEv2/IPsec. Vyhnite sa PPTP (prerušený) a vyhnite sa holému L2TP (použite namiesto toho IKEv2/IPsec).
Vysvetlenie protokolov tunelovania: Ako jeden protokol obalí druhý | VPN Master Pro