Төрт тексеру жұмыс істейтін белгі ережесін жұмыс істейтін маршруттан ажыратады: ереже қай белгіні оқиды, пакет оны іздеу сәтінде әлі көтеріп жүр ме, келесі пакеттерге қосылым белгісі қалпына келтірілді ме және сәйкес ереженің маскасы мен басымдығы оның іске қосылуына мүмкіндік бере ме. Өсіп келе жатқан санауыш тек қандай да бір ереженің бір нәрсеге сәйкес келгенін дәлелдейді. Ол ядро өз жолын таңдаған кезде пакеттің не көтеріп жүргені туралы ештеңе айтпайды.

Екі белгі әртүрлі жерде тұрады және әртүрлі кесте бойынша бітеді.

Екі белгі, екі өмір

Пакет белгісі бір skb-ға тиесілі, онымен бірге ілмектерден өтеді және оны саясатқа негізделген маршруттаудың fwmark таңдаушысы тұтынады. Қосылым белгісі conntrack жазбасына тиесілі, сол ағынның пакеттерінде сақталады және бір нәрсе оны кері көшірмейінше маршруттау ережесіне көрінбейді. Пакет белгісін қосылымға сақтау — бұл сақтау; оны қалпына келтіру — жеке әрекет. Екеуі де өздігінен болмайды.

Сондықтан ережелер жиынтығы үйлесімді көрінуі мүмкін, ал маршрут шешімі нөлді көреді: мән сақталды, бірақ оны ештеңе қалпына келтірмеді.

Олардың арасында көшіру — сіз жазатын қадам

Маңызды екі нұсқау қарама-қарсы бағытта жұмыс істейді: біреуі пакеттің белгісін қосылымға сақтайды, екіншісі қосылымның белгісін пакетке жүктейді. Қайсысы керек екені классификацияның ағынға қатысты қашан болатынына байланысты. Жобаға тек пакет белгісі қажет болуы мүмкін, ал қандай да бір айналма шешім екеуін де қолданғаны үшін conntrack таңбалауын қосу — қарапайым саясаттың екінші ақау режимін алатын жолы.

ct mark set meta mark
meta mark set ct mark

Бағытты ереженің жанына жазып қойыңыз, өйткені ол синтаксистен бір қарағанда анық емес. Бірінші жол сақтайды, екіншісі қалпына келтіреді және ешқайсысы екіншісін білдірмейді.

Оны тұтынатын іздеуден бұрын жіктеңіз

Жергілікті түрде жасалған трафик пен LAN-нан жіберілген трафик әртүрлі ілмектерден өтеді және маршрут шешімдеріне әртүрлі сәттерде жетеді. Маршрутизатордың өз қосылымдары үшін жұмыс істейтін шығыс ережесі жіберілген клиенттің пакеті өз іздеуінің алдында таңбаланғанын дәлелдемейді. Жіктеуді оны тұтынатын іздеу әлі болмаған жерге қойыңыз және сол тізбектегі кейінгі ережелер мәнді қайта жазбай ма, соны тексеріңіз. Тізбек ішіндегі рет конфигурацияның бөлігі, іске асыру бөлшегі емес.

Қосылым күйінің тұрақтылығы да нақты жоспарды талап етеді. Егер ағынның тек бірінші пакеті жіктелсе, кейінгі пакеттерге сақталған белгіні қалпына келтіру қажет, әйтпесе олар белгісіз жолмен жүреді. Бұл қосылымды сипаттайтын белгі мен пакетті сипаттайтын белгінің айырмашылығы.

Маршрутқа белгімен сұрақ қойыңыз

ip route get 10.77.0.10 mark 0x2

Ережелер мен кестені қарап шығыңыз, содан кейін маршруттан белгіні қосып сұраңыз, сондай-ақ саясатқа әсер ететін болса, көзді немесе кіретін интерфейсті қосыңыз. Белгісіз қарапайым іздеу басқа сұраққа жауап береді және сіз қаламаған жолды риза болып хабарлайды. Ереженің маскасы мен басымдығын, сондай-ақ оның мәнін тексеріңіз және таңдалған кестеде жарамды маршрут бар екеніне көз жеткізіңіз.

Өсіп келе жатқан санауыш қандай да бір ереженің қандай да бір пакетке сәйкес келгенінің дәлелі. Бұл соңғы пакеттің дұрыс шешім нүктесінде көзделген белгіні көтергенінің дәлелі емес.

Белгіні, бағытты, уақытты және масканы оқыңыз. Төрт тексеру, және маршрут жұмбақ болудан қалады.

Қатысты мақалалар