Auttaako TCP 443 oikeasti? Vain jos palvelin kuuntelee siellä
TCP-profiili on varavaihtoehto, ei naamio. Tarkista, että palvelin kuuntelee kyseisellä portilla, ja punnitse sitten kaksinkertaisen TCP:n hinta saavuttamattomuutta vastaan.
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 443Kolme 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:
| 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 |
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.