Keepalive nav atkārtota savienošanās: izvēlieties pēc jūsu kļūdas
Viens pakets uztur kartējumu dzīvu; atkārtota savienošanās atjauno attiecības. Saskaņojiet mehānismu ar kļūdu un pēc tam pārbaudiet ar īstu pieprasījumu.
Keepalive un atkārtota savienošanās tiek konfigurētas vienā elpas vilcienā, bet risina dažādas problēmas, tāpēc vienas regulēšana reti salabo otru. Keepalive sūta nelielu satiksmi, lai uzturētu stāvokļa ierakstu dzīvu vai pamanītu, ka partneris pārstājis atbildēt. Atkārtota savienošanās nojauc salauzto un no jauna veido attiecības, tostarp atslēgas, adreses un maršrutus. Izvēlieties kļūdai atbilstošo mehānismu, nevis to, kura pogu jau pazīstat. To izšķir divi jautājumi: vai ceļš ir miris, vai kaut kas starp partneriem to aizmirst?
Kad kartējums ir problēma
Tunelis, kas mirst tikai pēc minūtēm klusuma, parasti zaudē tulkojuma ierakstu, nevis partneri. WireGuard PersistentKeepalive pastāv NAT un ugunsmūra stāvoklim, un paša projekta piezīmes to raksturo tieši tā, nevis kā veselības pārbaudi. Dažu desmitu sekunžu intervāls uztur ierakstu siltu, savukārt pakets katru sekundi ir akumulatora lēmums, nevis uzticamības. OpenVPN nonāk tajā pašā vietā, izmantojot ping un ping-restart , kas vispirms pamana klusumu un pēc tam rīkojas.
Šie iestatījumi arī nav savstarpēji aizstājami starp protokoliem. IKEv2 mirušā partnera politika, OpenVPN ping taimeris un WireGuard keepalive atbild uz vienu un to pašu jautājumu ar trim dažādām sintaksēm un trim dažādām noklusējuma vērtībām, tāpēc skaitļa kopēšana starp tiem ir regulēšanas drēbēs ietērpts minējums.
Kad attiecības ir pazudušas
Ja partneris maina adresi, akreditācijas dati beidzas vai attālais gals pārstartējas, mazie paketi nav labojums. Atkārtotai savienošanās jāatjauno stāvoklis : iegūt adresi, no jauna instalēt maršrutus, no jauna vienoties par atslēgām un dažos izvietojumos no jauna autentificēt lietotāju.
Klienti, kas atkārtoti savienojas bez uzraudzības, glabā sertifikātu vai saglabātu noslēpumu. Klients, kas jautātu cilvēkam, cieš neveiksmi tieši tad, kad neviena nav, un tas ir scenārijs, kurā atkārtotai savienošanās bija nozīme. Tas ir pirms mēnešiem pieņemts dizaina lēmums, nevis iestatījums, ko varat mainīt pārtraukuma laikā.
Ko neviens no abiem nepierāda
Tunelis var būt atkārtoti savienots, ar atslēgām un maršrutiem, kamēr pakalpojums aiz tā nestrādā, un keepalive var turēt kartējumu atvērtu sesijai, kuras serveris pazuda pirms stundām. Abi mehānismi var ziņot par panākumiem, kamēr tas, kas jums patiešām svarīgs, nav pieejams.
Tāpēc tests beidzas ar īstu pieprasījumu. Pēc jums svarīgā intervāla nosūtiet kaut ko caur tuneli, pēc tam atsevišķi izraisiet kļūdu, kurai projektējāt: dīkstāves periods kartējuma gadījumā, pārstartēšana vai adreses maiņa atkārtotas savienošanās gadījumā.
Tiešas satiksmes bloķēšana ir atsevišķs lēmums
Atkārtotas savienošanās cilpa var būt pilnīgi vesela, kamēr lietotne klusībā izmanto parasto ceļu, un tā ir noplūde, nevis kļūda. Ja prasība ir, lai nekas neizietu ārpus tuneļa, pasakiet to skaidri klienta konfigurācijā un pierādiet, nolaižot tuneli un vērojot, kas joprojām savienojas. Neviens mehānisms neietver šādu uzvedību, un nekāda atkārtošanas disciplīna to neizveido.
Pierakstiet, kurš mehānisms darbojās un vai pēc tam izdevās jauns pieprasījums. Šie divi fakti ir tas, kas nepieciešams nākamajam inženierim, un neviens nav redzams statusa ikonā. Žurnāla rinda, ka klients atkārtoti savienojās, nav tas pats, kas strādājošs pieprasījums.
Rakstiet politiku, ne tikai skaitli
Ielieciet pāri vienā teikumā: dīkstāves intervāls, dzīvotspējas slieksnis, kas izraisa pārbūvi , un ko klients dara, kamēr atkārto. Bez šī teikuma katrs nākamais incidents no jauna atver to pašu strīdu, vai keepalive ir pārāk īss vai atkārtota savienošanās pārāk lēna.
WireGuard piezīmes par ierobežojumiem ir noderīgs atgādinājums, ka keepalive ir apvedceļš starpniekierīcēm, nevis vispārējs dzīvotspējas dizains. Izlasiet šo ierobežojumu pirms biežuma palielināšanas, reaģējot uz problēmu, ko tas nevar atrisināt.