Divi klienti vienā serverī apmainās ar failiem, pārsūtīšana izdodas, un katrs pārsūtīšanas noteikums, kas vērsts uz tuneli, ziņo par nulli pakešu. Noteikumi nav salauzti un ķēde nav nepareizā vietā. Kad pārsūtīšana starp vienaudžiem ir ieslēgta, pakete tiek piegādāta servera procesa iekšienē un resursdatora steks nekad nekļūst par maršrutētāju, tāpēc kodola ugunsmūrim nav ko skaitīt. Šī sadalījuma izpratne nosaka, vai jūs paturēsiet īso ceļu vai pārbūvēsiet ceļu caur kodolu.

Izsekojiet vienai paketei caur serveri

Maršrutētā tunelī dēmons nodod katra klienta atšifrēto paketi tuneļa ierīcei. No turienes resursdators to maršrutē, darbojas pārsūtīšanas āķis, un noteikums, kas atbilst tuneļa ierīcei, var skaitīt vai nomest datplūsmu. Tas ir ceļš, ko pieņem lielākā daļa ugunsmūra piemēru.

Forwarding pathWho decidesWhat the host firewall sees
Kernel routing between clientsHost routing table and forward rulesEvery inner packet, with interface names
Peer forwarding inside the server processThe VPN daemon's own peer tableOnly the outer encrypted transport

Īsais ceļš izņem resursdatoru no vidus. Vienas sesijas atšifrētā pakete tiek nodota citai sesijai dēmona iekšienē, un iekšējā pakete nekad netiek izdota uz tuneļa ierīci un resursdators to nemaršrutē. Iekapsulētā datplūsma joprojām šķērso fizisko saskarni, tāpēc ārējs uztvērums izskatās aizņemts, kamēr iekšējie noteikumi klusē. Uztvērums, kas veikts uz tuneļa ierīces, neparāda pilnīgi neko, kas pārsteidz ikvienu, kurš tur gaida redzēt pārsūtīšanu. Šī asimetrija ir ātrākais veids, kā atpazīt īso ceļu ārpus dēmona.

Skaitītāja tests, kas nosaka, kurš ceļš tika izmantots

Pievienojiet skaitītāju noteikumam, kuram būtu jādarbojas, palaidiet pārsūtīšanu starp diviem klientiem, kurus šim noteikumam vajadzētu bloķēt, un pēc tam nolasiet skaitītāju.

sudo nft list ruleset
sudo nft add rule inet filter forward iifname "tun0" oifname "tun0" counter accept
sudo nft list chain inet filter forward

Ja pārsūtīšana izdodas un skaitītājs paliek uz nulles, kodols nekad nav apstrādājis šīs paketes, un nekāda noteikumu rediģēšana to nemainīs. Atkārtojiet to pašu testu pret pakalpojumu pašā serverī, jo šī plūsma tiešām šķērso resursdatora steku un tās skaitītājs kustas. Tieši divu rezultātu salīdzināšana sniedz atbildi.

Divi sīkumi novērš kļūdainu nolasījumu. Saskarnes nosaukums, kas ierakstīts ķēdes etiķetē, pats par sevi neko nefiltrē, jo atbilstība notiek uz saskarnes laukiem noteikumu iekšienē. Un savienots 2. slāņa risinājums uzvedas vēl citādi: tur klienti dala vienu apraides domēnu, tāpēc vienaudžu atklāšana ir gaidāma, nevis maršrutēšanas defekts.

Komutators nav piekļuves saraksts

Šī ir daļa, kas izmaksā pēcpusdienu. Pārsūtīšana starp vienaudžiem ir viens ieslēgšanas vai izslēgšanas iestatījums, un, kamēr tas ir ieslēgts, dēmons ir vienīgais pārsūtīšanas punkts. Resursdatora ugunsmūris nevar izteikt, kurš ko drīkst sasniegt, un faili pa klientiem nepārvērš komutatoru par politikas matricu.

Ja jums vajag noteikumus katram vienaudzim, izvēle ir starp atteikšanos no īsā ceļa un atteikšanos no resursdatora ugunsmūra kā vadības līdzekļa. To izslēdzot, tiek atjaunota kodola pārsūtīšana, kas prasa IP pārsūtīšanu serverī un skaidrus noteikumus vēlamajām plūsmām. To atstājot ieslēgtu, politika dzīvo dēmona konfigurācijā, kas praksē nozīmē visus vienaudžus vai nevienu.

Atsevišķi servera procesi ar saviem adrešu baseiniem un portiem ir iespējamais vidusceļš. Katrs process nes tieši vienu piekļuves lēmumu, tāpēc divas grupas var būt ar dažādiem noteikumiem bez politikas matricas. Resursdators var maršrutēt starp baseiniem, ja tas ir iecerēts, un tad ugunsmūris redz šīs plūsmas, jo tās šķērso resursdatoru. Cena ir papildu porti, papildu sertifikāti un profils katrai grupai.

Pārsūtīšanas punkta izvēle

Izvēlieties kodola pārsūtīšanu, ja ugunsmūris ir politikas dzinējs, ja jums vajag reģistrēšanu pa plūsmām vai ja uzskaite ir svarīga. Cena ir caurlaidība caur resursdatora steku un vairāk noteikumu uzturēšanai. Ieguvums ir tāds, ka katrs esošais rīks, no skaitītājiem līdz plūsmu eksportētājiem, atkal apraksta datplūsmu. Mazā serverī šī cena ir neredzama; noslogotā relejā tā nav.

Izvēlieties pārsūtīšanu procesa iekšienē, ja datplūsma starp vienaudžiem ir vai nu pilnībā atļauta, vai pilnībā aizliegta un serveris tam ir izmērīts. Cena ir tā, ka skaitītāji, rindu disciplīnas un savienojumu izsekošana vairs neapraksta iekšējās plūsmas; tas ir pieņemami tikai tad, ja vēlāk neviens uz tiem nepaļaujas.

Lai ko jūs izvēlētos, pierakstiet to blakus ugunsmūra noteikumiem. Noteikumu kopums, kas izskatās, ka atļauj datplūsmu starp vienaudžiem, kamēr dēmons to tik un tā izlemj, maldina nākamo cilvēku, kurš atklūgs neizdevušos pārsūtīšanu. Ikviens, kas lasa tikai noteikumus, pieņems, ka kodols ir vārti.

Kas jāpārbauda pirms noteikumu maiņas

Lasiet konfigurāciju, ko serveris patiešām ielādēja, nevis failu, kuru atceraties rediģējis, un apstipriniet, vai vienaudžu opcija ir. Ja to mainījāt, pārliecinieties, ka pakalpojums pārlaadējās, nevis tikai pārrakstīja failu diskā.

Pēc tam atkārtojiet testu ar plūsmu no klienta uz serveri, lai pierādītu, ka noteikums vispār atbilst, un pārbaudiet nosūtītos maršrutus, jo trūkstošs maršruts no klienta puses izskatās tieši kā ugunsmūra bloķēšana. Noteikumu secību mainiet tikai pēc tam, kad zināt, kuram pārsūtīšanas punktam pieder lēmums.

Saistītie raksti