Presmerovanie portov a spúšťanie portov sú v tej istej ponuke na väčšine domácich routerov, a preto sa berú ako dva spôsoby, ako urobiť jednu prácu. Presmerovanie je statické pravidlo: prichádzajúce spojenie na port WAN sa preloží na pevnú vnútornú adresu a port, nech sa deje čokoľvek iné. Spúšťanie je podmienené: router sleduje odchádzajúcu prevádzku a otvorí prichádzajúce mapovanie až po tom, čo vyjde zodpovedajúce spojenie. VPN server čaká, kým sa najprv pripojí niekto iný, takže práve túto podmienku nikdy nemôže splniť.

Dve pravidlá s rôznymi životnými cyklami

IPv4 NAT si drží stav. Keď vnútorný host odošle paket von, router vytvorí mapovanie, aby odpovede našli cestu späť; prichádzajúci paket, ktorý nezodpovedá žiadnemu mapovaniu, sa zahodí, a to je správanie, ktoré drží neaktualizovaný počítač mimo internetu. Presmerovanie je trvalý záznam prekladu pridaný ručne. Spúšťanie je dočasná diera strážená vzorom prevádzky.

Praktický rozdiel je čas. Presmerovanie existuje od okamihu uloženia, kým ho niekto nezmaže. Spustené mapovanie existuje po aktivácii spúšťača a zatvára sa na časovači nečinnosti, meranom v minútach na spotrebiteľskom hardvéri, alebo okamžite pri reštarte.

Ani jedno nie je abstraktne bezpečnejšie. Presmerovanie vystavuje jeden port nepretržite; spúšťač ho vystaví až po určitej odchádzajúcej prevádzke. Pre službu, ktorá musí prijať prvý paket od cudzieho človeka, zodpovedá úlohe len jedno z tých dvoch.

Prečo spúšťanie server nezverejní

VPN server je pasívny už z návrhu. Protistrana, či už je to notebook v kaviarni alebo telefón na mobilných dátach, posiela prvý paket a router preň nemá mapovanie. Nič vnútri nezačalo prevádzku na port spúšťača, takže pravidlo nikdy nezasiahne a spojenie zomrie skôr, než sa začne handshake.

Tam, kde sa spúšťanie zdá fungovať, generuje prevádzku na porte spúšťača niečo iné: klient v LAN, monitorovacia sonda alebo vlastné odchádzajúce kontroly servera. Mapovanie sa potom otvorí pre jeden host a zatvorí, keď prevádzka ustane, takže ďalšia vonkajšia protistrana zase zlyhá, zatiaľ čo prvý úspech leží v logu a vyzerá ako dôkaz.

Spúšťanie je zvyčajne aj jednohostové. Mnohé implementácie dovolia, aby mapovanie držalo vždy len jedno vnútorné zariadenie, čo je presne nesprávne pre server, ktorý má odpovedať viacerým protistranám. Funkcia vznikla pre aplikácie, ktoré otvárajú riadiace spojenie von a očakávajú prichádzajúce dáta na druhom porte, a stále zodpovedá tomuto tvaru.

Čo presmerovanie skutočne mapuje

Presmerovanie je jeden záznam prekladu: port WAN a protokol na vnútornú adresu a port. Potrebuje poslucháča, ktorý už beží na druhej strane, a potrebuje, aby vnútorná adresa zostala na mieste. DHCP lízing, ktorý sa presunie na iný stroj, ticho pošle každý tunel na nesprávny host, takže rezerváciu vytvorte pred pravidlom.

RuleOpens whenCloses whenFits a VPN listener
Port forwardSaved, at bootYou delete itYes
Port triggerMatching outbound trafficIdle timeout or rebootNo

Protokol je dôležitejší, než naznačuje formulár. OpenVPN cez UDP potrebuje UDP presmerovanie, WireGuard potrebuje UDP a údaje IPsec prichádzajú ako ESP, IP protokol 50, ktorý nemá vôbec žiadne porty. Formulár presmerovania, ktorý prijíma len TCP alebo UDP, to nevie vyjadriť, takže IPsec potrebuje passthrough alebo statické mapovanie jedna k jednej namiesto portového pravidla.

Vrstva nad vaším routerom

Presmerovanie ovláda len preklad, ktorý vlastníte. Ak adresa WAN nie je vaša, čo je prípad za NAT operátora, kde účastníci zdieľajú 100.64.0.0/10, ako je opísané v RFC 6598, prichádzajúce spojenie sa k vášmu routeru nikdy nedostane, pretože poskytovateľ preložil prvý. Žiadne pravidlo na vašom zariadení ten poriadok nenapraví.

Dvojitý NAT je ten istý problém v malom. Váš router presmeruje na router ISP, ktorý nemá zodpovedajúce pravidlo a paket zahodí. Buď pravidlo pridajte na vonkajšom zariadení, alebo vonkajšie zariadenie prepnite do režimu mosta a nechajte svoje držať verejnú adresu.

Preto musí test prísť zvonka. Test z tej istej LAN cez verejnú adresu závisí od podpory hairpin NAT a môže prejsť alebo zlyhať z dôvodov nesúvisiacich s pravidlom; telefón na mobilných dátach alebo priateľ v inej sieti je čistejšia kontrola.

Obmedzte pravidlo, potom overte obe polovice

Presmerujte jeden port na jednu adresu. Rozsah pridaný preto, že prvé pokusy zlyhali, je cesta, ktorou sa správcovské rozhrania dostanú na internet, a poslucháč VPN nepotrebuje vedľa seba zverejnenú administrátorskú stránku routera.

Zachovajte všetko, čo toho poslucháča už chránilo: identitu podľa certifikátu alebo kľúča, hostiteľský firewall, aktuálne verzie balíkov. Presmerovanie pustí paket dnu; autentifikácia rozhoduje, či sa paket stane tunelom, a to sú dve oddelené poruchy, keď sa niečo pokazí.

Overenie má dve polovice. Handshake musí prebehnúť z vonkajšej siete a potom musí súkromný zdroj za serverom odpovedať tunelom. Presmerovanie pustí spojenie tunela a nič viac; smerovanie a autorizácia pre 10.8.0.0/24 je iné nastavenie na inej obrazovke.

Rozhodnite tromi otázkami

Tri otázky rozhodnú voľbu rýchlejšie než akákoľvek porovnávacia tabuľka:

  • Pripája sa niečo zvonka ako prvý paket? Potom použite presmerovanie alebo relay. Spúšťanie sa nemôže otvoriť bez odchádzajúcej prevádzky, ktorá nikdy nevznikne.
  • Musí diera prežiť čas nečinnosti? Potom použite presmerovanie, pretože spustené mapovanie sa zatvára podľa vlastného plánu.
  • Je adresa WAN vaša, aby ste ju mohli zverejniť? Ak nie, opravte vrstvu nad tým, než začnete upravovať akékoľvek pravidlo.

Ak je odpoveď na všetky tri nie, čo je prípad notebooku, ktorý si sám volá komerčnému poskytovateľovi, nie je potrebné ani jedno z pravidiel. Klient za NAT funguje, pretože si stavové mapovanie vytvára sám, a to pokrýva väčšinu ľudí, ktorí o polnoci čítajú stránku o presmerovaní portov.

Súvisiace články