Ena storitev gostitelja mora odgovarjati internetu prek fizične vzponske povezave, medtem ko vse ostalo na stroju še naprej uporablja tunel. Trije pogoji odločajo, ali lahko usmerjanje na podlagi pravilnikov prenese to obremenitev, in vsakega je pred pisanjem pravila poceni preveriti. Storitev se mora končati na tem gostitelju, ne za DNAT ali preusmerjenimi vrati, lastna pravila VPN morajo dovoliti izjemo, in primerjati morate odgovor, ne zahteve. Če spodleti kateri koli od treh, se ukazi spodaj naložijo brez napak, a ne naredijo nič koristnega.

Pred pisanjem pravila preverite tri pogoje

Vsebnik, ki objavi vrata prek DNAT, ali strežnik za preusmeritvijo vrat, ustvarja pakete, ki ne nastanejo na tem gostitelju. Ti paketi se posredujejo, zato pravilo, vezano na lokalni vhod gostitelja, jih nikoli ne vidi in promet še naprej uporablja privzeto pot. Preden nadaljujete, potrdite, kje storitev dejansko teče, saj je to pogoj, pri katerem se ljudje najpogosteje zmotijo.

Drugi pogoj je politika, ne mehanika. Vsaka pot, ki obide tunel, je izjema od namena tunela, na upravljanem gostitelju pa ta odločitev pripada tistemu, ki ima politiko, ne osebi, ki odpravlja težavo s časovno omejitvijo.

Primerjajte odgovor, ne ciljnih vrat odjemalca

Odgovor strežnika, ki posluša na TCP 443, zapusti gostitelja z izvornimi vrati 443. Brskalnik na istem gostitelju, ki se poveže z oddaljenim spletnim mestom HTTPS, pošlje kratkotrajna izvorna vrata in ciljna vrata 443. Oboje je promet vrat 443 in le ena od njiju bi morala uporabiti tabelo WAN, zato bi ujemanje ciljnih vrat zajelo napačno polovico.

Smer odgovora je tisto, kar lahko razlikujete. Primerjajte izvorna vrata, omejite pravilo na lokalno ustvarjene pakete, in pravilo pokrije lastne odgovore storitve, ne da bi se dotaknilo zahtev brskalnika.

Preden pravilo pokaže na tabelo, zgradite popolno povratno tabelo

Prazna tabela pomeni ni poti, kar je videti kot pokvarjena storitev, ne pokvarjena politika. Najprej jo napolnite s številko tabele in prioriteto, ki ju nič drugo na gostitelju ne zahteva:

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

Številke berite z živega gostitelja, namesto da jih kopirate. ip -4 rule show vam pove, katere prioritete so zasedene, dodajanje pravila na že obstoječo prioriteto pa tiho spremeni vrstni red dveh pravil, ki vsako zase izgledata v redu.

Pravo delo opravita dva izbirnika. iif lo je način, kako jedro poroča o paketih, ki jih je ustvaril sam gostitelj, zato pravilo ne more slučajno zajeti posredovanega prometa, ki prihaja od zunaj. ipproto tcp sport 443 ga zoži na en transport in ena vrata, kar je tako tesno, kot zahteva dopušča. Odstranite izbirnik protokola in pravilo bo zajelo tudi UDP 443, kar je druga storitev z drugačnim vedenjem.

Zasebne odgovore zadržite v tunelu

Če isti poslušalec odgovarja tudi odjemalcem na zasebni strani, bo privzeta pot WAN, ki ujame vse v tabeli 100, poskušala te odgovore vrniti po vzponski povezavi. Dodajte zasebne predpone, ki ne smejo slediti privzeti poti WAN, ali jim dovolite, da padejo na naslednje pravilo politike:

ip -4 route add table 100 throw 10.90.0.0/24

Pot throw konča iskanje v tej tabeli in vrne paket seznamu pravil, zato naslednja politika VPN dobi svojo priložnost. Sama ne usmerja ničesar v tunel, in če nobeno poznejše pravilo nima ustrezne poti, paket vseeno spodleti; preverite naslednjo politiko, namesto da predpostavite, da je throw popravek.

Filtriranje obratne poti in pravila požarnega zidu gostitelja še vedno veljajo za dohodno zahtevo. Poglejte njihove dejanske razsodbe, preden sprostite preverjanje, ker izjema pri usmerjanju ne povzroči, da bi rp_filter sprejel povratno pot, ki se mu zdi nemogoča.

Preizkusite TCP, nato QUIC, nato ponovni zagon

Odprite eno povezavo s pooblaščenega zunanjega odjemalca in eno z zasebne strani, nato preglejte iskanje odgovora z dejanskimi naslovi in vrati. Če zunanji odgovor vzame tabelo 100, zasebni pa ne, politika dela tisto, kar ste zahtevali.

HTTP/3 se streže prek UDP in ga pravilo TCP ne bo ujelo, zato poslušalec QUIC potrebuje svoj izbirnik, sicer bo še naprej uporabljal tunel, medtem ko HTTPS deluje. Shranite pravila, na katerih se ustavite, v komponenti, ki ima vmesnik, in jih potrdite po ponovni povezavi ali obnovitvi DHCP. Ko konkurenčni upravitelj po ponovnem zagonu odstrani izvedbeno pot, je to težava lastništva, ki jo je treba rešiti pri viru, ne razlog za dodajanje širših pravil NAT na vrh.

Sorodni članki