Maršrutēšanas noteikums nolasa pakešu atzīmi, nevis conntrack
Uz politiku balstīta maršrutēšana nolasa pakešu atzīmi; conntrack glabā citu vērtību ar ilgāku mūžu. Kopēšana starp tiem ir solis, kas kādam jāuzraksta.
Četras pārbaudes atšķir strādājošu atzīmes noteikumu no strādājoša maršruta: kuru atzīmi noteikums nolasa, vai pakete to vēl joprojām nes meklēšanas brīdī, vai vēlākajām paketēm tika atjaunota savienojuma atzīme un vai vai atbilstošā noteikuma maska un prioritāte ļauj tam iedarboties. Augošs skaitītājs pierāda tikai to, ka kāds noteikums ar kaut ko saskaņojās. Tas neko nepasaka par to, ko pakete nesa, kad kodols izvēlējās tās ceļu.
Abas atzīmes dzīvo dažādās vietās un beidzas pēc dažādiem grafikiem.
Divas atzīmes, divas dzīves
Pakešu atzīme pieder vienam skb, ceļo kopā ar to cauri āķiem, un to patērē uz politiku balstītas maršrutēšanas fwmark atlasītājs. Savienojuma atzīme pieder conntrack ierakstam, saglabājas visās šī plūsmas paketēs un maršrutēšanas noteikumam ir neredzama, līdz kaut kas to nokopē atpakaļ. Pakešu atzīmes saglabāšana savienojumā ir glabāšana; tās atjaunošana ir atsevišķa darbība. Neviens no tiem nenotiek pats no sevis.
Tāpēc noteikumu kopa var izskatīties konsekventa, kamēr maršruta lēmums redz nulli: vērtība tika saglabāta, un nekas to neatjaunoja.
Kopēšana starp tiem ir solis, ko rakstāt jūs
Divi svarīgie apgalvojumi darbojas pretējos virzienos: viens saglabā paketes atzīmi savienojumā, otrs ielādē savienojuma atzīmi paketē. Kuru jums vajag, atkarīgs no tā, kad klasifikācija notiek attiecībā pret plūsmu. Dizainam var būt vajadzīga tikai pakešu atzīme, un conntrack marķējuma pievienošana tāpēc, ka kāds apietas risinājums izmantoja abus, ir veids, kā vienkārša politika iegūst otru atteices režīmu.
ct mark set meta mark meta mark set ct mark
Pierakstiet virzienu blakus noteikumam, jo tas no sintakses no pirmā acu uzmetiena nav acīmredzams. Pirmā rinda saglabā, otrā atjauno, un neviena neietver otru.
Klasificējiet pirms meklēšanas, kas to patērē
Lokāli ģenerētais trafiks un no LAN pārsūtītais trafiks iet cauri dažādiem āķiem un maršruta lēmumus sasniedz dažādos brīžos. Izvades noteikums, kas darbojas paša maršrutētāja savienojumiem, nepierāda, ka pārsūtītā klienta pakete tika marķēta pirms tās meklēšanas. Novietojiet klasifikāciju tur, kur to patērējošā meklēšana vēl nav notikusi, un pārbaudiet, vai vēlākie noteikumi tajā pašā ķēdē nepārraksta vērtību. Secība ķēdē ir konfigurācijas daļa, nevis ieviešanas detaļa.
Savienojuma stāvokļa noturībai arī vajadzīgs skaidrs plāns. Ja tiek klasificēta tikai pirmā plūsmas pakete, vēlākajām paketēm vajadzīga saglabātās atzīmes atjaunošana, citādi tās ies neatzīmēto ceļu. Tā ir atšķirība starp atzīmi, kas apraksta savienojumu, un atzīmi, kas apraksta paketi.
Uzdodiet maršrutam marķētu jautājumu
ip route get 10.77.0.10 mark 0x2
Pārbaudiet noteikumus un tabulu, tad vaicājiet maršrutam, iekļaujot atzīmi, kā arī avotu vai ienākošo saskarni, ja tie ietekmē politiku. Parasta meklēšana bez atzīmes atbild uz citu jautājumu un labprāt ziņos par ceļu, kuru jūs negribējāt. Pārbaudiet noteikuma masku un prioritāti, kā arī tā vērtību, un apstipriniet, ka izvēlētajā tabulā ir lietojams maršruts.
Augošs skaitītājs ir pierādījums, ka kāds noteikums saskaņojās ar kādu paketi. Tas nav pierādījums, ka galīgā pakete nesa paredzēto atzīmi pareizajā lēmuma punktā.
Lasiet atzīmi, virzienu, laiku un masku. Četras pārbaudes, un maršruts pārstāj būt noslēpums.