Pomáhá TCP 443 skutečně? Jen když na něm server naslouchá
Profil TCP je záložní varianta, ne převlek. Ověřte, že server na tomto portu naslouchá, a pak zvažte cenu dvojitého TCP proti nedostupnosti.
TCP 443 je záložní varianta s předpokladem, ne převlek, který propašuje tunel přes každý filtr. Pomáhá, když operátor už na tomto portu zveřejňuje TCP naslouchač a cesta snese spojení, které zůstává otevřené hodiny. Selhává, obvykle jako časový limit, když jedno z toho chybí, a časový limit jen zřídka řekne které. Rozhodnutí, zda přejít, vyžaduje tři otázky a jen jedna z nich je o čísle portu.
Číslo portu není slib transportu
Port pojmenovává koncový bod; TCP z něj dělá uspořádaný proud bajtů; OpenVPN rozhoduje, co uvnitř tohoto proudu putuje. Webový server na stejném čísle používá úplně jiné uspořádání aplikace, takže sdílený port 443 dělá oba pro filtr podobné a nic víc. Číslo je nápověda, kterou filtr čte, ne vlastnost, která mění obsah paketů. Považovat je za totéž proto, že sdílejí port, je chyba, která stojí za většinou zmatku zde.
Zprostředkující zařízení jen zřídka činí jednoduché rozhodnutí povolit, nebo zakázat ohledně portu. Mnohá prohlížejí první bajty, některá připnou cíl a některá resetují spojení, která zůstávají otevřená příliš dlouho. Proto stejný profil může z jedné sítě fungovat a z jiné vypršet, a proto stojí za to záložní variantu testovat jako podporovanou možnost, místo aby se jí věřilo jako slibu. Když filtr zkoumá provoz, číslo portu je jen první věc, na kterou se dívá.
Potvrďte naslouchač, než sáhnete na profil
Server musí být nakonfigurován pro TCP na tomto portu a klientský profil musí žádat stejný transport. Přepsání profilu UDP tak, aby žádal TCP, naslouchač nevytvoří a výsledný časový limit nelze rozeznat od firewallu, který port zahazuje. Stáhněte si vlastní TCP profil operátora, když existuje, protože některé služby zveřejňují samostatný koncový bod a samostatná nastavení identity pro každý transport. Ruční úprava je dobrá pro kontrolovaný test a špatný způsob, jak hádat zamýšlenou konfiguraci poskytovatele.
Obě strany této shody se objevují v konfiguraci a možnosti propojení projektu OpenVPN dokumentují obě podoby. Minimální dvojice vypadá takto:
# server: accept TCP on this port
proto tcp-server
port 443
# client: request the same transport
proto tcp
remote vpn.example.com 443Tři podmínky rozhodují, zda se záložní varianta vyplatí
První podmínkou je, že operátor transport vůbec nabízí; bez toho nic jiného nezáleží. Druhou je, že cesta udrží dlouhodobou relaci, protože některé sítě resetují spojení, která zůstávají otevřená, místo aby port rovnou blokovaly. Třetí je, zda je záložní varianta úmyslnou výjimkou, nebo berličkou, která skrývá závadu, kterou jste neopravili.
Každá podmínka má levnou kontrolu. Selhání u kterékoli z nich vypadá z pohledu klienta stejně:
| Condition | How to check it | What a failure decides |
|---|---|---|
| The server offers TCP | The operator's profile list, or a listening-socket check on the server | No client-side edit can help |
| The path keeps long sessions | A test connection left open for an hour | Reconnects will look like server faults |
| The fallback is deliberate | A change record naming the UDP fault | The underlying fault stays invisible |
Než začnete transporty srovnávat, dokončete každé přihlášení na captivní portál. Síť, která vaše zařízení nevpustila, blokuje oba transporty, a srovnání pak měří portál, nikoli tunel. Přihlaste se, ověřte, že běžné prohlížení funguje, a teprve potom test spusťte.
Cena, kterou přijímáte: TCP uvnitř TCP
TCP znovu posílá ztracené segmenty a zachovává jejich pořadí. Když aplikace, která sama používá TCP, běží uvnitř tunelu TCP, dvě vrstvy obnovy reagují na stejnou ztrátu a právě tato interakce způsobuje, že tunel na ztrátové cestě působí pomalý. Symptomem je zpoždění a kolísání, nikoli čisté selhání, což usnadňuje vinit vzdálený konec. Měřte ze strany klienta při obou transportech, než uděláte závěr.
UDP se tomuto vnořování vyhýbá, a to je hlavní důvod, proč jej operátoři upřednostňují a nabízejí TCP jen jako alternativu. Stabilní TCP spojení je stále užitečnější než nedostupné UDP spojení, takže srovnání je mezi dvěma skutečnými cenami, nikoli mezi dobrou a špatnou možností. Držte zařízení i přístupovou síť neměnné, dokud srovnáváte, jinak výsledek popisuje špatnou proměnnou.
Některé klientské funkce jsou dokumentované jen pro jeden transport, takže záložní profil může tiše vypustit chování, na které jste spoléhali. Přečtěte si požadavek možnosti na transport, než budete profil TCP považovat za prostou výměnu.
Závady, kterých se jiný transport nedotkne
Prošlý certifikát stále potřebuje kontrolu hodin nebo obnovení a odmítnutý účet stále potřebuje správné přihlašovací údaje. Zachovejte kontroly identity serveru, které operátor dodal, protože známé číslo portu nikoho neautentizuje. Port, který odpovídá, říká jen to, že něco naslouchá.
Pokud se tunel zvedne a cíle přesto selhávají, zbývajícím problémem je směrování nebo překlad jmen po připojení, nikoli transport. Jděte tou cestou, místo abyste projížděli porty, protože tak zmizí odpoledne. Profil vám řekne, který transport vyzkoušet; nikdy vám neřekne, proč cesta UDP selhala.