Ознаки во nftables и VPN рутирање: кое правило навистина победува
Ознака поставена во огнениот ѕид сепак може да ја промаши рутирачката регула. Проверете ја маската на правилото, типот на објектот и другите запишувачи пред да додадете четврто.
Ознаката поставена во nftables треба да испрати една класа сообраќај низ тунелот, но сообраќајот продолжува да излегува низ физичкиот интерфејс. Множеството правила изгледа точно изолирано. Она што обично се случило е дека нешто друго ја запишало истата ознака, или дека рутирачката регула одговара на маска што новата вредност веќе не ја задоволува.
Проверка 1: прочитајте го правилото со кое се совпаѓа јадрото
Започнете со правилото за политика, а не со огнениот ѕид. Јадрото ги прегледува правилата по редослед на приоритет и првото совпаѓање ја одредува табелата. Прочитајте ја вредноста на fwmark и маската од самото правило, потоа потврдете дека пакетот со ознаката што сте ја поставиле навистина се совпаѓа со него. Правило што очекува целосна 32-битна вредност нема да се совпадне со пакет што носи само еден бит.
Потоа потврдете која табела ја избира таа регула и што содржи табелата. Правило што покажува на празна табела предизвикува неуспешно пребарување, што на многу системи значи дека пакетот паѓа на следното правило и излегува низ физичкиот интерфејс.
Две команди го решаваат ова: списокот правила и пребарувањето рута за одредиштето во таа табела.
Проверка 2: ознака на пакет или ознака на врска
nftables може да постави ознака на пакетот и ознака на записот за следење врски, и тие се различни објекти. Ознаката на пакетот живее за време на преминот на обработка на пакетот, додека ознаката на врската останува за текот и мора намерно да се копира. Да се постави едната и да се очекува другата е честа половична поправка.
Ако рутирачката регула се потпира на ознаката на пакетот, враќањето на ознаката на врската подоцна на патеката не прави ништо за таа одлука, бидејќи одлуката веќе е донесена.
Одлучете кој објект го поседува рутирачкиот сигнал, потоа поставете го на местото каде што се носи рутирачката одлука.
Проверка 3: кој друг ја запишува таа ознака
Сопствените алатки на WireGuard ги означуваат своите UDP пакети за шифрираниот транспорт да не се рутира назад во тунелот на кој му припаѓа. Ако вашето множество правила доделува неповрзана вредност на истото поле, тоа исклучување исчезнува и надворешниот сообраќај на тунелот се обидува да влезе во себе. Симптомот е тунел што се воспоставува и потоа престанува да пропушта сообраќај.
Ознаките ги користат и други алатки за огнен ѕид, контејнерското вмрежување и насочувањето по политика за други цели, така што пишувањето на целото поле од два подсистема е конфликт дури и кога секој поединечно е точен.
Наведете ги запишувачите пред да додадете уште еден.
Проверка 4: маската одлучува што задржувате
Ознаката е 32-битно поле, а маските се начинот на кој повеќе сопственици го делат. Поставувањето вредност со маска ги зачувува битовите што не се ваши; поставувањето на целото поле ги уништува битовите на сите други. Прочитајте ја маската во секое правило што го допира полето, вклучително и оние што не сте ги напишале.
Документирајте ја распределбата на битови покрај множеството правила.
Инаку следната личност повторно ќе употреби вредност што веќе има сопственик, а конфликтот овде изгледа како грешка во рутирањето, додека е грешка во адресирањето. Документацијата на nftables за метаподатоци на пакети ги опишува самите операции со ознаки.
Проверка 5: проверете со вистински тек, а не со пребарување
Едноставното пребарување рута не носи ознака, па може да покаже различен пат од вистинскиот пакет. Генерирајте го сообраќајот што ве интересира и набљудувајте ги бројачите, записот за следење врски и интерфејсот низ кој тој навистина излегува. Тестирајте ја и вклучената и исклучената класа, бидејќи прешироката ознака го расипува исклучувањето додека изгледа успешно. Ако вклучената класа работи и исклучената класа исто така влегува во тунелот, ознаката е преширока, а не претесна.
Избегнувајте чистење на состојбата на врските за да наметнете освежување за време на жива сесија, бидејќи новите и постојните текови можат законски да одат по различни патишта.
Запишете ја ознаката, маската и табелата на едно место и следното уредување станува прегледиво.