nftables-ի նշանները և VPN երթուղավորումը՝ ո՞ր կանոնն է իրականում հաղթում
Ֆայրվոլում դրված նշանը դեռ կարող է բաց թողնել երթուղավորման կանոնը։ Ստուգեք կանոնի դիմակը, օբյեկտի տեսակը և մյուս գրողներին՝ նախքան չորրորդ ավելացնելը։
nftables-ում դրված նշանը պետք է ուղարկի մեկ դասի թրաֆիկ թունելով, սակայն թրաֆիկը շարունակում է դուրս գալ ֆիզիկական ինտերֆեյսով։ Կանոնների հավաքածուն ինքնուրույն դիտելիս ճիշտ է թվում։ Սովորաբար եղել է այն, որ ինչ-որ այլ բան գրել է նույն նշանը, կամ երթուղավորման կանոնը համապատասխանում է մի դիմակի, որը նոր արժեքը այլևս չի բավարարում։
Ստուգում 1՝ կարդացեք այն կանոնը, որին համապատասխանում է միջուկը
Սկսեք քաղաքականության կանոնից, ոչ թե ֆայրվոլից։ Միջուկը կանոնները դիտարկում է առաջնահերթության կարգով, և առաջին համապատասխանությունը որոշում է աղյուսակը։ Կարդացեք fwmark արժեքը և դիմակը հենց կանոնից, ապա հաստատեք, որ ձեր դրած նշանով փաթեթն իսկապես համապատասխանում է դրան։ Լրիվ 32-բիթանոց արժեք սպասող կանոնը չի համապատասխանի միայն մեկ բիթ կրող փաթեթին։
Այնուհետև հաստատեք, թե այդ կանոնը որ աղյուսակն է ընտրում և ինչ է պարունակում աղյուսակը։ Դատարկ աղյուսակին ուղղված կանոնն առաջացնում է որոնման ձախողում, ինչը շատ համակարգերում նշանակում է, որ փաթեթն ընկնում է հաջորդ կանոնին և դուրս գալիս ֆիզիկական ինտերֆեյսով։
Երկու հրաման լուծում է սա՝ կանոնների ցանկը և երթուղու որոնումը դեպի նպատակակետ այդ աղյուսակում։
Ստուգում 2՝ փաթեթի նշան, թե միացման նշան
nftables-ը կարող է նշան դնել փաթեթի վրա և նշան՝ միացումների հետևման գրառման վրա, և դրանք տարբեր օբյեկտներ են։ Փաթեթի նշանն ապրում է փաթեթի մշակման անցման ընթացքում, մինչդեռ միացման նշանը պահպանվում է հոսքի համար և պետք է դիտավորյալ պատճենվի։ Մեկը դնելը և մյուսին սպասելը տարածված կիսանուգում է։
Եթե երթուղավորման կանոնը հենվում է փաթեթի նշանի վրա, ապա ուղու ավելի ուշ հատվածում միացման նշանի վերականգնումը ոչինչ չի անում այդ որոշման համար, որովհետև որոշումն արդեն կայացվել է։
Որոշեք, թե որ օբյեկտին է պատկանում երթուղավորման ազդանշանը, ապա դրեք այն այն կետում, որտեղ կայացվում է երթուղավորման որոշումը։
Ստուգում 3՝ ով էլ է գրում այդ նշանը
WireGuard-ի սեփական գործիքները նշում են իր UDP փաթեթները, որպեսզի գաղտնագրված տրանսպորտը հետ չուղղորդվի այն թունել, որին պատկանում է։ Եթե ձեր կանոնների հավաքածուն նույն դաշտին վերագրում է անկապ արժեք, այդ բացառությունը անհետանում է, և թունելի արտաքին թրաֆիկը փորձում է մտնել ինքն իր մեջ։ Ախտանիշը թունելն է, որը կառուցվում է, ապա դադարում թրաֆիկ անցկացնել։
Նշաններն օգտագործում են նաև այլ ֆայրվոլային գործիքներ, կոնտեյներային ցանցը և քաղաքականության վրա հիմնված երթուղավորումը այլ նպատակներով, ուստի ամբողջ դաշտը երկու ենթահամակարգերի կողմից գրելը հակասություն է, նույնիսկ երբ յուրաքանչյուրն առանձին ճիշտ է։
Թվարկեք գրողներին նախքան ևս մեկը ավելացնելը։
Ստուգում 4՝ դիմակն է որոշում, թե ինչ եք պահում
Նշանը 32-բիթանոց դաշտ է, և դիմակները այն բաժանելու եղանակն են մի քանի սեփականատերերի միջև։ Դիմակով արժեք դնելը պահպանում է այն բիթերը, որոնք ձերը չեն, իսկ ամբողջ դաշտը դնելը ոչնչացնում է մյուս բոլորի բիթերը։ Կարդացեք դիմակը յուրաքանչյուր կանոնում, որը դիպչում է դաշտին, ներառյալ նրանք, որոնք դուք չեք գրել։
Փաստաթղթավորեք բիթերի բաշխումը կանոնների հավաքածուի կողքին։
Հակառակ դեպքում հաջորդ մարդը կրկին կօգտագործի արժեք, որն արդեն սեփականատեր ունի, և այստեղի հակասությունը երթուղավորման սխալի տեսք ունի, մինչդեռ հասցեավորման սխալ է։ nftables-ի փաստաթղթերը փաթեթի մետատվյալների մասին նկարագրում են հենց նշանային գործողությունները։
Ստուգում 5՝ ստուգեք իրական հոսքով, ոչ թե որոնումով
Սովորական երթուղու որոնումը նշան չի կրում, ուստի կարող է ցույց տալ իրական փաթեթից տարբեր ուղի։ Ստեղծեք ձեզ հետաքրքրող թրաֆիկը և դիտարկեք հաշվիչները, միացումների հետևման գրառումը և ինտերֆեյսը, որով այն իրականում դուրս է գալիս։ Փորձարկեք թե՛ ներառված դասը, թե՛ բացառված դասը, որովհետև չափազանց լայն նշանը կոտրում է բացառումը՝ միաժամանակ հաջող երևալով։ Եթե ներառված դասը աշխատում է, և բացառված դասը նույնպես մտնում է թունել, ապա նշանը չափազանց լայն է, ոչ թե չափազանց նեղ։
Խուսափեք միացումների վիճակի մաքրումից՝ կենդանի սեսիայի ընթացքում թարմացում պարտադրելու համար, քանի որ նոր և գոյություն ունեցող հոսքերը կարող են օրինականորեն տարբեր ուղիներ անցնել։
Գրանցեք նշանը, դիմակը և աղյուսակը մեկ տեղում, և հաջորդ խմբագրումը դառնում է վերանայելի։