Nukreipti filialą į mazgą yra lengvoji šio sprendimo pusė, kai filialas yra už kintančio mobiliojo adreso, o mazgas turi stabilų pavadinimą. Tada mazgas filialą išmoksta iš autentifikuoto srauto, o ne iš įrašo, kurį turite nuolat atnaujinti. Sutartis paprasta: filialas visada pradeda.

Konfigūruokite tai sąmoningai, o tada patikrinkite dalį, kurią žmonės laiko veikiančia. Abu žingsniai trunka minutes, ir būtent antrajame šie sprendimai paprastai žlunga.

Kuri pusė laiko stabilų galinį tašką

Filialo konfigūracija nurodo mazgo galinį tašką ir viešąjį raktą. Mazgo konfigūracija nurodo filialo viešąjį raktą ir jo leidžiamus vidinius prefiksus, o galinio taško gali visai neturėti, nes tapatybė ateina iš rakto, o ne iš paskutinio paketo šaltinio adreso. Ši asimetrija yra visas mechanizmas, ir ji pašalina visą atradimo problemų klasę iš mazgo pusės.

Kai filialas siunčia autentifikuotą paketą, mazgas užrašo šaltinį, iš kurio jis atėjo, ir naudoja tą atitikimą atsakymams. Tada mobiliojo ryšio linijos pernumeravimas nekainuoja nieko, išskyrus kitą rankos paspaudimą, ir kiekvienas komponentas, kurio jums nebereikia, yra toks, kuris negali sugesti perjungimo metu. Šią savybę verta išbandyti planuojamo pakeitimo metu, o ne incidento metu. Darykite tai, kol kas nors gali stebėti abu galus vienu metu.

Duokite filialui konfigūraciją, kuri išgyvena pernumeravimą

Laikykite galinį tašką ir keepalive filiale, o mazgo partnerio įrašą laikykite be kietai užkoduoto adreso. Keepalive laiko išverstą atitikimą atidarytą pakankamai ilgai, kad mazgas po tuščiosios eigos laikotarpio galėtų siųsti neprašytą srautą.

[Peer]
PublicKey = HUB_PUBLIC_KEY_BASE64
Endpoint = hub.example.net:51820
AllowedIPs = 10.60.0.0/24, 10.60.10.0/24
PersistentKeepalive = 25

Dvidešimt penkios sekundės yra dažnai cituojamas pavyzdys, kaip išlaikyti NAT atitikimą gyvą, o ne reikalavimas kiekvienam partneriui. Nustatykite jį pagal atitikimo laiko limitą, kurį iš tikrųjų stebite, ir atminkite, kad jis generuoja srautą duomenų limituotoje linijoje, kol sąsaja įjungta.

Mazge filialo partnerio leidžiami prefiksai turi apimti viską, ką filialas siųs. Trūkstamas prefiksas elgiasi kaip maršrutizavimo gedimas tolimajame gale ir nesukuria jokio įspėjimo nė vienoje pusėje, todėl verta jį peržiūrėti prieš pirmą tikrą paketą. Prieš pirmąjį prisijungimą palyginkite mazgo leidžiamus prefiksus su filialo sąsajos adresais.

Patikrinkite atitikimą ir perjungimą

Patvirtinkite, kad rankos paspaudimas baigiamas, kad mazgas išvardija dabartinį filialo galinį tašką ir kad filialo vidiniai adresai pasiekiami per tunelį. Tai bazinė linija, ją reikėtų užrašyti prieš kam nors paliečiant mobiliojo ryšio liniją. Dviejų eilučių išvesties pakanka. Laikykite jas biliete su laiko žyma.

wg show wg0
wg show wg0 latest-handshakes
ip route show default
ping -c 3 10.60.10.1

Tada išbandykite gedimą, dėl kurio šis sprendimas egzistuoja. Ištraukite pagrindinį WAN ir patvirtinkite, kad filialo pagrindinis maršrutas į mazgą dabar išeina per mobiliąją sąsają. Tunelis negali suremontuoti sulaužyto fizinio kelio, todėl išorinis maršrutas, vis dar nukreiptas į negyvą aukštyn nukreiptą liniją, sukelia rankos paspaudimo laiko limitą, kuris atrodo lygiai kaip mazgo problema.

Jei išorinis kelias yra aiškiai susietas arba nukreiptas pagal politiką, perjungimas turi jį apimti. Ta spraga tarp teisingai skaitomo sprendimo ir tokio, kuris išgyvena sutrikimą, paprastai yra vienintelis trūkstamas dalykas.

Ko šis sprendimas neišsprendžia

Niekas čia neleidžia įeinančio ryšio į filialą. Jei kažkas būstinėje turi surinkti mobilųjį objektą, tunelio kryptis šiam reikalavimui netinkama, o dinaminis DNS atnaujina tik pavadinimą. Tiekėjo vertimas, įeinanti politika ir kliento galinio taško atnaujinimas visi lieka kelyje, o pakeistas įrašas negali atidaryti operatoriaus lygio NAT.

Laikykite filialo prefiksą atskirai nuo kiekvienos kitos vietos ir apribokite, ką jo tinklo vartai persiųs. Stabilus mazgo galinis taškas supaprastina atradimą ir nieko nedaro maršrutizavimo dizainui, adresų planavimui ar klausimui, kurie programų maršrutai išgyvena perjungimą.

Įrašykite į runbook keturis dalykus: kas pradeda, kokie prefiksai leidžiami, kiek ilgai trunka keepalive ir kas atsitinka, kai pagrindinė linija krinta. Būtent šios eilutės yra tai, ko būsimam operatoriui tikrai reikia trečią valandą nakties.

Susiję straipsniai