Keepalive ei ole taasuhendus: vali selle järgi, milline tõrge sul on
Üks pakett hoiab vastendust elus; taasuhendus ehitab suhte uuesti üles. Sobita mehhanism tõrkega ja kontrolli siis päris päringuga.
Keepalive ja taasuhendus seatakse ühe hooga, kuid lahendavad erinevaid probleeme, mistõttu ühe häälestamine parandab teist harva. Keepalive saadab väikest liiklust, et hoida olekukirje elus või märgata, et partner lakkas vastamast. Taasuhendus lammutab katkise ja ehitab suhte uuesti üles, sealhulgas võtmed, aadressid ja marsruudid. Vali mehhanism, mis sobib tõrkega, mitte see, mille nuppu sa juba tead. Kaks küsimust otsustavad selle: kas tee on surnud või unustab miski partnerite vahel selle ära?
Kui probleem on vastenduses
Tunnel, mis sureb alles pärast minuteid vaikust, kaotab tavaliselt tõlkekirje, mitte partneri. WireGuardi PersistentKeepalive on olemas NAT-i ja tulemüüri oleku jaoks ning projekti enda märkmed kirjeldavad seda täpselt nii, mitte tervisekontrollina. Paarikümne sekundine intervall hoiab kirje soojana, samas kui pakett iga sekundi järel on aku otsus, mitte töökindluse oma. OpenVPN jõuab samasse kohta ping ja ping-restart kaudu, mis märkavad esmalt vaikust ja tegutsevad siis selle põhjal.
Need seaded ei ole ka protokollide vahel vahetatavad. IKEv2 surnud partneri poliitika, OpenVPN-i ping-taimer ja WireGuardi keepalive vastavad samale küsimusele kolme erineva süntaksi ja kolme erineva vaikeväärtusega, nii et numbri kopeerimine nende vahel on häälestuseks maskeeritud oletus.
Kui suhet enam pole
Kui partner vahetab aadressi, mandaat aegub või kaugots restartub, ei ole väikesed paketid parandus. Taasuhendus peab oleku uuesti üles ehitama : hankida aadress, paigaldada marsruudid uuesti, pidada võtmed uuesti läbi ja mõnes juurutuses autentida kasutaja uuesti.
Kliendid, mis ühenduvad järelevalveta, hoiavad sertifikaati või salvestatud saladust. Klient, mis küsiks inimeselt, ebaõnnestub täpselt siis, kui kedagi kohal pole, ja see on stsenaarium, kus taasuhendus oli oluline. See on kuid varem tehtud disainiotsus, mitte seade, mida saad katkestuse ajal muuta.
Mida kumbki ei tõesta
Tunnel võib olla taasuhendatud, võtmetega ja marsruutidega, samal ajal kui selle taga olev teenus on maas, ja keepalive võib hoida vastendust avatuna sessiooni jaoks, mille server on tundide eest kadunud. Mõlemad mehhanismid võivad teatada õnnestumisest, samal ajal kui see, millest sa tegelikult hoolid, pole saadaval.
Seepärast lõpeb test päris päringuga. Saada midagi tunnelist läbi pärast intervalli, mis sind huvitab, seejärel kutsu eraldi esile tõrge, mille jaoks sa projekteerisid: jõudeperiood vastenduse puhul, restart või aadressimuudatus taasuhenduse puhul.
Otsese liikluse blokeerimine on eraldi otsus
Taasuhenduse tsükkel võib olla täiesti terve, samal ajal kui rakendus kasutab vaikselt tavalist marsruuti, ja see on leke, mitte tõrge. Kui nõue on, et midagi ei läheks tunnelist välja, ütle seda kliendi konfiguratsioonis selgesõnaliselt ja tõesta seda tunnel alla võttes ning vaadates, mis veel ühendub. Kumbki mehhanism ei eelda sellist käitumist ja mingi korduskatsete distsipliin ei kehtesta seda.
Pane kirja, milline mehhanism töötas ja kas uus päring õnnestus hiljem. Need kaks fakti on vajalikud järgmisele insenerile ja kumbki pole olekuikoonil nähtav. Logirida, mis ütleb, et klient ühendus uuesti, ei ole sama mis päring, mis töötas.
Kirjuta poliitika, mitte ainult number
Pane paar ühte lausesse: jõudeintervall, elujõulisuse lävi, mis käivitab uuesti ehitamise , ja mida klient teeb, kuni kordab. Ilma selle lauseta avab iga tulevane juhtum uuesti sama vaidluse, kas keepalive on liiga lühike või taasuhendus liiga aeglane.
WireGuardi märkmed piirangute kohta on kasulik meeldetuletus, et keepalive on vahepealsete seadmete jaoks mõeldud möödaravi, mitte üldine elujõulisuse disain. Loe seda piirangut enne, kui tõstad sagedust vastusena probleemile, mida see lahendada ei suuda.