OpenVPN இல் முன்பே உருவாக்கிய tun: இரு உரிமை மாதிரிகளின் ஒப்பீடு
முன்பே உருவாக்கிய tun இடைமுகத்தை மீண்டும் பயன்படுத்தலாம், ஆனால் அதன் முகவரிகள் மற்றும் பாதைகளை ஒரே ஒரு கூறு மட்டுமே சொந்தமாகக் கொள்ள வேண்டும். ifconfig-noexec சேர்ப்பதற்கு முன் இரு மாதிரிகளையும் ஒப்பிடுங்கள்.
யாரோ tun1 ஐ முன்பே உருவாக்கியுள்ளார், சுயவிவரம் dev tun1 என்கிறது, இணைப்பு இன்னும் இணையவில்லை. ஹோஸ்ட்டில் பெயர் இருப்பது கிட்டத்தட்ட எதையும் சொல்லவில்லை, ஏனெனில் இணைவது பெயர்வெளி, சாதன வகை, இணைப்பின் உரிமையாளர் யார் மற்றும் டீமனுக்கு என்ன அனுமதி உண்டு என்பதைப் பொறுத்தது. சாதனத்தை மீண்டும் பயன்படுத்துவது இயல்புநிலை உள்ளமைவு மறைக்கும் ஒரு முடிவையும் கட்டாயப்படுத்துகிறது: எந்தக் கூறு முகவரிகளையும் பாதைகளையும் எழுதுகிறது. இரு ஏற்பாடுகளின் தோல்வி முறைகள் உள்ளமைவு வரிகளை விட மிக அதிகம் வேறுபடுகின்றன, எனவே சுயவிவரத்தைத் திருத்துவதற்கு முன் முடிவு செய்யுங்கள்.
பெயர் இணைவு அல்ல
dev tun1 OpenVPN இடம் அந்தப் பெயரிடப்பட்ட இடைமுகத்தைக் கேட்கிறது, பாரம்பரிய பயனர் இடைவெளி கட்டுமானங்கள் அதைத் திறக்க முயலும். பெயர் வழக்கமான tun அல்லது tap வடிவத்தைப் பின்பற்றவில்லை என்றால், சுயவிவரத்திற்கு பொருந்தும் dev-type உம் தேவை, ஏனெனில் வகை ஒருபோதும் சரத்திலிருந்து ஊகிக்கப்படுவதில்லை. TAP சாதனம் வேறு லேபிள் கொண்ட TUN சாதனம் அல்ல: தவறானதை இணைத்தால் ஒன்று நேரடியாகத் தோல்வியடையும், அல்லது யாரும் எதிர்பார்க்காத சட்டகங்களைச் சுமக்கும் இணைப்பு உருவாகும். எல்லாவற்றுக்கும் முன் வகையைச் சரிபாருங்கள், ஏனெனில் ஒவ்வொரு பிந்தைய சரிபார்ப்பும் இரு பக்கங்களும் அதில் ஒத்துக்கொண்டதாகக் கருதுகிறது. அதன் பிறகு, செயல்முறை சாதனத்தை உண்மையில் திறக்க முடியுமா என்பதை உறுதிப்படுத்துங்கள், வெறுமனே பார்ப்பது மட்டுமல்ல.
dev tun1
dev-type tun
பிணைய இடைமுகமும் /dev/net/tun உம் வெவ்வேறு பொருள்கள்: ஒன்று பெயர்வெளிக்குள் உள்ள இணைப்பு, மற்றொன்று பயனர் இடைவெளி நிரல் இணைவதற்குப் பயன்படுத்தும் எழுத்துச் சாதனம். Linux TUN/TAP ஆவணம் அந்த இணைவுப் பாதையையும் நிலையான சாதனங்களின் உரிமை விதிகளையும் விவரிக்கிறது. ip link இயக்கக்கூடிய root ஷெல் ஷெல்லுக்கு சிறப்புரிமைகள் உள்ளன என்பதை மட்டுமே நிரூபிக்கிறது, டீமனுக்கு உள்ளன என்பதை அல்ல. சாதன முனையத்தின் உரிமை, சேவையின் திறன் தொகுப்பு மற்றும் அது இயங்கும் பயனர் — அனைத்தும் பொருந்த வேண்டும், திறப்பு வெற்றிபெறும் முன்.
இருக்கும் ஆனால் திறக்க முடியாத சாதனம் உரிமைச் சிக்கல், வழிப்பாதைச் சிக்கல் அல்ல. பிழைத்திருத்தத்தின் போது அப்படியே கருதுங்கள், இல்லையெனில் பிற்பகல் ஒருபோதும் சிக்கலாக இல்லாத வழித்தட அட்டவணைகளைப் படிப்பதில் கழியும்.
இணைப்பை யார் உள்ளமைக்கிறார்: இரு உரிமை மாதிரிகள்
முதல் மாதிரியில் OpenVPN இணைப்பை உயர்த்துவதன் பகுதியாக முகவரிகளையும் பாதைகளையும் உள்ளமைக்கிறது. இதுவே இயல்புநிலை நடத்தை மற்றும் பகுத்தறிய எளிதானது, ஏனெனில் ஒரே கூறு நிலையை உருவாக்கி மீண்டும் அகற்றுகிறது. இரண்டாம் மாதிரியில் வெளிப்புற நிர்வாகி இடைமுகத்தைச் சொந்தமாகக் கொள்கிறார், ifconfig-noexec OpenVPN அதன் முகவரி உள்ளமைவுக் கட்டளைகளை இயக்குவதைத் தடுத்து அளவுருக்களை ஸ்கிரிப்ட்களுக்கு வழங்குகிறது. பின்னர் நிர்வாகி சரியான உள்ளூர் மற்றும் இணை உள்ளமைவைத் தாமே பயன்படுத்த வேண்டும், இது விருப்பத்தின் பெயர் குறிப்பதை விட அதிக வேலை. இவற்றில் தேர்ந்தெடுப்பது இணைப்பு உயர்ந்திருக்கும்போது யார் அதை மாற்றலாம் என்பதற்கான கேள்வி.
ifconfig-noexec முகவரிகளை மட்டும் உள்ளடக்குகிறது: வழித்தட அட்டவணை தொடப்படாமல் இருக்கும், பாதை உள்ளமைவு route-noexec க்கு உரியது. இரு கட்டளைகளையும் தனித்தனி உரிமையாளர்களைக் கொண்ட தனித்தனி கட்டுப்பாடுகளாகக் கருதுங்கள், ஏனெனில் ஒன்றை அமைத்து மற்றதைக் கருதுவது பாதி உள்ளமைக்கப்பட்ட இணைப்புகளின் பொதுவான மூலமாகும். ஒவ்வொரு அடுக்குக்கும் சரியாக ஒரு உரிமையாளரைத் தேர்ந்தெடுங்கள், முகவரிகள் ஒரு இடத்தில் பாதைகள் ஒரு இடத்தில். பிணைய நிர்வாகியும் VPN உதவியாளரும் இருவரும் முகவரிகளை எழுதுவதே, துண்டிப்பு மறுபக்கம் இன்னும் சார்ந்திருக்கும் நிலையை அழிக்கும் வழி.
முக்கியமான பெயர்வெளியிலிருந்து சாதனத்தை ஆய்வு செய்யுங்கள்
VPN செயல்முறை இயங்கும் பெயர்வெளியிலிருந்து சாதனத்தை ஆய்வு செய்யுங்கள், உங்கள் ஷெல் தற்செயலாக இருக்கும் இடத்திலிருந்து அல்ல. கீழேயுள்ள இரு கட்டளைகளும் வெவ்வேறு கேள்விகளுக்குப் பதிலளிக்கின்றன, ஹோஸ்ட் கொள்கலன் காணாத இடைமுகத்தைக் காணும்போது வேறுபாடு தெரிகிறது. கொடுக்கப்பட்ட வரிசையில் அவற்றை இயக்குங்கள், ஏனெனில் இணைப்பு உள்ளதா என்பதை அறிந்த பிறகே இரண்டாவதற்கு அர்த்தம் உண்டு.
ip -details link show dev tun1
ip tuntap show
முதல் கட்டளை இணைப்பை கர்னல் காண்பது போலவே அச்சிடுகிறது, கொடிகள் மற்றும் இடைமுக வகை உட்பட, அதன்மூலம் இதுவே நீங்கள் கருதிய சாதனம் என்பதை உறுதிப்படுத்துகிறீர்கள். இரண்டாவது நிலையான tun/tap உள்ளீடுகளைப் பட்டியலிடுகிறது, அவை எந்தச் செயல்முறையும் பிடிக்காமலே இருக்கின்றன. தனக்கு ஒதுக்கப்பட்ட உரிமையாளரை எதிர்பார்க்கும் இடைமுகம் வேறு VPN உடன் இணைக்கப்பட்ட உயிருள்ள சுரங்கப்பாதையிலிருந்து வேறுபட்ட நிலை, மேலும் உங்கள் சொந்த இணைவு ஏன் தோல்வியடைகிறது என்பதை இரண்டாவது மட்டுமே விளக்குகிறது. எதையும் மாற்றுவதற்கு முன் சாதனத்தைப் பிடித்திருக்கும் செயல்முறையைக் கண்டறியுங்கள், ஏனெனில் நிலையான உள்ளீட்டிற்கும் பயன்பாட்டில் உள்ள இடைமுகத்திற்கும் வெவ்வேறு தீர்வுகள் உள்ளன.
பல வரிசை ஆதரவு என்பது அதன் சொந்தத் தேவைகளைக் கொண்ட குறிப்பிட்ட இயக்கி ஏற்பாடு, தொடர்பில்லாத செயல்முறைகள் ஒரு இடைமுகத்தைப் பகிர அனுமதி அல்ல. மற்றொரு உரிமையாளரின் உயிருள்ள அமர்வு ஒருங்கிணைப்புச் சிக்கல், எந்தச் சுயவிவரத் திருத்தமும் அதைத் தீர்க்காது.
இரு வகையான நிலைத்தன்மை
கர்னல் நிலைத்தன்மையும் persist-tun உம் குழப்பிக்கொள்ள எளிதான, தவறாகக் கருதினால் விலை உயர்ந்த ஆயுட்காலங்களை விவரிக்கின்றன. நிலையான சாதனம் எந்தச் செயல்முறையிலிருந்தும் சுயாதீனமாக இருக்கிறது, எனவே நிறுத்தத்திலிருந்து தப்பித்து அடுத்த தொடக்கத்தால் மீண்டும் பயன்படுத்தப்படலாம். persist-tun ஒரே OpenVPN செயல்முறைக்குள் ஆதரிக்கப்படும் மென்மையான மறுதொடக்கங்கள் முழுவதும் வளங்களைத் தக்கவைக்கிறது, மிகக் குறுகிய எல்லை. இரண்டும் சேவையை நிறுத்தினால் பாதைகளும் முகவரிகளும் அவற்றின் இடத்தில் இருக்கும் என்று உறுதியளிக்கவில்லை, தெரியும் இடைமுகம் செயல்படும் மறையாக்க அமர்வுக்கான சான்று அல்ல.
பின்தளத்தையும் உறுதிப்படுத்துங்கள், ஏனெனில் முன்பே உருவாக்கிய இடைமுகம் எந்தச் செயலாக்கம் அதைத் திறக்கும் என்பதைப் பற்றி எதுவும் சொல்லவில்லை. நேரடி தரவுப் பாதையைக் கொண்ட சமூகக் கட்டுமானங்கள், வடிவமைப்பு வேறுவிதமாகக் கூறாவிட்டால், அதைப் பயன்படுத்த முயலும். பதிப்பு இந்த நிலைமாற்றியை ஆதரிக்கும் இடத்தில், disable-dco அதற்குப் பதிலாக பயனர் இடைவெளிப் பாதையைத் தேர்ந்தெடுக்கிறது; பழைய இயந்திரங்களும் பிற வாடிக்கையாளர்களும் அத்தகைய கட்டளை இல்லை, எனவே பதிப்பு நிபந்தனையை விருப்பத்திற்கு அருகில் வைத்திருங்கள், அது பொருந்தும் என்று கருத வேண்டாம்.
தொடக்கத்தை மட்டும் சோதித்தால் என்ன உடையும்
உரிமை ஒப்பந்தம் முதல் சோதனையில் தேர்ச்சி பெற்று கடைசியில் தோல்வியடையலாம், இது தொடக்கத்தைத் தனியாக பலவீனமான சரிபார்ப்பாக்குகிறது. அதற்குப் பதிலாக இரு மாற்றங்களைக் கவனியுங்கள்: ஒரு மென்மையான மறுதொடக்கம், மற்றும் முழு நிறுத்தம் அதைத் தொடர்ந்து தொடக்கம்.
systemctl status openvpn-client@lab
ip -details link show dev tun1
தொடக்கம் எளிய நிலை: அலகு மேலெழுகிறது, இணைப்பு தோன்றுகிறது, நிலையின் வெளியீடு ஏற்றப்பட்ட சுயவிவரத்தைப் பெயரிடுகிறது. இணைவு என்பது டீமன் சாதனத்தைத் திறக்கும் தருணம், எனவே அலகு செயலில் இருப்பதாக அறிவித்த பிறகு இணைப்புச் சரிபார்ப்பை இயக்குங்கள், அதற்கு முன் அல்ல. நிலை இன்னும் செயல்படுத்தப்படும்போது இணைப்பு இருந்தால், இதுவரை யாரும் இணைக்காத நிலையான சாதனத்தைப் பார்க்கிறீர்கள், செயல்படும் சுரங்கப்பாதையை அல்ல. தொடர்வதற்கு முன் இணைப்பு வழியாக உண்மையான போக்குவரத்தை அனுப்புங்கள், ஏனெனில் பயன்படுத்தக்கூடிய பாதை இல்லாத இணைக்கப்பட்ட இடைமுகமும் தோல்வியே.
kill -SIGHUP $(pidof openvpn)
journalctl -u openvpn-client@lab -n 40
systemctl stop openvpn-client@lab
ip -details link show dev tun1
மென்மையான மறுதொடக்கம் அமர்வைப் பயன்படுத்தக்கூடியதாகவும் வளங்களைப் பாதுகாப்பாகவும் விட வேண்டும், அதுவே persist-tun செய்யும் வேலை. முழு நிறுத்தம் என்பது வெளிப்புற நிர்வாகி தன்னை வெளிப்படுத்தும் இடம்: இணைப்போ அதன் முகவரிகளோ நிறுத்தத்திலிருந்து தப்பித்தால், அவற்றின் உரிமையாளர் வேறு யாரோ, அது நீங்கள் பதிவு செய்த நிலையோ இப்போது கண்டறிந்த பிழையோ ஆகும். இரு அவதானிப்புகளையும் சுயவிவரத்திற்கு அருகில் பதிவு செய்யுங்கள், அடுத்த மாற்றம் வரைபடத்திலிருந்து அல்ல, சான்றிலிருந்து தொடங்கும் வகையில்.