Suuna VPN-ist mööda ainult üks kohalik veebiteenus pordi järgi
Otsustage, kas lähtepordi reegel saab suunata ühe hosti teenuse WAN-i, samal ajal kui ülejäänud host jätkab VPN-i kasutamist, ja mis see maksab.
Üks hosti teenus peab vastama internetile füüsilise ülesvoolu lingi kaudu, samal ajal kui kõik muu masinas jätkab tunnelit. Kolm tingimust otsustavad, kas poliitikal põhinev marsruutimine suudab seda koormust kanda, ja igaüht on odav kontrollida enne reegli kirjutamist. Teenus peab lõppema sellel hostil, mitte DNAT-i ega edasisaadetud pordi taga, VPN-i enda reeglid peavad erandit lubama, ja te peate sobitama vastust, mitte päringut. Kui ükskõik milline kolmest ebaõnnestub, laadivad allolevad käsud vigadeta, kuid ei tee midagi kasulikku.
Kontrollige kolme tingimust enne reegli kirjutamist
Konteiner, mis avaldab pordi DNAT-i kaudu, või server pordiedastuse taga, toodab pakette, mis ei pärine sellelt hostilt. Need paketid edastatakse, seega hosti kohalikule sisendile suunatud reegel ei näe neid kunagi ja liiklus jätkab vaikimisi marsruudi kasutamist. Kinnitage, kus teenus tegelikult töötab, enne kui jätkate, sest see on tingimus, millega inimesed kõige sagedamini eksivad.
Teine tingimus on poliitika, mitte mehaanika. Iga marsruut, mis tunnelist mööda läheb, on erand tunneli eesmärgist, ja hallatud hostil kuulub see otsus poliitika omanikule, mitte inimesele, kes ajalõppu silub.
Sobitage vastust, mitte kliendi sihtporti
TCP 443 kuulava serveri vastus väljub hostist lähtepordiga 443. Sama hosti brauser, mis ühendub kaugesse HTTPS-saiti, saadab efemeerse lähtepordi ja sihtpordi 443. Mõlemad on pordi 443 liiklus ja ainult üks neist peaks WAN-tabeli võtma, seepärast haaraks sihtpordi sobivus vale poole.
Vastuse suund on see, mida saate eristada. Sobitage lähteporti, piirake reegel kohapeal loodud pakettidega, ja reegel katab teenuse enda vastused brauseri päringuid puutumata.
Ehitage täielik tagastustabel enne, kui reegel sellele osutab
Tühi tabel tähendab marsruuti pole, mis näeb välja nagu katkine teenus, mitte katkine poliitika. Täitke see kõigepealt tabelinumbri ja prioriteediga, mida miski muu hostil ei nõua:
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
Lugege numbrid elavalt hostilt, mitte ärge kopeerige neid. ip -4 rule show ütleb teile, millised prioriteedid on hõivatud, ja juba olemasolevale prioriteedile reegli lisamine muudab vaikselt kahe reegli järjekorda, mis eraldi vaadates korras paistavad.
Päris töö teevad siin kaks valijat. iif lo on viis, kuidas tuum teatab pakettidest, mille host ise lõi, nii et reegel ei saa kogemata haarata väljast saabuvat edastatud liiklust. ipproto tcp sport 443 ahendab selle ühele transpordile ja ühele pordile, mis on nii kitsas, kui nõue lubab. Eemaldage protokollivalija ja reegel haarab ka UDP 443, mis on teine teenus teistsuguse käitumisega.
Hoidke privaatsed vastused tunneli sees
Kui sama kuulaja vastab ka privaatsel poolel olevatele klientidele, üritab tabelis 100 kõike haarav WAN-i vaikimisi marsruut neid vastuseid ülesvoolu lingi kaudu tagasi saata. Lisage privaatsed prefiksid, mis ei tohi WAN-i vaikimisi marsruuti järgida, või laske neil langeda järgmisele poliitikareeglile:
ip -4 route add table 100 throw 10.90.0.0/24
Throw-marsruut lõpetab selles tabelis otsingu ja annab paketi reeglite loendile tagasi, nii et järgnev VPN-poliitika saab oma võimaluse. See ise ei suuna midagi tunnelisse, ja kui ühelgi hilisemal reeglil pole sobivat marsruuti, ebaõnnestub pakett siiski; kontrollige järgmist poliitikat, mitte ärge eeldage, et throw on parandus.
Vastassuuna filtreerimine ja hosti tulemüürireeglid kehtivad saabuva päringu suhtes endiselt. Vaadake nende tegelikke otsuseid enne valideerimise lõdvendamist, sest marsruudierand ei tee nii, et rp_filter võtaks vastu tagasitee, mida peab võimatuks.
Testige TCP-d, seejärel QUIC-ut, seejärel taaskäivitust
Avage üks ühendus volitatud välisest kliendist ja üks privaatselt poolelt, seejärel uurige vastuse otsingut tegelike aadresside ja portidega. Kui väline vastus võtab tabeli 100 ja privaatne mitte, teeb poliitika seda, mida palusite.
HTTP/3 serveeritakse UDP kaudu ja TCP-reegel ei sobi sellega, seega vajab QUIC-kuulaja oma valijat, muidu jätkab see tunneli kasutamist, samal ajal kui HTTPS töötab. Salvestage reeglid, millele jääte, liidese omanikuks olevasse komponenti, ja kinnitage need uuesti ühendamise või DHCP uuendamise järel. Kui konkureeriv haldur eemaldab pärast taaskäivitust tööajalise marsruudi, on see omandiõiguse probleem, mis tuleb allikas parandada, mitte põhjus lisada peale laiemaid NAT-reegleid.