Mida poliitikapõhine marsruutimine VPN-liikluses muudab ja mida mitte
Reeglid valivad, millist tabelit vaadatakse, seega peamise tabeli vaikimisi marsruut ei seleta sageli midagi. Lugege prioriteete, märgiseid ja allikaid koos enne reegli lisamist.
Poliitikapõhine marsruutimine vastab teisele küsimusele kui see, mille esitavad enamik tõrkeotsingu märkmeid. Põhitabel ütleb, kuhu sihtkoht läheb; poliitikareeglid ütlevad, millist tabelit üldse vaadatakse, ja nad saavad seda otsustada lähteaadressi, paketi märgise, või liidese järgi, millele pakett saabus. Kui tunnel käitub ebajärjekindlalt, on reeglistik sageli põhjus ja marsruutimistabel sageli mitte.
Reeglid valivad tabeli, seejärel valib tabel marsruudi
Igal reeglil on prioriteet, sobivustingimus ja sihttabel. Kern läbib reeglid prioriteedi järjekorras ja peatub esimese sobivuse juures, seejärel teeb tavalise pikima prefiksi otsingu selles tabelis. Tühjale tabelile osutav reegel langeb läbi sellele, mille valib järgmine reegel, ja nii võib hoolikalt kirjutatud reegel näida, nagu ei teeks see midagi.
Seepärast selgitab põhitabeli väljavõte harva töötavat VPN-klienti. Kliendid lisavad reegleid tavaliselt madalatele prioriteedinumeroitele, palju enne põhitabeli vaikereeglit, nii et pakett ei jõua kunagi marsruudini, mida te silmitsesite. Põhitabelis meetrika vähendamine ei muuda midagi liikluse jaoks, mis oli juba ümber suunatud.
Reegel võib ka tahtlikult muuta prefiksi mustaks auguks või kättesaamatuks. Mõned kliendid lisavad sellise reegli turvaklambina, ja siis näeb langemine välja nagu katkine tunnel, mitte nagu seadistatud.
Lugege reeglistikku jadana, mitte loendina
Trükkige reeglid koos nende prioriteetide ja tabelitega, millele need viitavad, seejärel trükkige iga tabel, mis kannab vaike- või tunnelimarsruuti. Järjekord on see osa, mis loeb, ja see on osa, mille ekraanipilt tavaliselt välja jätab:
ip rule show ip route show table all | sed -n '1,60p' ip route get 198.51.100.20 from 10.8.0.2 ip route get 198.51.100.20 from 10.8.0.2 mark 0x1
Kaks viimast käsku on need, mis muudavad teooria vaatluseks, sest need küsivad, mida kern teeks selle allika ja selle märgise jaoks. Kui vastus muutub, kui märgis muutub, on mängus märgisepõhine reegel ja iga test, mis märgise välja jätab, testib teist paketti. Väline ühendus väärib omaette reeglit. Tunnel, mis marsruudib kogu liikluse läbi iseenda, peab välistama lõpp-punkti aadressi, millega see ühendub, muidu saadetakse krüptitud paketid tagasi tunnelisse, mille nad just lahkusid. Enamik kliente lisab selle välistuse automaatselt, ja käsitsi muudetud reeglistik on koht, kus see puudub.
Märgised ja soklid: kaks viisi, kuidas kliendid liiklust jagavad
Mõned kliendid märgistavad pakette tulemüüris ja lisavad reegli, mis märgisega sobib. Teised kasutavad marsruutimist sokli tasandil, seades marsruudi soklile enne selle ühendumist. Esimene on nähtav väljundis ip rule; teine ei ole, ja see ei ilmu üldises otsingus.
Kui testprogramm käitub teisiti kui rakendus, mida see peaks esindama, kontrollige, kas rakendus seab märgise või seob end seadmega. See erinevus pole mõistatus, kui mehhanism on nimetatud, ja see selgitab, miks curl kestast ja brauseri vaheleht võivad samas masinas minna eri teid. Mõlemad tehnikad on poliitikapõhine marsruutimine laiemas tähenduses: need valivad tee millegi muu kui sihtkoha abil. Kumbki neist ei volita liiklust ja kumbki ei asenda tulemüürireegleid ega volitusi, mida partner ootab.
Jälgige omandit enne veel ühe reegli lisamist
Reeglid paigaldab miski. VPN-klient, võrguhaldur ja käsitsi kirjutatud skript võivad igaüks käivitamisel reegleid lisada, ja taasthenduse loogika võib jätta eelmise komplekti maha. Kaks vananenud reeglit varasemast profiilist juhivad liiklust veel kaua pärast profiili kustutamist.
Leidke, milline protsess reeglit omab, selle prioriteedi ja kuju järgi, ja kontrollige, kas see omanik kirjutab komplekti igal ühendusel üle. Kui kirjutab, siis täna lisatud käsitsi reegel kaob homme, ja parandus kuulub kliendi konfiguratsiooni, mitte kesta ajaloo faili. Kogu reeglistiku tühjendamine testimiseks on ahvatlev otsetee ettearvatava hinnaga: see eemaldab ka reeglid, mida klient vajab omaenda tunneli töös hoidmiseks. Kustutage üks reegel korraga või testige masinas, mida saate taaskäivitada.
Tõestage ulatust kahe vooluga, mitte ühega
Parandust kontrollib ainult vool, mida peaks mõjutama, ja vool, mida ei peaks. Valige sihtkoht, mille poliitika suunab tunnelisse, ja üks, mis peab jääma välja, seejärel võrrelge otsinguid ja püüdmisi mõlema jaoks:
ip route get 198.51.100.20 from 192.0.2.44 ip route get 198.51.100.21 from 192.0.2.44 tcpdump -ni any host 198.51.100.21 and port 443
Kui kaks otsingut tagastavad erinevad liidesed, teeb reegel midagi. Kui need tagastavad sama liidese, sobib reegel laiemalt kui kavatseti, ja see on tõrge, mis saadab vaikselt terve alavõrgu läbi ühele rakendusele mõeldud tunneli.
Märkige reeglite prioriteedid ja neid omav teenus piletisse, koos kahe testaadressiga. Järgmisel inimesel on siis korratav paar, mitte sümptomi kirjeldus, ja ta saab minutiga öelda, kas poliitikapõhine marsruutimine on veel mängus.