Viena vārteja darbina WireGuard tavām ierīcēm un OpenVPN klientu uz kāda cita tīklu. Pārsūtīšana starp divām iekšējām saskarnēm darbojas, un ir viegli secināt, ka lejupstraumes apakštīkls tagad ir augšupstraumes pakalpojuma daļa. Tā nav. Klienta iegūtais maršruts pasaka tavai vārtejai, kur sūtīt pieprasījumus; tas neko nepasaka par to, kā attālais tīkls atgriež trafiku ierīcēm, par kurām tas nekad nav dzirdējis. Izvēlies atgriešanas modeli, ko augšupstraume patiešām atbalsta, pirms pievieno kaut vienu noteikumu.

Izlem atgriešanas modeli, pirms pieskaries maršrutēšanai

Šajā aprakstā lejupstraumes klienti izmanto 10.90.0.0/24, vārtejai piešķirtā augšupstraumes tuneļa adrese ir 10.80.0.6, un apstiprinātais attālais resurss ir 172.20.0.30. Šai formai atbilst divi modeļi: saglabāt lejupstraumes avotu un panākt, ka tālā puse to maršrutē, vai pārtulkot avotu uz pašas vārtejas tuneļa adresi. Viss pēc šī lēmuma ir mehānisks, un pašam lēmumam vajadzīgs pakalpojuma īpašnieks. Viena rinda augstāk ir maršrutēšanas vienošanās ar tālo pusi; otra ir lokāla politikas maiņa, ko vari veikt viens. Tieši šo divu sajaukšana desmit minūšu izmaiņas pārvērš sarunās.

preserved:  10.90.0.23 -> 172.20.0.30
translated: 10.80.0.6  -> 172.20.0.30

Izvēlies vienu rindu un turi pie tās. Rindas ir alternatīvas, nevis soļi, un to sajaukšana rada projektu, ko pārskatā neviens nevar izskaidrot.

Maršrutēta avota saglabāšana

Tālā puse saņem pieprasījumu no lejupstraumes adreses, tāpēc tai vajag atbalstītu maršrutu un peer īpašumtiesības uz šo apakštīklu, kā arī atļauju to pieņemt. Tie ir attālināti iestatījumi, un neviens lokāls Linux maršruts tos neizveido. Pieprasi tos skaidri un rakstiski, kopā ar prefiksu un to tuneļa peer, kas to nesīs, un rēķinies, ka atbilde būs atkarīga no tā, vai pakalpojums vispār atbalsta vietņu savienojumus.

Ja atbilde ir jā, lokālā konfigurācija ir neliela: pārsūtīšana ieslēgta, lejupstraumes diapazonu aptverošie WireGuard peer allowed-ips, un ugunsmūra politika, kas atļauj šķērsošanu abos virzienos.

Apzināta avota tulkošana

Ja pakalpojums atgriež trafiku tikai pievienotā klienta adresei, izejot pārtulko avotu uz šo adresi un saglabā conntrack stāvokli, kas to apgriež atbildēm. Ierobežo noteikumu ar paredzētajiem lejupstraumes avotiem, paredzētajiem attālajiem galamērķiem un augšupstraumes saskarni. Noteikums, kas pārtulko visu, kas iziet no katras saskarnes, ir daudz lielāka politika par šo prasību, un tas tevi vēlāk pārsteigs.

IPv6 vajag savu projektu; IPv4 masquerade rindas kopēšana nav arhitektūra. Pārbaudi pārtulkoto ceļu ar jaunu savienojumu, nevis kešatmiņā saglabātu.

Lokālajam datu ceļam joprojām jādarbojas

Tulkošana neatceļ lokālo darbu: vārtejai joprojām vajag maršrutu uz lejupstraumes galamērķiem, pareizas WireGuard peer avota īpašumtiesības, ieslēgtu pārsūtīšanu un šauru ugunsmūra politiku starp saskarnēm. Pieprasījums, kas radīts pašā vārtejā, nepārbauda nevienu no šīm atļaujām, tāpēc lokālie testi vārtejā iztur, bet lejupstraumes ierīces joprojām neizdodas.

Pārbaudi no īstas lejupstraumes ierīces, nevis no vārtejas. Avota adrese ir visa šī vingrinājuma jēga.

Viens avots nozīmē vienu sesijas identitāti

Attālais pakalpojums redz vārtejas autentificēto sesiju un tās pārtulkoto adresi, nevis neatkarīgu autentifikāciju katrai lejupstraumes ierīcei. Turi skaidras atļaujas katrai ierīcei un lietojumprogrammu identitātes, un apstiprini pie pakalpojuma īpašnieka, ka vārteja, kas darbojas vairāku ierīču vārdā, vispār ir atļauta. Tulkošana nav veids, kā apiet prasību reģistrēt katru ierīci; ja pakalpojums pieprasa katras ierīces reģistrāciju, izmanto šo modeli vai vienojies par vietņu savienojumu.

Ieraksti šo apstiprinājumu runbook blakus noteikumam, jo nākamais pārskatītājs jautās, vai projekts tika apstiprināts vai vienkārši bija ērts.

Definē atvienoto stāvokli, tad pārbaudi trīs pieprasījumus

Izlem, kas notiek, kad augšupstraumes tunelis nokrīt. Atļautajai attālajai trafika plūsmai nevajadzētu klusi sekot parastajam WAN rezerves ceļam tur, kur tas ir aizliegts, tāpēc ugunsmūra politikai, kas atļauj šķērsošanu, arī jāizgāžas slēgti. Pēc tam pārbaudi trīs gadījumus no īstas lejupstraumes ierīces: strādājošs atļauts pieprasījums, neizdevies aizliegts pieprasījums un augšupstraumes bojājums, kas aptur atļauto.

Pieraksti atritināšanu vienā rindā uz katru noteikumu, lai izmaiņas varētu atcelt, nerekonstruējot nodomu.

Saistītie raksti