શું VPN રૂટ કેશ તમારો ફેરફાર છુપાવે છે? ત્રણ વસ્તુઓ તપાસો
Linux માં સાફ કરવા માટે કોઈ વૈશ્વિક રૂટ કેશ નથી. જૂનું પરીક્ષણ સામાન્ય રીતે જૂનું સોકેટ, NAT એન્ટ્રી અથવા ફરી લાગુ કરેલી પ્રોફાઇલ દર્શાવે છે. ત્રણ તપાસ તેમને અલગ પાડે છે.
ફેરફાર અમલમાં ન આવે ત્યારે રૂટ કેશ સાફ કરવો એ પહેલી વૃત્તિ છે, અને આધુનિક Linux પર તે વ્યર્થ પરિશ્રમ છે: વૈશ્વિક IPv4 રૂટ કેશ વર્ષો પહેલા દૂર કરવામાં આવ્યો હતો, તેથી ip route show cache કંઈ છાપતું નથી અને સાફ કરવા જેવું કંઈ નથી. તમને છેતરતી સ્થિતિ એક સ્તર ઉપર રહે છે: સોકેટમાં, NAT મેપિંગમાં, રિઝોલ્વરમાં અથવા નેટવર્ક મેનેજરમાં જેણે જૂની પ્રોફાઇલ ફરી લાગુ કરી છે. ત્રણ પ્રશ્નો એ કિસ્સાઓને અલગ પાડે છે: ખોટો રસ્તો નવા પ્રવાહમાંથી આવે છે કે જૂના જોડાણમાંથી, તમારું પ્લેટફોર્મ રૂટ કેશ રાખે છે કે નહીં, અને સ્થિતિ રૂટિંગમાં છે કે તેની ઉપર. ઇન્ટરફેસ રીસેટ કરતા પહેલા તેમના જવાબ આપો.
તપાસ એક: જૂનો રસ્તો નવા પ્રવાહમાંથી આવે છે?
સ્થાપિત જોડાણ જે રૂટ સાથે બન્યું હતું તે જાળવી રાખે છે. તેથી ટનલ પરનું SSH સત્ર રૂટિંગ કોષ્ટકના ફેરફારમાંથી બચી જાય છે જ્યારે નવું સત્ર તરત જ નવો રસ્તો લે છે, અને તેથી «ફેરફારે કંઈ કર્યું નહીં» નો અર્થ ઘણી વાર «જૂનું સોકેટ હજી તેને પકડી રાખે છે» થાય છે. નવી પ્રક્રિયા સાથે પરીક્ષણ કરો, તમારી પાસે પહેલેથી ખુલ્લી વિન્ડો સાથે નહીં.
ss -tnp | head
ip route get 1.1.1.1
curl -m 5 -sS -o /dev/null -w '%{remote_ip}
' https://example.com
છેલ્લો આદેશ નવા જોડાણે ખરેખર પહોંચેલું સરનામું છાપે છે, જે સ્થિતિ વિન્ડો પર વિશ્વાસ કર્યા વિના સાચો રસ્તો જોવાનો સૌથી સસ્તો રસ્તો છે. તેને namespace અથવા ઇન્ટરફેસે વાપરવાના હતા તે સ્રોત સરનામા સાથે સરખાવો.
જો નવો પ્રવાહ સાચો રસ્તો લે અને જૂનો પુનઃપ્રાપ્ત ન થાય, તો રૂટિંગ જોવાનું બંધ કરો. રૂટ સાચો હતો; સત્ર જૂનું હતું.
તપાસ બે: તમારું પ્લેટફોર્મ રૂટ કેશ રાખે છે ખરું?
Linux પર જવાબ ના છે, મોટાભાગની માર્ગદર્શિકાઓ જે અર્થમાં કહે છે તેમાં. ફેંકવા માટે કોઈ વૈશ્વિક ગંતવ્ય કેશ નથી, અને પસંદ કરેલો રૂટ રાખતી સોકેટ-દીઠ એન્ટ્રી સોકેટ સાથે મુક્ત થાય છે. ip-route માર્ગદર્શિકા નો કેશ વિભાગ ઐતિહાસિક વર્તન વર્ણવે છે, વર્તમાન કર્નલ પર તમે સાફ કરી શકો તેવું નહીં.
અન્ય પ્લેટફોર્મ અલગ છે, અને સલાહની નકલ કરવી અહીં જ ખોટી પડે છે. Windows ગંતવ્ય કેશ રાખે છે જે તમે netsh interface ip delete destinationcache થી સાફ કરી શકો છો. BSD અને macOS route -n get દ્વારા ગંતવ્ય-દીઠ શોધ બતાવે છે, અને તેમના કેશ તેમના પોતાના સમયપત્રક પ્રમાણે સમાપ્ત થાય છે. આમાંથી એક પર કામ કરતો આદેશ Linux પર કંઈ જ કરતો નથી, તેથી એ જ ઉપાય અજમાવનાર અડધા લોકોને તે નિષ્ફળ લાગે છે.
NAT અથવા conntrack કોષ્ટક રૂટ કેશ નથી, છતાં તે એ જ લક્ષણ ઉત્પન્ન કરે છે. તમારા ફેરફાર પહેલા અનુવાદિત થયેલો પ્રવાહ તેનો અનુવાદ જાળવી રાખે છે, અને રૂટિંગ નીતિ આગળ વધ્યા પછી ઘણા સમય સુધી conntrack -L તેને બતાવશે. તે જૂની સ્થિતિ છે, પણ રૂટ સાફ કરવાથી તેને અડકાશે નહીં.
તપાસ ત્રણ: સ્થિતિ રૂટિંગમાં છે કે તેની ઉપર?
બીજું કંઈ વાંચતા પહેલા વર્તમાન શોધ વાંચો: ગંતવ્ય માટે ip route get, પછી from અને સ્રોત સરનામા સાથે એ જ આદેશ, પછી ip rule show. જો એ ત્રણ તમારા ઇરાદા સાથે મેળ ખાય, તો રૂટિંગ સુધારવાનું સ્તર નથી, અને જૂનું અવલોકન બીજે જગ્યાએથી આવ્યું છે.
ત્રણ સામાન્ય શંકાસ્પદ રૂટિંગની ઉપર બેસે છે. નેટવર્ક મેનેજર તમે રૂટ કાઢ્યાની ક્ષણોમાં જ સંગ્રહિત પ્રોફાઇલમાંથી તેને ફરી સ્થાપિત કરી શકે છે, તેથી તમારો ફેરફાર પાછો આવતો લાગે છે; કોષ્ટક ફરી સંપાદિત કરતા પહેલા nmcli connection show --active અને યુનિટની સ્થિતિ તપાસો. રિઝોલ્વર કેશ જૂનું સરનામું પરત કરે છે, જે કેશ તોડતા સાધન સાથે એ જ નામ પૂછે ત્યાં સુધી રૂટિંગ નિષ્ફળતા જેવું લાગે છે. એપ્લિકેશનનો કનેક્શન પૂલ જૂના ગંતવ્ય સાથે કાર્યરત સોકેટ રાખે છે અને કર્નલને ક્યારેય નવો નિર્ણય પૂછતો નથી.
ત્રણ જવાબ તમને શું તારણ કાઢવા દે છે
જવાબો એકસાથે મૂકો અને સુધારો સામાન્ય રીતે પોતાની જાતે કહી દે છે. રૂટ કેશ ન હોય તેવા પ્લેટફોર્મ પર નવો પ્રવાહ ખોટો રસ્તો લે તેનો અર્થ નીતિ ખરેખર ખોટી છે, તેથી નિયમો અને ટનલે સ્થાપિત કરેલું કોષ્ટક વાંચો. જૂનું સત્ર અટકી રહ્યું હોય ત્યારે નવો પ્રવાહ સાચો રસ્તો લે તેનો અર્થ એપ્લિકેશન અથવા સોકેટ સમસ્યા છે. બંને કિસ્સામાં સાચા રૂટ સાથે તૂટેલું અવલોકન એટલે સ્થિતિ રૂટિંગની ઉપર છે.
સામાન્ય રિફ્રેશનો પ્રતિકાર કરો. નેટવર્ક સ્ટેક ફરી શરૂ કરવો અથવા જે મશીનનો ડિફોલ્ટ રૂટ ટનલ છે ત્યાં દરેક રૂટ કાઢી નાખવો તે જોડાણ કાપી શકે છે જેનાથી તમે તેને સુધારી રહ્યા છો, અને કયું સ્તર નિષ્ફળ ગયું તે કહેતા પુરાવાનો નાશ કરે છે.
જો ખરેખર કંઈક સાફ કરવું હોય, તો નિદાન સાથે મેળ ખાતી સૌથી નાની વસ્તુ સાફ કરો: એક પ્રક્રિયાના સોકેટ, એક conntrack એન્ટ્રી, રિઝોલ્વર કેશ. પછી એ જ નવા-પ્રવાહ પરીક્ષણનું પુનરાવર્તન કરો અને શું બદલાયું તે લખો.
તમારી નોંધમાં ત્રણ સ્થિતિઓ અલગ રાખો
સંગ્રહિત ગોઠવણી, વર્તમાન શોધ અને અવલોકિત પ્રવાહ ત્રણ ભિન્ન તથ્યો છે, અને તેમને «કેશ» માં ભેગા કરવા એ જ ખામીને પુનઃઉત્પાદન કરવી મુશ્કેલ બનાવે છે. રૂટનો માલિક પ્રોફાઇલ અથવા યુનિટ, ip route get નું આઉટપુટ, અને વાસ્તવિક જોડાણનો સ્રોત અને ગંતવ્ય લખો.
તેમની બાજુમાં પ્લેટફોર્મ અને ક્લાઇએન્ટ સંસ્કરણ લખો, કારણ કે Windows ગંતવ્ય કેશ સાફ કરતો ઉપાય Linux યજમાનને લાગુ પડતો ઉપાય નથી, અને બંને વચ્ચે નકલ કરેલી પ્રક્રિયા ખોટો પાઠ શીખવે છે. જ્યારે તમે સમસ્યા બીજા કોઈને સોંપો, ત્યારે એ ત્રણ લીટીઓ તેમને અનુમાન કરવાને બદલે નિષ્ફળ સ્થિતિનું પુનઃઉત્પાદન કરવા દે છે.