nftables માર્ક અને VPN રાઉટિંગ: કયો નિયમ ખરેખર જીતે છે
ફાયરવોલમાં મૂકેલો માર્ક છતાં રાઉટિંગ નિયમ ચૂકી શકે છે. ચોથો ઉમેરતાં પહેલાં નિયમનો માસ્ક, ઑબ્જેક્ટનો પ્રકાર અને બીજા લેખકો તપાસો.
nftablesમાં મૂકેલો માર્ક એક વર્ગનો ટ્રાફિક ટનલ દ્વારા મોકલવાનો હોય છે, અને ટ્રાફિક ભૌતિક ઇન્ટરફેસ દ્વારા નીકળતો રહે છે. નિયમસમૂહ એકલો જોતાં સાચો લાગે છે. સામાન્ય રીતે જે થયું છે તે એ છે કે બીજા કંઈકે એ જ માર્ક લખ્યો, અથવા રાઉટિંગ નિયમ એવા માસ્ક સાથે મેળ ખાય છે જે નવું મૂલ્ય હવે પૂર્ણ કરતું નથી.
તપાસ 1: કર્નલ જે નિયમ સાથે મેળ ખાય છે તે વાંચો
ફાયરવોલથી નહીં, નીતિ-નિયમથી શરૂ કરો. કર્નલ પ્રાધાન્ય ક્રમમાં નિયમો જુએ છે અને પ્રથમ મેળ ટેબલ નક્કી કરે છે. નિયમમાંથી જ fwmark મૂલ્ય અને માસ્ક વાંચો, પછી ખાતરી કરો કે તમે મૂકેલો માર્ક ધરાવતું પેકેટ ખરેખર તેની સાથે મેળ ખાય છે. પૂર્ણ 32-બિટ મૂલ્યની અપેક્ષા રાખતો નિયમ ફક્ત એક બિટ ધરાવતા પેકેટ સાથે મેળ નહીં ખાય.
પછી ખાતરી કરો કે તે નિયમ કયું ટેબલ પસંદ કરે છે અને ટેબલમાં શું છે. ખાલી ટેબલ તરફ ઇશારો કરતો નિયમ શોધ નિષ્ફળતા ઉત્પન્ન કરે છે, જેનો અર્થ ઘણી સિસ્ટમોમાં એ છે કે પેકેટ આગળના નિયમ પર પડે છે અને ભૌતિક ઇન્ટરફેસમાંથી બહાર નીકળી જાય છે.
બે આદેશો આ નક્કી કરે છે: નિયમોની યાદી, અને તે ટેબલમાં ગંતવ્ય માટેની રૂટ શોધ.
તપાસ 2: પેકેટ માર્ક કે કનેક્શન માર્ક
nftables પેકેટ પર માર્ક અને કનેક્શન-ટ્રેકિંગ એન્ટ્રી પર માર્ક મૂકી શકે છે, અને તે અલગ ઑબ્જેક્ટ છે. પેકેટ માર્ક પેકેટની પ્રક્રિયા-પાસ દરમિયાન રહે છે, જ્યારે કનેક્શન માર્ક ફ્લો માટે ટકી રહે છે અને જાણી જોઈને કૉપિ કરવો પડે છે. એક મૂકીને બીજાની અપેક્ષા રાખવી સામાન્ય અડધો-ઉપાય છે.
જો રાઉટિંગ નિયમ પેકેટ માર્ક પર આધાર રાખે છે, તો પછી માર્ગમાં કનેક્શન માર્ક પુનઃસ્થાપિત કરવાથી તે નિર્ણય માટે કંઈ થતું નથી, કારણ કે નિર્ણય પહેલેથી લેવાઈ ગયો છે.
નક્કી કરો કે રાઉટિંગ સિગ્નલ કયા ઑબ્જેક્ટની માલિકીનું છે, પછી તેને જ્યાં રાઉટિંગ નિર્ણય લેવાય છે ત્યાં મૂકો.
તપાસ 3: આ માર્ક બીજું કોણ લખે છે
WireGuardનાં પોતાનાં સાધનો તેમના UDP પેકેટને માર્ક કરે છે જેથી એન્ક્રિપ્ટેડ ટ્રાન્સપોર્ટ પોતે જે ટનલનું છે તેમાં પાછું રાઉટ ન થાય. જો તમારો નિયમસમૂહ એ જ ફીલ્ડને અસંબંધિત મૂલ્ય સોંપે છે, તો તે બાકાત થવાનું અદૃશ્ય થાય છે અને ટનલનો બહારનો ટ્રાફિક પોતાનામાં પ્રવેશવાનો પ્રયાસ કરે છે. લક્ષણ એ છે કે ટનલ સ્થપાય છે અને પછી ટ્રાફિક પસાર કરવાનું બંધ કરે છે.
માર્ક બીજાં ફાયરવોલ સાધનો, કન્ટેનર નેટવર્કિંગ અને બીજા હેતુઓ માટે નીતિ-રાઉટિંગ પણ વાપરે છે, તેથી બે સબસિસ્ટમ દ્વારા આખું ફીલ્ડ લખવું સંઘર્ષ છે, જ્યારે દરેક અલગથી સાચું હોય તોપણ.
બીજો ઉમેરતાં પહેલાં લેખકોની યાદી બનાવો.
તપાસ 4: માસ્ક નક્કી કરે છે કે તમે શું રાખો છો
માર્ક 32-બિટ ફીલ્ડ છે, અને માસ્ક એ છે કે કેવી રીતે ઘણા માલિકો તેને વહેંચે છે. માસ્ક સાથે મૂલ્ય મૂકવાથી જે બિટ તમારા નથી તે સચવાય છે; આખું ફીલ્ડ મૂકવાથી બીજા સૌના બિટ નષ્ટ થાય છે. ફીલ્ડને સ્પર્શતા દરેક નિયમમાં માસ્ક વાંચો, જે તમે લખ્યા નથી તેમાં પણ.
નિયમસમૂહની બાજુમાં બિટ વિભાજનનું દસ્તાવેજીકરણ કરો.
નહીં તો આગલી વ્યક્તિ એવું મૂલ્ય ફરી વાપરશે જેનો પહેલેથી માલિક છે, અને અહીંનો સંઘર્ષ રાઉટિંગ બગ જેવો દેખાય છે જ્યારે તે સરનામાંનો બગ છે. પેકેટ મેટાડેટા વિશેનું nftables દસ્તાવેજીકરણ પોતે માર્ક ક્રિયાઓનું વર્ણન કરે છે.
તપાસ 5: શોધથી નહીં, વાસ્તવિક ફ્લો દ્વારા ચકાસો
સાદી રૂટ શોધ કોઈ માર્ક ધરાવતી નથી, તેથી તે વાસ્તવિક પેકેટ કરતાં અલગ માર્ગ દેખાડી શકે છે. તમને જે ટ્રાફિક મહત્વનો છે તે ઉત્પન્ન કરો અને કાઉન્ટર, કનેક્શન-ટ્રેકિંગ એન્ટ્રી અને તે ખરેખર જે ઇન્ટરફેસમાંથી નીકળે છે તે નિરીક્ષણ કરો. સમાવિષ્ટ વર્ગ અને બાકાત વર્ગ બંને ચકાસો, કારણ કે વધુ પડતો પહોળો માર્ક બાકાતને તોડે છે અને છતાં સફળ લાગે છે. જો સમાવિષ્ટ વર્ગ કામ કરે અને બાકાત વર્ગ પણ ટનલમાં પ્રવેશે, તો માર્ક સાંકડો નહીં પણ પહોળો છે.
જીવંત સત્ર દરમિયાન રિફ્રેશ ફરજિયાત કરવા કનેક્શન સ્થિતિ ફ્લશ કરવાનું ટાળો, કારણ કે નવા અને હાલના ફ્લો કાયદેસર રીતે અલગ માર્ગ લઈ શકે છે.
માર્ક, માસ્ક અને ટેબલ એક જ જગ્યાએ નોંધો, પછી આગલું સંપાદન સમીક્ષાયોગ્ય બને છે.