Четири провере раздвајају исправно правило ознаке од исправне путање: коју ознаку правило чита, да ли је пакет још носи при претрази, да ли је ознака везе враћена на касније пакете и да ли да ли маска и приоритет одговарајућег правила дозвољавају да се оно активира. Бројач који расте доказује само да се неко правило поклопило са нечим. Он не говори ништа о томе шта је пакет носио када је језгро бирало његов пут.

Две ознаке живе на различитим местима и истичу по различитим распоредима.

Две ознаке, два живота

Ознака пакета припада једном skb-у, путује с њим кроз куке и троши је fwmark бирач преусмеравања по политици. Ознака везе припада запису conntrack, опстаје кроз пакете тог тока и невидљива је правилу преусмеравања док је нешто не копира назад. Чување ознаке пакета у вези је чување; враћање је одвојена радња. Ни једно се не дешава само по себи.

Зато скуп правила може изгледати доследно док одлука о путањи види нулу: вредност је сачувана и ништа је није вратило.

Копирање између њих је корак који пишете ви

Две важне наредбе иду у супротним смеровима: једна чува ознаку пакета у вези, друга учитава ознаку везе на пакет. Која вам је потребна зависи од тога када се класификација дешава у односу на ток. Пројекат може захтевати само ознаку пакета, а додавање означавања кроз conntrack зато што је неко заобилазно решење користило оба је начин на који једноставна политика добија други режим отказа.

ct mark set meta mark
meta mark set ct mark

Запишите смер поред правила, јер он није очигледан из синтаксе на први поглед. Први ред чува, други враћа и ни један не подразумева онај други.

Класификујте пре претраге која то троши

Локално генерисан саобраћај и саобраћај прослеђен са LAN-а пролазе кроз различите куке и до одлука о путањи стижу у различитим тренуцима. Излазно правило које ради за сопствене везе рутера не доказује да је пакет прослеђеног клијента означен пре своје претраге. Поставите класификацију тамо где се претрага која је троши још није догодила, и проверите да ли каснија правила у истом ланцу преписују вредност. Редослед унутар ланца је део конфигурације, а не детаљ имплементације.

Трајност стања везе такође тражи јасан план. Ако се класификује само први пакет тока, каснији пакети траже враћање сачуване ознаке, иначе ће кренути путем без ознаке. То је разлика између ознаке која описује везу и ознаке која описује пакет.

Питајте путању означеним питањем

ip route get 10.77.0.10 mark 0x2

Прегледајте правила и табелу, па питајте путању са укљученом ознаком, уз извор или улазни интерфејс када они утичу на политику. Обична претрага без ознаке одговара на друго питање и радо ће пријавити пут који нисте желели. Проверите маску и приоритет правила, као и његову вредност, и потврдите да изабрана табела садржи употребљиву путању.

Бројач који расте је доказ да се неко правило поклопило са неким пакетом. То није доказ да је коначни пакет носио жељену ознаку на правом месту одлуке.

Прочитајте ознаку, смер, време и маску. Четири провере и путања престаје да буде мистерија.

Повезани чланци