OpenVPN-இன் "File exists" ஒரு வழித்தடத்தில் கோப்புப் பிரச்சனை அல்ல
இந்தச் செய்தி கோப்பு முறைமையிலிருந்து அல்ல, கர்னலின் வழித்தட அட்டவணையிலிருந்து வருகிறது. LAN கொள்கையை மாற்றுவதற்கு முன் ஏற்கனவே முன்னொட்டைக் கொண்டுள்ள பதிவைப் படியுங்கள்.
செய்தி தோன்றும் இடத்திலிருந்தே தொடங்குங்கள். ஒரு வாடிக்கையாளர் இணைக்கிறது, சுரங்கப்பாதை மேலெழுகிறது, பிறகு Linux-இன் வழித்தடம் சேர்க்கும் கட்டளை File exists உடன் தோல்வியடைந்ததாக பதிவு தெரிவிக்கிறது. அந்த வாக்கியத்தில் சான்றிதழ், விசை அல்லது உள்ளமைவு கோப்பு பற்றி எதுவும் குறிப்பிடப்படவில்லை, சொற்கள் அதைப் பரிந்துரைத்தாலும். கர்னல் தன் வழித்தட அட்டவணையை விவரிக்கிறது, நீங்கள் நிறுவக் கோரிய முன்னொட்டுக்கு ஏற்கனவே ஒரு பதிவு உள்ளது.
வாடிக்கையாளரின் சொந்த வரிசையைப் பின்பற்றுங்கள்: அது என்ன கேட்டது, அட்டவணையில் ஏற்கனவே என்ன இருந்தது, அந்தப் பதிவை அங்கே யார் வைத்தார், அதன் பிறகே என்ன மாற்ற வேண்டும். ஒவ்வொரு படியும் ஒரு சாத்தியமான உரிமையாளரை நீக்குகிறது.
வாடிக்கையாளர் உண்மையில் என்ன கேட்டுக்கொண்டிருந்தது
தோல்விக்கு முன், சேர்க்க நினைக்கும் வழித்தடத்தை வாடிக்கையாளர் பதிவு செய்கிறது, பொதுவாக இலக்கு, பிணைய முகமூடி, நுழைவாயில் மற்றும் சில நேரங்களில் மெட்ரிக் அல்லது அட்டவணையாக. அந்த வரியே கோரிக்கை. அதைத் தொடரும் பிழை கர்னலின் பதில், இரண்டையும் சேர்த்தே படிக்க வேண்டும்.
journalctl -u openvpn-client@office -b --no-pager | grep -nE 'route|File exists'
openvpn --config /etc/openvpn/client/office.ovpn --verb 4 --log /tmp/ovpn.log
வழித்தட உதவியாளரின் பூஜ்ஜியமற்ற வெளியேறும் நிலை அதற்குக் கீழே உள்ள உரையை விடக் குறைவான தகவலைத் தருகிறது, ஏனெனில் வெவ்வேறு கர்னல் பதில்கள் பூஜ்ஜியமற்ற நிலையை உருவாக்குகின்றன. சரியான செய்தியை வைத்திருங்கள்; ஏற்கனவே உள்ள பதிவுக்கும் அடைய முடியாத நுழைவாயிலுக்கும் இடையிலான வேறுபாடு அடுத்த எந்தப் பகுதிகள் பொருந்தும் என்பதைத் தீர்மானிக்கிறது.
ஏற்கனவே உள்ள வழித்தடத்தைப் படியுங்கள், முகவரியை மட்டும் அல்ல
அட்டவணையில் அதே புள்ளியிடப்பட்ட நான்கையும் தேடுவது போதாது. வழித்தடப் பொருள் அதன் முகவரிக் குடும்பம், அட்டவணை, இலக்கு முன்னொட்டு, மெட்ரிக், நெறிமுறை மற்றும் வெளியீட்டுச் சாதனத்தால் அடையாளம் காணப்படுகிறது, மேலும் முன்னொட்டைப் பகிரும் பதிவுகள் அந்தப் பண்புகள் வேறுபடும்போது சட்டப்பூர்வமாக ஒன்றாக இருக்கலாம். மோதுவது முழுப் பொருளே, உரை அல்ல.
ip -4 route show table all | grep -F '10.40.'
ip -4 route show match 10.40.0.0/16
ip -4 route get 10.40.0.5
கடைசிக் கட்டளை முதல் இரண்டை விட வேறு கேள்விக்குப் பதிலளிக்கிறது: என்ன இருக்கிறது என்பது அல்ல, அந்த இலக்குக்கு கர்னல் இப்போது எந்தப் பதிவைத் தேர்ந்தெடுக்கும் என்பது. இரு பார்வைகளும் பயனுள்ளவை, எந்த முடிவுக்கும் வருவதற்கு முன் ஒப்பிடத் தகுந்த அளவுக்கு அவை அடிக்கடி வேறுபடுகின்றன. அவற்றுக்கிடையிலான முரண்பாடே சுவாரஸ்யமான நிகழ்வு, வட்டமிடல் பிழை அல்ல.
தோல்வியடைந்த கோரிக்கைக்கு அருகில் முன்னொட்டு, அட்டவணை, மெட்ரிக் மற்றும் சாதனத்தைப் பதிவு செய்யுங்கள். ஏற்கனவே உள்ள பதிவுக்கு அதே பண்புகளும் அதே அடுத்த தாவலும் இருந்தால், உங்களிடம் வழித்தடப் பிரச்சனை அல்ல, நகலெடுக்கப்பட்ட அறிவுறுத்தல் உள்ளது.
முன்னொட்டுக்கு இருக்கக்கூடிய நான்கு உரிமையாளர்கள்
இணைக்கப்பட்ட வழித்தடங்கள் ஒதுக்கப்பட்ட முகவரியிலிருந்து வருகின்றன, அந்த முகவரி இருக்கும் போதெல்லாம் கணினி அவற்றை மீண்டும் உருவாக்குகிறது. DHCP வாடிக்கையாளர் அல்லது இணைப்பு மேலாளர் தன் வாழ்க்கைச் சுழற்சியின் பகுதியாக வழித்தடங்களை நிறுவுகிறது. மற்றொரு VPN வாடிக்கையாளர் ஏற்கனவே அதே முன்னொட்டைக் கொண்டிருக்கலாம். மேலும் உள்ளூர் கொக்கி அல்லது ஸ்கிரிப்ட் வேறு எதுவும் அறியாத ஒன்றைச் சேர்க்கலாம்.
ஒவ்வொரு உரிமையாளருக்கும் வெவ்வேறு திருத்தம் தேவை. இணைக்கப்பட்ட வழித்தடம் நீங்கள் அழிக்க வேண்டியது அல்ல; அதை அகற்றுவது சுரங்கப்பாதை பயன்படுத்தக்கூடியதாகும் முன் உள்ளூர் அணுகலை உடைக்கலாம், கர்னல் அதைத் திரும்ப வைக்கும். மேலாளருக்குச் சொந்தமான வழித்தடம் அந்த மேலாளர் வழியாகவே மாற்றப்பட வேண்டும், அடுத்த மறுஇணைப்பால் ரத்தாகும் கைமுறை ip route del மூலம் அல்ல.
தக்கவைக்கப்பட்ட இடைமுகம் அதே குழப்பத்தை எளிதாக்குகிறது. சுரங்கப்பாதைச் சாதனம் மறுஇணைப்பிலிருந்து தப்பிப் பிழைத்தால், தனிப்பயன் அமைப்புக் குறியீட்டால் நிறுவப்பட்ட வழித்தடங்கள் இரண்டாவது ஓட்டத்திலும் இருக்கலாம், எனவே தூய நிலையைக் கருதும் ஸ்கிரிப்ட் இரண்டாவது முறை தோல்வியடைந்து முதல் முறை வேலை செய்கிறது. பழைய பதிவை வேண்டுமென்றே அழிக்கவும் அல்லது அமைப்புக் குறியீட்டை மீள்செயலற்றதாக்கவும்.
block-local வேறு கேள்விக்குப் பதிலளிக்கிறது
ஒரு சுயவிவரம் அனைத்து இயக்கத்தையும் சுரங்கப்பாதை வழியாக அனுப்பும்போது, உள்ளூர் பிணையத்திற்கு என்ன நேரும் என்பதை வாடிக்கையாளர் தீர்மானிக்க வேண்டும். block-local கொடி உள்ளூர் LAN-ஐ சுரங்கப்பாதை வழியாக வழிநடத்தி அந்த முடிவை மாற்றுகிறது, அதே நேரம் LAN நுழைவாயிலுக்கான ஆவணப்படுத்தப்பட்ட விலக்கைத் தக்கவைக்கிறது; இது அடையக்கூடிய தன்மையில் தெரியும் விளைவுகளைக் கொண்ட போக்குவரத்துக் கொள்கைத் தேர்வு.
வழித்தடம் சேர்த்தல் ஏன் ஏற்கனவே உள்ள பதிவுப் பிழையைத் திருப்பியது என்பதை இது விளக்கவில்லை, அதைப் பொதுவான திருத்தமாக ஏற்பது உண்மையான முரண்பாட்டைக் கொள்கை மாற்றத்தின் பின்னால் மறைக்கிறது. சுயவிவரத்தைத் திருத்திய பிறகு உங்கள் உள்ளூர் ஆதாரங்கள் அடைய முடியாதவையாக மாறினால், இந்தக் கொடி முதலில் சரிபார்க்க வேண்டியவற்றில் ஒன்று; வழித்தடம் சேர்த்தல் தோல்வியடைந்தால், இது பதில் அல்ல.
எந்த இலக்குகள் உள்ளூராக இருக்கும் என்பதற்கான முடிவாக இதைக் கருதுங்கள், வேண்டுமென்றே எடுக்கப்பட்டு எழுதப்பட்டது. பதிவு கவலையளிக்கும் போது முயற்சிக்க வேண்டிய சுவிட்ச் இது அல்ல.
சுழற்சியை மூடுங்கள்: நகலெடுப்பை அதன் மூலத்திலேயே அகற்றுங்கள்
எந்த உரிமையாளர் பதிவை வைத்திருக்கிறார் என்று தெரிந்த பிறகு, அறிவுறுத்தல் வரையறுக்கப்பட்ட இடத்திலேயே நகலெடுக்கப்பட்ட அறிவுறுத்தலை அகற்றுங்கள். அது சுயவிவரத்தில் route வரியாக, சேவையகத்திலிருந்து வரும் push ஆக, அல்லது இனி இயக்கத் தேவையில்லாத கொக்கியாக இருக்கலாம்.
ip -4 route show match 10.40.0.0/16
ip -4 route get 10.40.0.5
journalctl -u openvpn-client@office -b --no-pager | tail -n 15
பிறகு மீண்டும் இணைத்து மூன்று விஷயங்களை உறுதிசெய்யுங்கள்: சுரங்கப்பாதை மேலெழுகிறது, எதிர்பார்க்கப்பட்ட இலக்கு நீங்கள் விரும்பிய பாதைக்குத் தீர்க்கப்படுகிறது, தோல்வி அதன் இடத்தில் புதியது வராமல் மறைந்துவிடுகிறது. தவறாகத் தேர்ந்தெடுக்கப்பட்ட பாதையுடன் தூய பதிவு திருத்தம் அல்ல.
முன்னொட்டு ஒரு பக்கத்தில் உள்ளூர் LAN-ஐயும் மறுபக்கத்தில் தொலைப் பிணையத்தையும் குறிக்குமானால், பிரச்சனை நகலெடுப்பு அல்ல, முகவரி மேலெழுதல், எந்த அழிப்பும் இரு பொருள்களையும் ஒரே நேரத்தில் உண்மையாக்காது. அந்த வழக்குக்கு இரு பிணையங்களில் ஒன்றுக்கு வேறு திட்டம் தேவை. எதையும் தொடுவதற்கு முன் எந்தப் பக்கம் மறுஎண்ணிடப்படும் என்பதை முடிவு செய்யுங்கள்.