SSH yhdistää, toimii noin minuutin ja jäätyy sitten suunnilleen samalla välillä joka kerta. Tavallinen selitys on idle-aikakatkaisu, joten ihmiset laskevat MTU:ta ja asettavat asiakkaan keepalivet. WireGuard-linkki, jonka parissa työskentelin, oli jo käynyt läpi kaiken tämän: pienempi tunnelin MTU, client-alive-asetukset, määritetty tunnelin keepalive. Katkokset jatkuivat ennallaan. Syyksi paljastui epäsymmetrinen LAN-reitti, ja kuvio kannattaa tunnistaa, koska se voittaa jokaisen ajastinpohjaisen korjauksen.

Keepalive todistaa, että isäntäsi on yhä halukas lähettämään. Se ei voi saada tilaa ylläpitävää laitetta näkemään vastausta, joka ei koskaan kulje sen kautta.

Myytti: keepalivet korjaavat hiljaisen katkoksen

SSH-keepalivet ovat olemassa yhtä tehtävää varten: estää jotain hiljaisuutta laskevaa poistamasta joutilasta istuntoa. Sen ne tekevät hyvin. Ne eivät ratkaise laitetta, joka ylläpitää tilaa ja näki ensimmäisen paketin yhteen suuntaan ja sitten ei koskaan nähnyt vastausta, koska mikään asiakkaan lähettämä ei muuta sitä, mitä liitäntää vastaus käyttää.

MTU:n muuttaminen on toinen suosittu korjaus, ja siinä on sama vikatila. MTU:n laskeminen auttaa pirstoutumisessa ja polun MTU-ongelmissa eikä tee reitille mitään. Jos ajastimesi ja MTU ovat jo järkeviä ja katkos tapahtuu yhä toistuvalla välillä, väli kertoo sinulle jostain aikakatkaisusta jossain, ei paketin koosta. Kirjoita väli muistiin ja vertaa sitä tilan aikakatkaisuihin jokaisessa polun laitteessa.

Tunnusmerkki on säännöllisyys yhdessä istunnon kanssa, joka pysyy käyttökelpoisena tuon välin sisällä. Idle-aikakatkaisut iskevät, kun mitään ei tapahdu; tämä iskee, kun kirjoitat.

Mitä ylimääräinen yhdyskäytävä oikeastaan tekee

Sijoita kannettava ja VPN-yhdyskäytävä samaan LANiin, erillinen LAN-palomuuri oletusyhdyskäytävänä. Kannettava lähettää VPN:ään menevän liikenteen palomuurille, palomuuri välittää sen yhdyskäytävälle, ja yhdyskäytävän vastaukset palaavat suoraan LANin yli kannettavalle. Se toinen jalka ei koskaan kulje palomuurin kautta, joten sen tilataulu pitää puolikasta yhteyttä.

Alla olevat osoitteet heijastavat tuota järjestelyä:

Laptop:             192.168.50.20
LAN firewall:       192.168.50.1
WireGuard gateway:  192.168.50.10
Remote VPN subnet:  10.77.0.0/24

Uudelleenohjaukset ja tilan käsittely muuttavat sitten toimivan kättelyn yhteydeksi, joka kuolee myöhemmin eikä heti. Viive on tilamerkinnän vanheneminen tai tiukemman tarkistuksen epäonnistuminen, minkä vuoksi väli näyttää niin mekaaniselta.

Mikään tästä ei näy asiakkaan kokoonpanossa, minkä vuoksi sen etsiminen alkaa yleensä väärästä tiedostosta.

Valitse yksi tarkoituksellinen polku

Yllä olevaa järjestelyä varten etäverkon reitittäminen suoraan VPN-yhdyskäytävälle poistaa puolikkaan yhteyden:

sudo ip route add 10.77.0.0/24 via 192.168.50.10
ip route get 10.77.0.42

Nämä ovat esimerkkiosoitteita. Seuraavan hypyn on oltava tavoitettavissa LANissasi, etuliitteen on oltava aiottu etäverkko, ja toinen komento näyttää tuloksen ennen kuin luotat siihen. Jos yhdyskäytävä ei ole aliverkossasi, tämä reitti ei ole haluamasi korjaus.

Jos palomuurin on tarkoitus valvoa liikennettä näiden järjestelmien välillä, sen ohi reitittäminen on väärä suunnittelu. Anna molempien suuntien ylittää raja ja määritä reitit kummallekin puolelle niin, että paluupolku täsmää. Tavoite on yksi tarkoituksellinen polku, ei vähemmän tilan tarkistusta.

Netgaten muistiinpanoja epäsymmetrisestä reitityksestä kuvaavat saman liitäntätason epäsymmetrian ja sen luomat tilaongelmat, joten lue ne ennen kuin löysäät tilan käsittelyä maailmanlaajuisesti. Tämän tapauksen kaltaiset ajoitetut katkokset eivät ole todisteita itsessään. Käsittele artikkelia yhden vikatilan kuvauksena ja todista sitten, että oma verkkosi vastaa sitä ennen kuin muutat globaalia tilakäytäntöä.

Testaa molemmista päistä

Lue kannettavan reitti kohti kohdetta ja kohteen reitti takaisin kohti kannettavaa; ne ovat kaksi erillistä päätöstä ja todennäköisesti vain toinen niistä on väärä. Ping, joka onnistuu yhdyskäytävältä itseltään, voi piilottaa ongelman kokonaan, koska se lähtee koneelta, jonka polku on jo oikea. Tarvitset molemmat suunnat sellaisina kuin todellisen istunnon kaksi päätä ne näkevät.

Korjauksen jälkeen avaa SSH uudelleen ja pidä istunto auki selvästi yli sen välin, joka ennen epäonnistui. Tee sitten reitistä pysyvä hyväksytyssä verkkokokoonpanossa, koska kertaluonteinen komento ei ole uudelleenkäynnistyssuunnitelma ja ongelma palaa seuraavalla käynnistyskerralla uuden mysteerin kera.

Milloin epäsymmetria on kunnossa

Epäsymmetrinen reititys on monissa verkoissa normaalia eikä ole määritelmällisesti rikki. Siitä tulee ongelma, kun tilan seuranta, käännös tai käytäntö riippuvat sellaisen polun näkemisestä, jota ne eivät näe, ja jokaisella niistä on eri lääke. Tarkista, mitä välilaite todella vaatii, ennen kuin suunnittelet sen ympärille uudelleen.

Kestävä vastaus nimeää kaksi polkua, laitteen, jonka on nähtävä molemmat, ja reitin, joka tekee sen mahdolliseksi. Jos et pysty nimeämään laitetta, et ole vielä löytänyt syytä.

Aiheeseen liittyvät artikkelit