மாற்றம் நடைமுறைக்கு வராதபோது வழி தேக்ககத்தை காலி செய்வது முதல் உணர்வு, நவீன லினக்ஸில் அது வீண் உழைப்பு: உலகளாவிய IPv4 வழி தேக்ககம் பல ஆண்டுகளுக்கு முன்பு அகற்றப்பட்டது, எனவே ip route show cache எதையும் அச்சிடாது, காலி செய்ய எதுவும் இல்லை. உங்களை ஏமாற்றும் நிலை ஒரு அடுக்கு மேலே வாழ்கிறது: socket-இல், NAT மேப்பிங்கில், தீர்வியில் அல்லது பழைய சுயவிவரத்தை மீண்டும் பயன்படுத்திய வலையமைப்பு மேலாளரில். மூன்று கேள்விகள் அந்த நிகழ்வுகளைப் பிரிக்கின்றன: தவறான பாதை புதிய ஓட்டத்திலிருந்து வருகிறதா பழைய இணைப்பிலிருந்து வருகிறதா, உங்கள் தளம் வழிகளைத் தேக்ககம் செய்கிறதா, நிலை வழியமைப்பில் உள்ளதா அதற்கு மேலே உள்ளதா. இடைமுகத்தை மீட்டமைக்கும் முன் அவற்றுக்குப் பதிலளிக்கவும்.

சரிபார்ப்பு ஒன்று: பழைய பாதை புதிய ஓட்டத்திலிருந்து வருகிறதா?

நிறுவப்பட்ட இணைப்பு அது உருவாக்கப்பட்ட வழியைத் தக்கவைத்துக் கொள்கிறது. அதனால்தான் சுரங்கப்பாதையின் மேலான SSH அமர்வு வழியமைப்பு அட்டவணையின் மாற்றத்தைத் தாண்டி நீடிக்கிறது, புதிய அமர்வு உடனே புதிய பாதையை எடுக்கிறது, மேலும் «மாற்றம் எதுவும் செய்யவில்லை» என்பது பல நேரங்களில் «பழைய socket அதை இன்னும் பிடித்திருக்கிறது» என்று பொருள்படுகிறது. ஏற்கனவே திறந்திருக்கும் சாளரத்துடன் அல்ல, புதிய செயல்முறையுடன் சோதிக்கவும்.

ss -tnp | head
ip route get 1.1.1.1
curl -m 5 -sS -o /dev/null -w '%{remote_ip}
' https://example.com

கடைசி கட்டளை புதிய இணைப்பு உண்மையில் அடைந்த முகவரியை அச்சிடுகிறது, நிலை சாளரத்தை நம்பாமல் உண்மையான பாதையைப் பார்க்க இதுவே மலிவான வழி. namespace அல்லது இடைமுகம் பயன்படுத்தியிருக்க வேண்டிய மூல முகவரியுடன் அதை ஒப்பிடவும்.

புதிய ஓட்டம் சரியான பாதையை எடுத்து பழையது குணமாகவில்லை என்றால், வழியமைப்பைப் பார்ப்பதை நிறுத்தவும். வழி சரியாக இருந்தது; அமர்வு பழையதாக இருந்தது.

சரிபார்ப்பு இரண்டு: உங்கள் தளம் வழி தேக்ககத்தை வைத்திருக்கிறதா?

லினக்ஸில் பதில் இல்லை, பெரும்பாலான வழிகாட்டிகள் கருதும் பொருளில். தூக்கி எறிய உலகளாவிய இலக்கு தேக்ககம் இல்லை, தேர்ந்தெடுத்த வழியை வைத்திருக்கும் socket அளவிலான உள்ளீடு socket-உடன் விடுவிக்கப்படுகிறது. ip-route கையேட்டின் தேக்ககப் பகுதி வரலாற்று நடத்தையை விவரிக்கிறது, தற்போதைய கர்னலில் நீங்கள் காலி செய்யக்கூடியதை அல்ல.

மற்ற தளங்கள் வேறுபடுகின்றன, ஆலோசனைகளை நகலெடுப்பது இங்குதான் தவறாகிறது. Windows இலக்கு தேக்ககத்தை வைத்திருக்கிறது, அதை netsh interface ip delete destinationcache மூலம் சுத்தம் செய்யலாம். BSD மற்றும் macOS route -n get மூலம் இலக்கு வாரியான தேடல்களைக் காட்டுகின்றன, அவற்றின் தேக்ககங்கள் அவற்றின் சொந்த அட்டவணைப்படி காலாவதியாகின்றன. இவற்றில் ஒன்றில் வேலை செய்யும் கட்டளை லினக்ஸில் எதுவும் செய்யாது, எனவே அதே தீர்வு முயற்சிப்பவர்களில் பாதிக்கு தோல்வியாகத் தெரிகிறது.

NAT அல்லது conntrack அட்டவணை வழி தேக்ககம் அல்ல, அதே அறிகுறியை உருவாக்கினாலும். உங்கள் மாற்றத்துக்கு முன் மொழிபெயர்க்கப்பட்ட ஓட்டம் அதன் மொழிபெயர்ப்பைத் தக்கவைத்துக் கொள்கிறது, வழியமைப்புக் கொள்கை முன்னேறிய பிறகும் conntrack -L அதை நீண்ட நேரம் காட்டும். அது பழைய நிலை, ஆனால் வழிகளைச் சுத்தம் செய்வது அதைத் தொடாது.

சரிபார்ப்பு மூன்று: நிலை வழியமைப்பில் உள்ளதா அதற்கு மேலே உள்ளதா?

வேறு எதையும் படிக்கும் முன் தற்போதைய தேடலைப் படிக்கவும்: இலக்குக்கு ip route get, பிறகு from மற்றும் மூல முகவரியுடன் அதே கட்டளை, பிறகு ip rule show. இந்த மூன்றும் உங்கள் நோக்கத்துடன் பொருந்தினால், வழியமைப்பு சரிசெய்ய வேண்டிய அடுக்கு அல்ல, பழைய கவனிப்பு வேறு இடத்திலிருந்து வந்தது.

மூன்று பொதுவான சந்தேகத்திற்குரியவர்கள் வழியமைப்புக்கு மேலே அமர்கிறார்கள். வலையமைப்பு மேலாளர் நீங்கள் நீக்கிய சில வினாடிகளுக்குப் பிறகு சேமித்த சுயவிவரத்திலிருந்து வழியை மீண்டும் நிறுவலாம், எனவே உங்கள் மாற்றம் திரும்பி வருவதாகத் தெரிகிறது; அட்டவணையை மீண்டும் திருத்தும் முன் nmcli connection show --active மற்றும் அலகின் நிலையைச் சரிபார்க்கவும். தீர்வி தேக்ககம் பழைய முகவரியைத் திருப்பித் தருகிறது, தேக்ககத்தை முறியடிக்கும் கருவியுடன் அதே பெயரைக் கேட்கும் வரை அது வழியமைப்புத் தோல்வி போலத் தெரிகிறது. ஒரு செயலியின் இணைப்புக் குளம் பழைய இலக்குக்கு வேலை செய்யும் socket-ஐ வைத்திருக்கிறது, கர்னலிடம் ஒருபோதும் புதிய முடிவைக் கேட்காது.

மூன்று பதில்கள் என்ன முடிவெடுக்க உதவுகின்றன

பதில்களை ஒன்றாகச் சேர்க்கவும், பழுது பொதுவாக தானே சொல்லிக் கொள்ளும். வழி தேக்ககம் இல்லாத தளத்தில் புதிய ஓட்டம் தவறான பாதையை எடுத்தால் கொள்கை உண்மையிலேயே தவறு, எனவே சுரங்கப்பாதை நிறுவிய விதிகளையும் அட்டவணையையும் படிக்கவும். பழைய அமர்வு நின்றிருக்கும்போது புதிய ஓட்டம் சரியான பாதையை எடுத்தால் பிரச்சினை செயலி அல்லது socket. இரு நிகழ்வுகளிலும் சரியான வழிகளுடன் உடைந்த கவனிப்பு என்பது நிலை வழியமைப்புக்கு மேலே உள்ளது.

பொதுவான புத்துயிர்ப்பை எதிர்க்கவும். வலையமைப்பு அடுக்கை மீண்டும் தொடங்குவது அல்லது இயல்புநிலை வழி சுரங்கப்பாதையாக உள்ள இயந்திரத்தில் ஒவ்வொரு வழியையும் நீக்குவது நீங்கள் அதைச் சரிசெய்யப் பயன்படுத்தும் இணைப்பையே துண்டிக்கலாம், மேலும் எந்த அடுக்கு தோல்வியடைந்தது என்று சொல்லியிருக்கும் சான்றையும் அழிக்கிறது.

உண்மையில் ஏதாவது சுத்தம் செய்ய வேண்டுமானால், கண்டறிதலுடன் பொருந்தும் மிகச் சிறிய விஷயத்தைச் சுத்தம் செய்யவும்: ஒரு செயல்முறையின் socket-கள், ஒரு conntrack உள்ளீடு, தீர்வி தேக்ககம். பிறகு அதே புதிய-ஓட்ட சோதனையை மீண்டும் செய்து என்ன மாறியது என்று எழுதவும்.

உங்கள் குறிப்புகளில் மூன்று நிலைகளையும் தனித்தனியாக வைத்திருங்கள்

சேமித்த கட்டமைப்பு, தற்போதைய தேடல் மற்றும் கவனிக்கப்பட்ட ஓட்டம் மூன்று வெவ்வேறு உண்மைகள், அவற்றை «தேக்ககம்» ஆக இணைப்பதே குறையை மீண்டும் உருவாக்குவதைக் கடினமாக்குகிறது. வழியைச் சொந்தமாகக் கொண்ட சுயவிவரம் அல்லது அலகு, ip route get இன் வெளியீடு, மற்றும் உண்மையான இணைப்பின் மூலமும் இலக்கும் எழுதவும்.

அவற்றின் அருகில் தளம் மற்றும் கிளையண்ட் பதிப்பை எழுதவும், ஏனெனில் Windows இலக்கு தேக்ககத்தைச் சுத்தம் செய்யும் தீர்வு லினக்ஸ் புரவலனுக்குப் பொருந்தும் தீர்வு அல்ல, இரண்டிற்கும் இடையே நகலெடுக்கப்பட்ட நடைமுறை தவறான பாடத்தைக் கற்பிக்கிறது. பிரச்சினையை வேறொருவரிடம் ஒப்படைக்கும்போது, அந்த மூன்று வரிகள் அவருக்கு ஊகிப்பதற்குப் பதிலாக தோல்வி நிலையை மீண்டும் உருவாக்க உதவுகின்றன.

தொடர்புடைய கட்டுரைகள்