Չորս ստուգում բաժանում է աշխատող նշանի կանոնը աշխատող երթուղուց. թե որ նշանն է կարդում կանոնը, արդյոք փաթեթը դեռ կրում է այն որոնման պահին, արդյոք կապի նշանը վերականգնվել է հետագա փաթեթների վրա, և արդյոք արդյոք համապատասխան կանոնի դիմակը և առաջնահերթությունը թույլ են տալիս այն գործարկել: Աճող հաշվիչը միայն ապացուցում է, որ ինչ-որ կանոն ինչ-որ բանի հետ համընկել է: Այն ոչինչ չի ասում այն մասին, թե ինչ էր կրում փաթեթը, երբ միջուկը ընտրում էր իր ուղին:

Երկու նշաններն ապրում են տարբեր տեղերում և ավարտվում են տարբեր ժամանակացույցերով:

Երկու նշան, երկու կյանք

Փաթեթի նշանը պատկանում է մեկ skb-ի, ճամփորդում է նրա հետ կեռիկների միջով և սպառվում է քաղաքականությամբ երթուղայնացման fwmark ընտրիչի կողմից: Կապի նշանը պատկանում է conntrack գրառմանը, պահպանվում է այդ հոսքի փաթեթների ընթացքում և անտեսանելի է երթուղայնացման կանոնի համար, մինչև ինչ-որ բան այն հետ չպատճենի: Փաթեթի նշանը կապի մեջ պահելը պահոց է. այն վերականգնելը առանձին գործողություն է: Ոչ մեկը ինքնաբերաբար չի կատարվում:

Այդ պատճառով կանոնների հավաքածուն կարող է հետևողական թվալ, մինչ երթուղայնացման որոշումը տեսնում է զրո. արժեքը պահվել էր, և ոչինչ այն չէր վերականգնել:

Նրանց միջև պատճենումը քայլ է, որը դուք եք գրում

Երկու կարևոր պնդումներն աշխատում են հակառակ ուղղություններով. մեկը պահում է փաթեթի նշանը կապի մեջ, մյուսը բեռնում է կապի նշանը փաթեթի վրա: Որն է ձեզ պետք, կախված է նրանից, թե երբ է դասակարգումը տեղի ունենում հոսքի նկատմամբ: Նախագծմանը կարող է պետք լինել միայն փաթեթի նշանը, և conntrack-ով նշում ավելացնելը, քանի որ ինչ-որ լուծում օգտագործում էր երկուսն էլ, այն ձևն է, որով պարզ քաղաքականությունը ձեռք է բերում երկրորդ խափանման ռեժիմ:

ct mark set meta mark
meta mark set ct mark

Գրեք ուղղությունը կանոնի կողքին, որովհետև այն առաջին հայացքից շարահյուսությունից ակնհայտ չէ: Առաջին տողը պահում է, երկրորդը վերականգնում է, և ոչ մեկը չի ենթադրում մյուսը:

Դասակարգեք այն որոնումից առաջ, որը սպառում է այն

Տեղականորեն ստեղծված տրաֆիկը և LAN-ից փոխանցված տրաֆիկը անցնում են տարբեր կեռիկներով և երթուղայնացման որոշումներին հասնում են տարբեր պահերի: Ելքային կանոնը, որն աշխատում է երթուղիչի սեփական կապերի համար, չի ապացուցում, որ փոխանցված հաճախորդի փաթեթը նշվել է իր որոնումից առաջ: Տեղադրեք դասակարգումը այնտեղ, որտեղ այն սպառող որոնումը դեռ տեղի չի ունեցել, և ստուգեք՝ արդյոք նույն շղթայում հետագա կանոնները վերագրում են արժեքը: Շղթայի ներսում հերթականությունը կազմաձևման մասն է, ոչ թե իրականացման մանրամասնություն:

Կապի վիճակի պահպանումը նույնպես պահանջում է հստակ ծրագիր: Եթե դասակարգվում է հոսքի միայն առաջին փաթեթը, ապա հետագա փաթեթներին անհրաժեշտ է պահված նշանի վերականգնում, այլապես նրանք կգնան առանց նշանի ուղիով: Սա է տարբերությունը կապ նկարագրող նշանի և փաթեթ նկարագրող նշանի միջև:

Հարցրեք երթուղուն նշված հարց

ip route get 10.77.0.10 mark 0x2

Ուսումնասիրեք կանոնները և աղյուսակը, ապա հարցրեք երթուղուն նշանը ներառյալ, ինչպես նաև աղբյուրը կամ մուտքային ինտերֆեյսը, երբ դրանք ազդում են քաղաքականության վրա: Սովորական չնշված որոնումը պատասխանում է այլ հարցի և հաճույքով կհայտնի այն ուղին, որը դուք չէիք ուզում: Ստուգեք կանոնի դիմակը և առաջնահերթությունը, ինչպես նաև դրա արժեքը, և համոզվեք, որ ընտրված աղյուսակը պարունակում է օգտագործելի երթուղի:

Աճող հաշվիչը ապացույց է, որ ինչ-որ կանոն համընկել է ինչ-որ փաթեթի հետ: Այն ապացույց չէ, որ վերջնական փաթեթը կրում էր նպատակային նշանը ճիշտ որոշման կետում:

Կարդացեք նշանը, ուղղությունը, ժամանակը և դիմակը: Չորս ստուգում, և երթուղին դադարում է առեղծված լինելուց:

Առնչվող հոդվածներ