Marsruudireegel loeb paketi märgist, mitte conntracki
Poliitikapõhine marsruutimine loeb paketi märgist; conntrack hoiab teistsugust väärtust, mille eluiga on pikem. Nende vahel kopeerimine on samm, mille peab keegi kirjutama.
Neli kontrolli eristavad töötavat märgireeglit töötavast marsruudist: millist märki reegel loeb, kas pakett kannab seda veel otsingu hetkel, kas ühenduse märk taastati hilisematele pakettidele ja kas kas sobiva reegli mask ja prioriteet lubavad sellel rakenduda. Loendur, mis kasvab, tõestab ainult seda, et mõni reegel vastas millelegi. See ei ütle midagi selle kohta, mida pakett kandis, kui tuum valis selle tee.
Kaks märki elavad eri kohtades ja aeguvad eri graafikute järgi.
Kaks märki, kaks eluiga
Paketi märk kuulub ühele skb-le, reisib sellega kaasa läbi konksude ja seda tarbib poliitikapõhise marsruutimise fwmark-valija. Ühenduse märk kuulub conntrack-kirjele, püsib läbi selle voo pakettide ja on marsruudireeglile nähtamatu, kuni miski selle tagasi kopeerib. Paketi märgi salvestamine ühendusse on salvestus; selle taastamine on eraldi toiming. Kumbki ei juhtu iseenesest.
Seetõttu võib reeglistik tunduda ühtlane, samal ajal kui marsruudiotsus näeb nulli: väärtus salvestati ja miski ei taastanud seda.
Nende vahel kopeerimine on samm, mille kirjutate teie
Kaks olulist lauset töötavad vastassuundades: üks salvestab paketi märgi ühendusse, teine laeb ühenduse märgi paketile. Millist vajate, sõltub sellest, millal klassifitseerimine voo suhtes toimub. Kujundus võib vajada ainult paketi märki, ja conntrack-märgistuse lisamine sellepärast, et mingi ajutine lahendus kasutas mõlemat, on viis, kuidas lihtne poliitika omandab teise rikkerežiimi.
ct mark set meta mark meta mark set ct mark
Kirjutage suund reegli kõrvale, sest süntaksist ei ole see esmapilgul ilmne. Esimene rida salvestab, teine taastab ja kumbki ei eelda teist.
Klassifitseerige enne otsingut, mis seda tarbib
Kohapeal loodud liiklus ja LAN-ist edastatud liiklus läbivad eri konksud ja jõuavad marsruudiotsusteni eri hetkedel. Väljundreegel, mis töötab ruuteri enda ühenduste jaoks, ei tõesta, et edastatud kliendi pakett märgistati enne selle otsingut. Asetage klassifitseerimine sinna, kus seda tarbiv otsing pole veel toimunud, ja kontrollige, kas sama ahela hilisemad reeglid väärtuse üle kirjutavad. Järjekord ahelas on konfiguratsiooni osa, mitte teostuse detail.
Ühenduse oleku püsivus vajab samuti selget plaani. Kui klassifitseeritakse ainult voo esimene pakett, vajavad hilisemad paketid salvestatud märgi taastamist, muidu lähevad need märgita teed. See on vahe ühendust kirjeldava märgi ja paketti kirjeldava märgi vahel.
Küsige marsruudilt märgistatud küsimus
ip route get 10.77.0.10 mark 0x2
Vaadake reeglid ja tabel üle, seejärel küsige marsruuti koos märgiga, lisades ka allika või sissetuleva liidese, kui need poliitikat mõjutavad. Tavaline märgita otsing vastab teisele küsimusele ja teatab hea meelega tee, mida te ei tahtnud. Kontrollige reegli maski ja prioriteeti ning ka selle väärtust, ja veenduge, et valitud tabel sisaldab kasutatavat marsruuti.
Kasvav loendur on tõend, et mõni reegel vastas mõnele paketile. See ei ole tõend, et lõplik pakett kandis kavatsetud märki õiges otsustuspunktis.
Lugege märki, suunda, aega ja maski. Neli kontrolli ja marsruut lakkab olemast mõistatus.