Keepalivet ja uudelleenyhdistämiset määritetään samalla kertaa mutta ratkaisevat eri ongelmia, minkä vuoksi toisen säätäminen harvoin korjaa toista. Keepalive lähettää pientä liikennettä pitääkseen tilamerkinnän elossa tai huomatakseen, että vastapuoli lakkasi vastaamasta. Uudelleenyhdistäminen purkaa rikki menneen ja rakentaa yhteyden uudelleen, mukaan lukien avaimet, osoitteet ja reitit. Valitse vikaan sopiva mekanismi, älä sitä, jonka nuppia jo tunnet. Kaksi kysymystä ratkaisee sen: onko polku kuollut vai unohtaako jokin vastapuolten välissä sen?

Kun kartoitus on ongelma

Tunneli, joka kuolee vasta minuuttien hiljaisuuden jälkeen, menettää yleensä käännösmerkinnän eikä vastapuolta. WireGuardin PersistentKeepalive on olemassa NAT- ja palomuuritilaa varten, ja projektin omat muistiinpanot kuvaavat sen juuri niin, ei terveystarkistuksena. Muutaman kymmenen sekunnin väli pitää merkinnän lämpimänä, kun taas paketti joka sekunti on akkupäätös eikä luotettavuuspäätös. OpenVPN päätyy samaan paikkaan ping ja ping-restart kautta, jotka huomaavat hiljaisuuden ensin ja toimivat sitten sen mukaan.

Nämä asetukset eivät ole vaihdettavissa protokollien välillä. IKEv2:n kuolleen vastapuolen käytäntö, OpenVPN:n ping-ajastin ja WireGuardin keepalive vastaavat samaan kysymykseen kolmella eri syntaksilla ja kolmella eri oletusarvolla, joten luvun kopioiminen niiden välillä on säätämiseksi puettua arvailua.

Kun yhteys on poissa

Jos vastapuoli vaihtaa osoitetta, valtuutus vanhenee tai etäpää käynnistyy uudelleen, pienet paketit eivät ole korjaus. Uudelleenyhdistämisen on rakennettava tila uudelleen : hanki osoite, asenna reitit uudelleen, neuvottele avaimet uudelleen ja joissakin käyttöönotoissa tunnista käyttäjä uudelleen.

Valvomatta uudelleen yhdistävät asiakkaat pitävät varmenteen tai tallennetun salaisuuden. Asiakas, joka kysyisi ihmiseltä, epäonnistuu juuri silloin, kun paikalla ei ole ketään, ja se on se tilanne, jossa uudelleenyhdistämisellä oli merkitystä. Se on kuukausia aiemmin tehty suunnittelupäätös, ei asetus, jonka voi muuttaa katkoksen aikana.

Mitä kumpikaan ei todista

Tunneli voi olla uudelleen yhdistetty, avaimin ja reitein varustettu, kun sen takana oleva palvelu on alhaalla, ja keepalive voi pitää kartoituksen avoinna istunnolle, jonka palvelin on ollut poissa tunteja. Molemmat mekanismit voivat raportoida onnistumisesta, kun se, mistä todella välität, ei ole saatavilla.

Siksi testi päättyy todelliseen pyyntöön. Lähetä jotain tunnelin läpi sen välin jälkeen, josta välität, ja laukaise sitten erikseen se vika, jota varten suunnittelit: joutoaika kartoituksen tapauksessa, uudelleenkäynnistys tai osoitteenmuutos uudelleenyhdistämisen tapauksessa.

Suoran liikenteen estäminen on erillinen päätös

Uudelleenyhdistämisen silmukka voi olla täysin terve, kun sovellus käyttää hiljaa tavallista reittiä, ja se on vuoto eikä vika. Jos vaatimus on, ettei mikään poistu tunnelin ulkopuolelle, sano se selvästi asiakkaan kokoonpanossa ja todista se laskemalla tunneli alas ja katsomalla, mikä vielä yhdistää. Kumpikaan mekanismi ei edellytä tätä käyttäytymistä, eikä mikään uudelleenyrityskuri vakiinnuta sitä.

Kirjaa, mikä mekanismi toimi ja onnistuiko uusi pyyntö sen jälkeen. Ne kaksi tosiasiaa ovat se, mitä seuraava insinööri tarvitsee, eikä kumpikaan näy tilakuvakkeessa. Lokirivi, joka sanoo asiakkaan yhdistäneen uudelleen, ei ole sama kuin pyyntö, joka toimi.

Kirjoita käytäntö, älä vain lukua

Laita pari yhteen lauseeseen: joutoaika, elossaolon kynnys, mikä laukaisee uudelleenrakennuksen , ja mitä asiakas tekee yrittäessään uudelleen. Ilman sitä lausetta jokainen tuleva tapaus avaa saman väittelyn siitä, onko keepalive liian lyhyt vai uudelleenyhdistäminen liian hidas.

WireGuardin huomiot rajoituksista ovat hyödyllinen muistutus siitä, että keepalive on välilaatikoiden kiertotie eikä yleinen elossaolon suunnittelu. Lue se rajoitus ennen kuin nostat tiheyttä vastauksena ongelmaan, jota se ei voi ratkaista.

Aiheeseen liittyvät artikkelit