Vienam resursdatora servisam ir jāatbild internetam pa fizisko augšupējo saiti, kamēr viss pārējais mašīnā turpina lietot tuneli. Trīs nosacījumi nosaka, vai uz politiku balstīta maršrutēšana var izturēt šo slodzi, un katru no tiem ir lēti pārbaudīt pirms noteikuma rakstīšanas. Servisam jābeidzas šajā resursdatorā, nevis aiz DNAT vai pārsūtīta porta, paša VPN noteikumiem jāatļauj izņēmums, un jums jāsaskaņo atbilde, nevis pieprasījums. Ja kāds no trim neizdodas, tālāk esošās komandas ielādējas bez kļūdām, bet nedara neko lietderīgu.

Pārbaudiet trīs nosacījumus pirms noteikuma rakstīšanas

Konteiners, kas publicē portu caur DNAT, vai serveris aiz porta pārsūtīšanas, ģenerē paketes, kas nerodas šajā resursdatorā. Šīs paketes tiek pārsūtītas, tāpēc noteikums, kas balstīts uz resursdatora lokālo ievadi, tās nekad neredz un trafiks turpina izmantot noklusējuma maršrutu. Pirms turpināt apstipriniet, kur serviss patiešām darbojas, jo tas ir nosacījums, ko cilvēki visbiežāk sajauc.

Otrais nosacījums ir politika, nevis mehānika. Jebkurš maršruts, kas apiet tuneli, ir tuneļa mērķa izņēmums, un pārvaldītā resursdatorā šo lēmumu pieņem politikas īpašnieks, nevis persona, kas atkļūdo taimautu.

Saskaņojiet atbildi, nevis klienta galamērķa portu

Servera, kas klausās TCP 443, atbilde atstāj resursdatoru ar avota portu 443. Tā paša resursdatora pārlūks, pieslēdzoties attālinātai HTTPS vietnei, sūta īslaicīgu avota portu un galamērķa portu 443. Abi ir 443 porta trafiks, un tikai vienam no tiem vajadzētu izmantot WAN tabulu, tāpēc galamērķa porta saskaņošana satvertu nepareizo pusi.

Atbildes virziens ir tas, ko varat atšķirt. Saskaņojiet avota portu, ierobežojiet noteikumu ar lokāli izveidotām pakaĵām, un noteikums aptver paša servisa atbildes, neaizskarot pārlūka pieprasījumus.

Izveidojiet pilnu atgriešanās tabulu, pirms noteikums uz to norāda

Tukša tabula nozīmē nav maršruta, kas izskatās kā salauzts serviss, nevis salauzta politika. Vispirms to aizpildiet ar tabulas numuru un prioritāti, uz kuriem nekas cits resursdatorā nepretendē:

ip -4 route add table 100 192.0.2.0/24 dev eth0
ip -4 route add table 100 default via 192.0.2.1 dev eth0
ip -4 rule add priority 1000 iif lo ipproto tcp sport 443 lookup 100

Lasiet skaitļus no dzīvā resursdatora, nevis kopējiet tos. ip -4 rule show parāda, kuras prioritātes ir aizņemtas, un noteikuma pievienošana jau esošai prioritātei klusi maina divu noteikumu secību, kas atsevišķi izskatās kārtībā.

Īsto darbu šeit veic divi selektori. iif lo ir veids, kā kodols ziņo par paša resursdatora ģenerētajām pakaĵām, tāpēc noteikums nevar nejauši satvert no ārpuses nākošo pārsūtīto trafiku. ipproto tcp sport 443 sašaurina to līdz vienam transportam un vienam portam, kas ir tik stingri, cik prasība atļauj. Noņemiet protokola selektoru, un noteikums satvers arī UDP 443, kas ir cits serviss ar citu uzvedību.

Turiet privātās atbildes tuneļa iekšpusē

Ja viens un tas pats klausītājs atbild arī privātās puses klientiem, noklusējuma WAN maršruts, kas tabulā 100 satver visu, mēģinās šīs atbildes nosūtīt atpakaļ pa augšupējo saiti. Pievienojiet privātos prefiksus, kuriem nevajadzētu sekot WAN noklusējumam, vai ļaujiet tiem pāriet uz nākamo politikas noteikumu:

ip -4 route add table 100 throw 10.90.0.0/24

Throw maršruts beidz meklēšanu šajā tabulā un atdod paketi noteikumu sarakstam, tāpēc nākamā VPN politika iegūst savu iespēju. Tas pats neko maršrutē tunelī, un, ja nevienam vēlākam noteikumam nav atbilstoša maršruta, pakaĵe tomēr neizdodas; pārbaudiet nākamo politiku, nevis pieņemiet, ka throw ir labojums.

Apgrieztā ceļa filtrēšana un resursdatora ugunsmūra noteikumi joprojām attiecas uz ienākošo pieprasījumu. Apskatiet to faktiskos spriedumus pirms validācijas atslābināšanas, jo maršrutēšanas izņēmums neliek rp_filter pieņemt atgriešanās ceļu, ko tas uzskata par neiespējamu.

Pārbaudiet TCP, tad QUIC, tad pārstartēšanu

Atveriet vienu savienojumu no autorizēta ārējā klienta un vienu no privātās puses, tad pārbaudiet atbildes meklēšanu ar faktiskajām adresēm un portiem. Ja ārējā atbilde izmanto 100 tabulu, bet privātā ne, politika dara to, ko lūdzāt.

HTTP/3 tiek pasniegts pa UDP un netiks saskaņots ar TCP noteikumu, tāpēc QUIC klausītājam vajag savu selektoru, citādi tas turpinās izmantot tuneli, kamēr HTTPS darbojas. Saglabājiet noteikumus, pie kuriem apstājāties, komponentā, kas pārvalda saskarni, un apstipriniet tos pēc atkārtotas pievienošanās vai DHCP atjaunošanas. Kad konkurējošs pārvaldnieks pēc pārstartēšanas noņem izpildlaika maršrutu, tā ir īpašumtiesību problēma, kas jālabo avotā, nevis iemesls pievienot platākus NAT noteikumus virsū.

Saistītie raksti