Zahteve za vrata VPN: tri vrstice, ki jih napišemo pred primerjavo
Ugotovite, katero vprašanje o vratih v resnici imate: odhodni cilj, dohodno objavo ali lastni prenos tunela. Nato ponudnika vprašajte le o tem.
Seznami vrat za storitve VPN se med primerjalnimi stranmi kopirajo brez podrobnosti, ki odloča, ali so pomembni: kdo začne povezavo. Pravilo, ki dovoli odhodni TCP 443, ne pove ničesar o tem, ali lahko drug gostitelj doseže poslušalca na vašem računalniku. Napišite tri ločene zahteve, preden primerjate en sam načrt, in označite, katere vaša naloga res potrebuje. Večina primerjav se skrči na eno kratko vprašanje, ko tak list obstaja.
Ločite zahtevo, preden preberete kateri koli seznam vrat
Tri vrstice pokrijejo skoraj vsak primer: doseči cilj onkraj tunela, objaviti nekaj, da se lahko drugi povežejo noter, in prenašati sam tunel. Vsaka vrstica odpove iz drugega razloga, politika ponudnika, ki zadovolji eno, pa lahko drugi dve pusti nedotaknjeni. Razvrščanje naloge v pravo vrstico traja pet minut in prihrani prepir pozneje.
| Line | Who starts it | What can block it | Question for the provider |
|---|---|---|---|
| Outbound destination | Your application | Egress filter on the exit node | Is this protocol and port allowed to that destination? |
| Inbound publishing | A remote peer | No mapping, no public address, short lifetime | Which protocol, which external port, and how long does the mapping last? |
| Tunnel transport | Your client to the gateway | The access network drops that protocol | Does the client offer a fallback the local network permits? |
Marketinške izjave tri vrstice namerno zameglijo. Dovoljenje P2P opisuje politiko cilja, namenski naslov opisuje naslov, trditev, da ni omejitev vrat, pa običajno pomeni, da načrt teh ne našteva. Nobena od teh fraz ne odgovori na druge.
Izberite en konkreten tok in ga zapišite kot stavek: pobudnik, prenos, vrata, družina naslovov, smer. Nočni odjemalec za varnostne kopije, ki nalaga na oddaljenega gostitelja, je samo odhoden. Igralni strežnik na vaši mizi, h kateremu se pridružijo prijatelji, je dohoden. Izvajanje obeh skozi en tunel pomeni, da list potrebuje obe vrstici, ne kompromisa med njima.
Odhodni dostop odpove na politiki cilja, ne na tunelu
Odhodni promet skozi prevajalni prehod ustvari stanje. Prvi paket z notranjega naslova in vrat zgradi prevajalni vnos, odgovori pa se ujemajo z njim, kar je vedenje preslikave, opisano v RFC 3022. Ta mehanizem je razlog, da zavihek brskalnika običajno deluje brez kakršne koli zahteve za vrata.
Dve stvari to še vedno pokvarita. Izhodno vozlišče lahko filtrira cilje ali številke vrat, ki jih ima za zlorabljive, aplikacija pa lahko posluša na vratih, ki jih izhodna politika ni nikoli pričakovala. Vprašajte za par ciljev, ne za dohodna pravila, in pričakujte različne odgovore za TCP in UDP.
Merite, preden se prepirate. Zaženite to na napravi, ki bo stala za tunelom, enkrat z izklopljenim tunelom in enkrat z vklopljenim:
ss -lntup | sort
nc -vz -w 3 203.0.113.10 443
curl -sS -o /dev/null -w '%{http_code}\n' --max-time 5 https://example.com
Isti ukazi, isti cilj, dve stanji tunela dajo operaterju primerjavo pred in po, po kateri lahko ukrepa. Zamenjajte dokumentacijski naslov z gostiteljem, ki ga res potrebujete; pomembno je, da se primerjava ponovi, ne pa da je neka številka videti impresivna.
Dohodna objava potrebuje preslikavo, naslov in življenjsko dobo
Nič od zunaj ne more začeti povezave z vašim poslušalcem, razen če nekaj na javni strani ve, kam naj jo dostavi. Statična rezervacija vrat, ki jo drži operater, preslikava, ki jo zahteva odjemalec prek UPnP, NAT-PMP ali PCP, in usmerjen javni naslov so trije različni izdelki s tremi različnimi mejami.
Postavite pet vprašanj o katerem koli od njih: kateri protokol, katera zunanja vrata, ali se lahko zunanja vrata razlikujejo od lokalnih, katero družino naslovov pokriva in kako dolgo preslikava preživi ponovno povezavo. Rezervacija, vezana na aktivno sejo, izgine, ko se ta seja konča, kar koli pravi stran načrta.
Najprej potrdite lokalno polovico, ker sta mrtvi poslušalec in blokirana dohodna pot od zunaj videti enako:
ss -lntup | grep -E ':(8080|51820)\b'
python3 -m http.server 8080 --bind 0.0.0.0
curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8080
Ko lokalna zahteva vrne 200, zahteva iz omrežja, ki ga ne nadzorujete, pa še vedno poteče, je vrzel na javni strani. To je trenutek, ko operaterju poveste protokol in zunanja vrata, namesto da bi aplikacijo opisovali po imenu.
Lastni prenos tunela je ločeno vprašanje
Vrata nosilca so najmanjši del težave in najlažje preverljiva. Privzete vrednosti se razlikujejo glede na protokol, in kaj se odjemalec lahko dogovarja, šteje več kot kateri koli opis načrta.
| Client | Outer transport | Default port | When it helps |
|---|---|---|---|
| OpenVPN | UDP | 1194 | Default mode; needs outbound UDP to pass |
| OpenVPN | TCP | 443 | UDP is dropped and TCP 443 is not |
| WireGuard | UDP | 51820 | Short handshake; there is no TCP mode |
| IKEv2/IPsec | UDP | 500 and 4500 | Mobile clients; 4500 carries NAT traversal |
Omrežje, ki zavrže odhodni UDP, bo sprejelo tunel TCP 443 in zavrnilo UDP, zato nadomestni način spada na list zahtev. Zamenjava nosilca ne premakne vrat aplikacije znotraj tunela in ne razširi politike cilja; ta ostajajo v svojih vrsticah.
Razdrobljenost si zasluži eno preizkušnjo, medtem ko ste tam, ker ima tunel, ki se poveže in nato obstane pri velikih prenosih, običajno napačen MTU in ne zaprta vrata:
ping -M do -s 1400 203.0.113.10 ping -M do -s 1372 203.0.113.10
V sistemu Windows je ista preizkušnja ping -f -l 1400 203.0.113.10. Nastavite MTU tunela pod največjo velikost, ki preide, in nato znova preizkusite neuspešni prenos.
Preverite tri vrstice, preden plačate načrt
Postavite tri vrstice na eno stran in izpolnite vsako celico z izmerjenim rezultatom namesto z obljubo. Ti ukazi ustvarijo lokalno polovico te strani v približno eni minuti:
ss -lntup | sort
nc -vz -w 3 203.0.113.10 443
python3 -m http.server 8080 --bind 0.0.0.0
curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8080
ping -M do -s 1400 203.0.113.10
Preberite izhod kot kontrolni seznam. Odhodni deluje, ko cilj odgovori z vklopljenim tunelom. Dohodni deluje le, ko gostitelj zunaj vašega omrežja doseže poslušalca na zunanjih vratih. Nosilec deluje, ko se rokovanje dokonča na protokolu, ki ga vaše dostopno omrežje dovoli.
Dve navadi ohranjata list pošten. Zabeležite datum in različico odjemalca ob vsakem rezultatu, ker se premikajo tako politike ponudnikov kot privzete vrednosti odjemalcev. Nato zahtevajte najožjo preslikavo, ki služi toku, ker zahteva po odprtju vsega običajno prinese zavrnitev ali dodatno prodajo namesto tehničnega odgovora.