TCP 443 on varavaihtoehto, jolla on ennakkoehto, ei naamio, joka livahtaa tunnelin ohi mistä tahansa suodattimesta. Se auttaa, kun operaattori jo julkaisee TCP-kuuntelijan kyseisellä portilla ja polku sietää yhteyttä, joka pysyy auki tunteja. Se epäonnistuu, yleensä aikakatkaisuna, kun jompikumpi näistä puuttuu, ja aikakatkaisu kertoo harvoin kumpi. Vaihtopäätös vaatii kolme kysymystä, ja vain yksi niistä koskee portin numeroa.

Portin numero ei ole kuljetuslupaus

Portti nimeää päätepisteen; TCP tekee siitä järjestetyn tavuvirran; OpenVPN päättää, mitä virran sisällä kulkee. Saman numeron verkkopalvelin käyttää täysin erilaista sovellusjärjestelyä, joten yhteinen portti 443 saa ne kaksi näyttämään suodattimelle samalta eikä sen enempää. Numero on vihje, jota suodatin lukee, ei ominaisuus, joka muuttaa sitä, mitä paketit sisältävät. Niiden pitäminen samana siksi, että ne jakavat portin, on virhe tämänhetkisen sekaannuksen takana.

Välittävät laitteet tekevät harvoin yksinkertaista salli-tai-kiellä-päätöstä portista. Monet tutkivat ensimmäiset tavut, jotkut kiinnittävät kohteen ja jotkut nollaavat yhteyksiä, jotka pysyvät auki liian kauan. Siksi sama profiili voi toimia yhdestä verkosta ja aikakatketa toisesta, ja siksi varavaihtoehtoa kannattaa testata tuettuna vaihtoehtona sen sijaan, että siihen luottaisi lupauksena. Kun suodatin tutkii liikennettä, portin numero on vain ensimmäinen asia, jota se katsoo.

Vahvista kuuntelija ennen kuin kosket profiiliin

Palvelin on määritettävä TCP:lle portilla, ja asiakasprofiilin on pyydettävä samaa kuljetusta. UDP-profiilin kirjoittaminen uudelleen pyytämään TCP:tä ei luo kuuntelijaa, eikä syntyvä aikakatkaisu eroa palomuurista, joka pudottaa portin. Lataa operaattorin oma TCP-profiili, kun sellainen on, koska jotkin palvelut julkaisevat erillisen päätepisteen ja erilliset identiteettiasetukset kullekin kuljetukselle. Käsin muokkaaminen sopii kontrolloituun testiin ja on huono tapa arvata palveluntarjoajan tarkoittama kokoonpano.

Kyseisen täsmäytyksen molemmat puolet näkyvät kokoonpanossa, ja OpenVPN-projektin linkkiasetukset dokumentoivat molemmat muodot. Pienin pari näyttää tältä:

# server: accept TCP on this port
proto tcp-server
port 443
# client: request the same transport
proto tcp
remote vpn.example.com 443

Kolme ehtoa ratkaisevat, kannattaako varavaihtoehto

Ensimmäinen ehto on, että operaattori ylipäätään tarjoaa kuljetuksen; ilman sitä mikään muu ei merkitse. Toinen on, että polku pitää pitkäikäisen istunnon elossa, koska jotkin verkot nollaavat yhteyksiä, jotka pysyvät auki, sen sijaan että estäisivät portin kokonaan. Kolmas on, onko varavaihtoehto tarkoituksellinen poikkeus vai väliaikainen kiertotie, joka kätkee vian, jota et ole korjannut.

Jokaisella ehdolla on halpa tarkistus. Epäonnistuminen missä tahansa niistä näyttää asiakkaan puolelta samalta:

ConditionHow to check itWhat a failure decides
The server offers TCPThe operator's profile list, or a listening-socket check on the serverNo client-side edit can help
The path keeps long sessionsA test connection left open for an hourReconnects will look like server faults
The fallback is deliberateA change record naming the UDP faultThe underlying fault stays invisible

Ennen kuin vertailet kuljetuksia, suorita loppuun mahdollinen kirjautuminen vangitsevaan portaaliin. Verkko, joka ei ole päästänyt laitettasi, estää molemmat kuljetukset, ja silloin vertailu mittaa portaalia eikä tunnelia. Kirjaudu sisään, vahvista, että tavallinen selailu toimii, ja aloita testi vasta sitten.

Hinta, jonka hyväksyt: TCP TCP:n sisällä

TCP lähettää kadonneet segmentit uudelleen ja säilyttää niiden järjestyksen. Kun sovellus, joka myös käyttää TCP:tä, toimii TCP-tunnelin sisällä, kaksi palautuskerrosta reagoi samaan häviöön, ja juuri tämä vuorovaikutus tekee tunnelista hitaan tuntuisin häviöisellä polulla. Oire on viive ja jitter eikä puhdas vika, mikä tekee kaukaisen pään syyttämisestä helppoa. Mittaa asiakkaan puolelta molemmilla kuljetuksilla ennen johtopäätöstä.

UDP välttää tämän sisäkkäisyyden, ja se on pääsyy siihen, että operaattorit suosivat sitä ja tarjoavat TCP:tä vain vaihtoehtona. Vakaa TCP-yhteys on silti hyödyllisempi kuin saavuttamaton UDP-yhteys, joten vertailu on kahden todellisen kustannuksen välillä eikä hyvän ja huonon vaihtoehdon välillä. Pidä laite ja käyttöverkon tila muuttumattomina vertaillessasi, tai tulos kuvaa väärää muuttujaa.

Jotkin asiakasominaisuudet on dokumentoitu vain yhdelle kuljetukselle, joten varaprofiili voi hiljaa pudottaa toimintaa, josta olit riippuvainen. Lue vaihtoehdon kuljetusvaatimus ennen kuin pidät TCP-profiilia suorana vaihtona.

Viat, joihin toinen kuljetus ei koske

Vanhentunut varmenne tarvitsee yhä kellon tarkistuksen tai uudistamisen, ja hylätty tili tarvitsee yhä oikeat valtuustiedot. Säilytä operaattorin toimittamat palvelimen identiteettitarkistukset, koska tuttu portin numero ei todista ketään. Portti, joka vastaa, kertoo vain, että jokin kuuntelee.

Jos tunneli nousee ja kohteet yhä epäonnistuvat, jäljellä oleva ongelma on reititys tai nimien selvitys yhteyden jälkeen, ei kuljetus. Seuraa sitä polkua sen sijaan, että kiertäisit portteja, sillä niin yksi iltapäivä katoaa. Profiili kertoo, mitä kuljetusta kokeilla; se ei koskaan kerro, miksi UDP-polku epäonnistui.

Aiheeseen liittyvät artikkelit