Konsool pakub jagatud tunneli lülitit, seega tundub otsus märkeruuduna. See ei ole. Kliendini jõuab tegelikult lõpp-punkti avaldatud marsruudikomplekt ja see loend otsustab, millised privaatsed eesliited tunnelit kasutavad, kas üldine internetiliiklus jääb kohalikuks või väljub AWS-i kaudu, ja millise resolveriga saab klient veel rääkida. Kolm küsimust otsustavad disaini ja igaühele saab vastata halvasti, samal ajal kui ühendus siiski õnnestub.

Jagatud tunneli lipp ei ole sihtkohtade loend

AWS kirjeldab jagatud tunnelit kui lõpp-punkti marsruutide lisamist kliendi marsruuditabelisse ühenduse loomisel. Privaatse VPC marsruut piirab tunneli selle sihtkohaga; kõik muu järgib kliendi tavalist teed. Vaikemarsruut on teistsugune juhis teistsuguse mõjuga, mistõttu jagatud tunneli dokumentatsioon hoiatab 0.0.0.0/0 avaldamise eest selle režiimi jaoks seadistatud lõpp-punktis: see kipub ühenduvust pigem katki tegema kui laiendama. Lõpp-punkti marsruuditabel on poliitika ja kliendi marsruuditabel on tulemus, mida saad kontrollida.

Loe lõpp-punkti marsruuditabelit ja kliendi paigaldatud marsruute koos. Silt kirjeldab kavatsust; marsruudid kirjeldavad, mis juhtub.

Esimene otsus: kas üldine internetiliiklus peaks jääma kohalikuks?

Kui sirvimine peaks kasutama kasutaja enda ühendust, avalda ainult need privaatsed sihtkohad, mida töö vajab, ja lõpeta seal. Ära lisa internetimarsruuti sellepärast, et täistunneli õpetus ühe sisaldas, ja ära eelda, et lisanmarsruut turvalisust parandab. See muudab teed, ei lisa poliitikat ja maksab tavaliselt latentsuse, mida sa ei planeerinud.

Kui internetiliiklus peaks väljuma AWS-i kaudu, ehita dokumenteeritud interneti juurdepääsu arhitektuur: lõpp-punkti marsruut, autoriseerimisreeglid, seotud alamvõrgu tee, turbepoliitika ja töötav ülesvoolu väljapääs. Üksnes vaikemarsruut ei anna neist midagi.

Teine otsus: millised privaatsed eesliited ja kelle volitusel?

Avalda väikseim sihtkohtade komplekt, mis teenindab tegelikku töökoormust, ja kontrolli, et iga seotud alamvõrk suudab sinna marsruutida. Lõpp-punkti marsruudisiht ja alamvõrgu VPC-marsruutimine on eri kihid ning ühes eksisteeriv marsruut ei ole tõestus teise kohta. Autoriseerimine on jälle eraldi: sihtkoht võib olla kättesaadav ja siiski keelatud, sest kliendi grupil pole reeglit, mis seda lubaks.

Ühe õnnestunud seansi testimine tõestab üht teed. Kontrolli iga seotud alamvõrku, sest hiljem lisatud alamvõrgu seos on täpselt see koht, kus puuduv marsruut tavaliselt asub.

Kui sihtkoht peab olema kättesaadav nime järgi, pane tähele, et järgmine küsimus on nimede lahendamine, mitte marsruut.

Kolmas otsus: milline resolver järgib tunnelit?

Klient võib saada DNS-serveri, mis on kättesaadav ainult VPN-i kaudu, ja see resolver töötab ainult siis, kui selle aadress on ise volitatud marsruudi sees. Kontrolli mõlemat poolt: resolveri aadress järgib avaldatud marsruuti ja server vastab nimedele, mida rakendus küsib. Päring, mis õnnestub aadressi järgi, aga nurjub hostinime järgi, viitab nimetamisele, mitte marsruutimisele, ja tunneli silumine raiskab sel juhul pärastlõuna.

Avalikud nimed peaksid lahenduma nii nagu enne ühendust, mis on veel üks põhjus olla täpne selles, mida avaldad.

Muuda marsruudikomplekti ja seejärel kontrolli mõlemat maailma

AWS dokumenteerib, et marsruutide muutmine jagatud tunneli lõpp-punktis lähtestab kliendiühendused. Planeeri muudatust seda silmas pidades: rakenda see, ühendu uuesti toetatud kliendiga ja loe paigaldatud marsruudid uuesti, selle asemel et usaldada enne muudatust rakendatud olekut. Aegunud rakendatud olek on kõige tavalisem põhjus, miks õige muudatus paistab katki.

Võta disain vastu alles siis, kui üks privaatne ressurss ja üks avalik sihtkoht käituvad nii nagu kavatsetud, nii nime kui aadressi järgi, nendes aadressiperekondades, mida tegelikult toetad. Tunnel, mis autendib, ei ole sama mis tunnel, mis jagab õigesti.

Kirjuta marsruudiloend runbooki põhjenduse kõrvale, et järgmine inimene eristaks tahtlikku väljajätmist unustatust.

Seotud artiklid