Листе портова за VPN услуге копирају се између страница за поређење без детаља који одлучује да ли су важне: ко започиње везу. Правило које дозвољава одлазни TCP 443 не говори ништа о томе може ли други хост да достигне слушаоца на вашем рачунару. Напишите три одвојена захтева пре него што упоредите иједан план и означите који су вашем задатку заиста потребни. Већина поређења се своди на једно кратко питање када тај лист постоји.

Раздвојите захтев пре него што прочитате било коју листу портова

Три реда покривају скоро сваки случај: долазак до одредишта изван тунела, објављивање нечега да би други могли да се повежу унутра и ношење самог тунела. Сваки ред пада из другог разлога, а политика провајдера која задовољава један може да остави друга два нетакнута. Сврставање задатка у прави ред траје пет минута и штеди расправу касније.

LineWho starts itWhat can block itQuestion for the provider
Outbound destinationYour applicationEgress filter on the exit nodeIs this protocol and port allowed to that destination?
Inbound publishingA remote peerNo mapping, no public address, short lifetimeWhich protocol, which external port, and how long does the mapping last?
Tunnel transportYour client to the gatewayThe access network drops that protocolDoes the client offer a fallback the local network permits?

Маркетиншке изјаве намерно замагљују три реда. Дозвола за P2P описује политику одредишта, намењена адреса описује адресу, а тврдња да нема ограничења портова обично значи да план их не наводи. Ниједна од тих фраза не одговара на остале.

Изаберите један конкретан ток и напишите га као реченицу: покретач, пренос, порт, породица адреса, смер. Ноћни клијент за резервне копије који отпрема на удаљени хост је само одлазни. Сервер игре на вашем столу коме се пријатељи придружују је долазни. Покретање оба кроз један тунел значи да су листу потребна оба реда, а не компромис између њих.

Одлазни приступ пада на политици одредишта, а не на тунелу

Одлазни саобраћај кроз преводни пролаз ствара стање. Први пакет са унутрашње адресе и порта ствара запис превода и одговори се поклапају са њим, што је понашање пресликавања описано у RFC 3022. Тај механизам је разлог зашто картица прегледача обично ради без икаквог захтева за порт.

Две ствари то и даље кваре. Излазни чвор може да филтрира одредишта или бројеве портова које сматра злоупотребљивим, а апликација може да слуша на порту који излазна политика никада није очекивала. Питајте о пару одредишта, а не о улазним правилима, и очекујте различите одговоре за TCP и UDP.

Мерите пре него што се препирете. Покрените ово на машини која ће стајати иза тунела, једном са искљученим тунелом и једном са укљученим:

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

Исте наредбе, исто одредиште, два стања тунела дају оператеру поређење пре и после по коме може да поступи. Замените документациону адресу хостом који вам заиста треба; важно је да се поређење понавља, а не да неки број изгледа импресивно.

Улазно објављивање захтева пресликавање, адресу и рок трајања

Ништа споља не може да започне везу са вашим слушаоцем ако нешто на јавној страни не зна где да је достави. Статична резервација порта коју држи оператер, пресликавање које затражи клијент кроз UPnP, NAT-PMP или PCP, и рутирана јавна адреса су три различита производа са три различите границе.

Поставите пет питања о било ком од њих: који протокол, који спољни порт, може ли спољни порт да се разликује од локалног, коју породицу адреса покрива и колико пресликавање преживи поновно повезивање. Резервација везана за активну сесију нестаје када та сесија заврши, шта год страница плана говорила.

Прво потврдите локалну половину, јер мртав слушалац и блокиран улазни пут споља изгледају исто:

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

Када локални захтев врати 200, а захтев из мреже коју не контролишете и даље истекне, јаз је на јавној страни. То је тренутак да оператеру кажете протокол и спољни порт уместо да апликацију описујете по имену.

Сопствени пренос тунела је одвојено питање

Портови носача су најмањи део проблема и најлакше их је проверити. Подразумеване вредности се разликују по протоколу, а оно о чему клијент може да преговара важније је од било ког описа плана.

ClientOuter transportDefault portWhen it helps
OpenVPNUDP1194Default mode; needs outbound UDP to pass
OpenVPNTCP443UDP is dropped and TCP 443 is not
WireGuardUDP51820Short handshake; there is no TCP mode
IKEv2/IPsecUDP500 and 4500Mobile clients; 4500 carries NAT traversal

Мрежа која одбацује одлазни UDP прихватиће тунел TCP 443 и одбити UDP, па резервни режим припада листу захтева. Промена носача не помера порт апликације унутар тунела и не шири политику одредишта; они остају у својим редовима.

Фрагментација заслужује једну проверу док сте тамо, јер тунел који се повеже и затим заглави на великим преносима обично има погрешан MTU, а не затворен порт:

ping -M do -s 1400 203.0.113.10
ping -M do -s 1372 203.0.113.10

У Windows-у иста провера је ping -f -l 1400 203.0.113.10. Поставите MTU тунела испод највеће величине која пролази, затим поново тестирајте пренос који није успео.

Проверите три реда пре него што платите за план

Ставите три реда на једну страницу и попуните сваку ћелију измереним резултатом уместо обећања. Ове наредбе стварају локалну половину те странице за око минут:

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

Читајте излаз као контролну листу. Одлазни ради када одредиште одговори са укљученим тунелом. Улазни ради само када хост изван ваше мреже достигне слушаоца на спољном порту. Носач ради када се руковање заврши на протоколу који ваша приступна мрежа дозвољава.

Две навике држе лист честитим. Запишите датум и верзију клијента поред сваког резултата, јер се крећу и политике провајдера и подразумеване вредности клијената. Затим тражите најтешње пресликавање које служи току, јер захтев да се све отвори обично заради одбијање или допунску продају, а не технички одговор.

Повезани чланци