sshuttle vs முழு VPN: அதன் முறை உண்மையில் எதை உள்ளடக்குகிறது
sshuttle அதன் அனுப்புதல் முறை ஆதரிப்பதை மட்டுமே எடுத்துச் செல்கிறது: முதலில் TCP, DNS மற்றும் UDP பரப்பு, தேவையான உள்ளூர் சிறப்புரிமை மற்றும் தொலை உதவியாளரைச் சரிபார்க்கவும்.
SSH ஏற்கனவே இயங்குவதாலும், மறையாக்கம் பழக்கமானதாகத் தோன்றுவதாலும் sshuttle தேர்ந்தெடுக்கப்படுகிறது, ஆனால் அந்த நியாயம் பொருத்தத்தைத் தீர்மானிக்கும் ஒரே கேள்வியைத் தவிர்க்கிறது. எந்தப் பொதிகள் இயந்திரத்தை விட்டு வெளியேறுகின்றன, மறுபுறம் எந்தக் கணக்கு அவற்றை எடுத்துச் செல்கிறது, கருவி எவ்வளவு உள்ளூர் சிறப்புரிமையைக் கோருகிறது. இந்த மூன்று பதில்களும் அனுப்புதல் முறையைப் பொறுத்து மாறுபடும், எனவே ஒரு பயன்பாட்டிற்கு வேலை செய்யும் அமைப்பு அடுத்ததற்கு அமைதியாகத் தோல்வியடையலாம். கீழேயுள்ள விளக்கம் பயன்பாட்டிற்கு உண்மையில் தேவையான நெறிமுறையிலிருந்து தொடங்குகிறது.
பயன்பாட்டிற்குத் தேவையான நெறிமுறையிலிருந்து தொடங்குங்கள்
sshuttle 2.0 இல் நெறிமுறை ஆதரவு நீங்கள் தேர்ந்தெடுக்கும் முறையைப் பொறுத்தது. Linux இன் NAT மற்றும் nft முறைகள் TCP மற்றும் DNS ஐக் கையாளுகின்றன, TPROXY பொதுவான UDP ஐச் சேர்க்கிறது. ஒவ்வொரு தளமும் முறையும் அதன் சொந்த எல்லைகளைக் கொண்டுள்ளன, macOS முற்றிலும் வேறு பொறிமுறையால் தடுக்கிறது. எதையும் தேர்ந்தெடுப்பதற்கு முன் நிறுவப்பட்ட பதிப்பு, தேர்ந்தெடுத்த முறை மற்றும் பயன்பாட்டிற்குத் தேவையான நெறிமுறைகளைப் பதிவு செய்யுங்கள்.
எனவே வேலை செய்யும் TCP கோரிக்கை UDP பயன்பாடு அல்லது ஒவ்வொரு DNS தேடல் பற்றி மிகக் குறைவாகவே நிரூபிக்கிறது. sshuttle TCP ஐ முழு IP பொதிகளைச் சுரங்கமிடுவதற்குப் பதிலாக ஓட்டங்களாகக் கருதுகிறது, எனவே வழக்கமான VPN இலிருந்து கடன் வாங்கிய செயல்திறன் முடிவு இங்கு பொருந்தாது. நீங்கள் உண்மையில் இயக்கும் பொறிமுறையை உண்மையில் உள்ள சுமையுடன் ஒப்பிடுங்கள்.
| Approach | What it carries | What it needs locally |
|---|---|---|
| SSH local forward | One explicitly named TCP destination | Nothing beyond the SSH client |
| sshuttle, nft or nat method | TCP and DNS to the routed prefixes | Root or sudo for firewall rules |
| sshuttle, tproxy method | TCP, DNS and general UDP | Root or sudo, and kernel support |
| IP VPN | Routed IP traffic in a tunnel | A client with the required privileges |
வாடிக்கையாளருக்கு உள்ளூரில் என்ன தேவை
ஆவணப்படுத்தப்பட்ட வாடிக்கையாளர் அமைப்பிற்கு root அல்லது sudo தேவை, ஏனெனில் அது சுரங்க இடைமுகத்தை உருவாக்குவதற்குப் பதிலாக உள்ளூர் தடுப்பு விதிகளை நிறுவுகிறது. அந்த ஒரு உண்மை பாதுகாப்புக் கதையை மாற்றுகிறது: அந்தச் சிறப்புரிமை உள்ள செயல்முறை ஒரு பயன்பாட்டின் மட்டுமல்ல, முழு இயந்திரத்தின் போக்குவரத்தையும் திருப்பிவிட முடியும். சிறப்புரிமையை நிறுவல் விவரமாக அல்ல, வடிவமைப்பின் பகுதியாகக் கருதுங்கள்.
கருவி எந்த விதிகளை நிறுவியது, அவை வெளியேறும்போது மறைந்துவிடுமா என்பதை உறுதிப்படுத்துங்கள். தடுப்பு விதிகளை விட்டுவிட்டு செயலிழந்த அமர்வு, இயக்குபவர் இணைப்பு போய்விட்டதாக நம்பிய பிறகும் நீண்ட காலம் போக்குவரத்தை கருந்துளைக்கு அனுப்பலாம், அறிகுறி மீதமுள்ள விதியைப் போலல்லாமல் வலையமைப்புக் கோளாறு போலத் தெரிகிறது.
sudo sshuttle --method nft --dns 172.19.4.0/24
nft list ruleset | grep -i sshuttle
ip route
முதல் கட்டளை வழக்கமான அழைப்பின் வடிவம், உண்மையில் தேவையான முன்னொட்டுடன். இரண்டாவது கருவி என்ன நிறுவியது என்பதைக் காட்டுகிறது, மூன்றாவது சுரங்க இடைமுகம் தோன்றவில்லை என்பதை உறுதிப்படுத்துகிறது, இது இந்த வடிவமைப்பிற்கு எதிர்பார்க்கப்பட்ட முடிவு.
தொலைப் பக்கம் என்ன இயக்குகிறது
தொலைப் பக்கம் அங்கீகரிக்கப்பட்ட SSH கணக்கு மற்றும் பொருத்தமான Python உதவியாளர் சூழல். கட்டுப்படுத்தப்பட்ட ஷெல்லில் வெற்றியடையும் உள்நுழைவு அந்த உதவியாளரை இயக்க அனுமதியைத் தானாக வழங்காது, உதவியாளரை இயக்கக்கூடிய கணக்கு ஒவ்வொரு இலக்கச் சேவையையும் தானாக அடையாது. இரண்டு உண்மைகளும் சிக்கல் தீர்க்கும் குறிப்புகளில் அல்ல, அணுகல் கோரிக்கையில் இடம்பெற வேண்டும்.
புரவலன் அடையாளச் சரிபார்ப்பையும் கணக்கின் அங்கீகாரத்தையும் பாதுகாக்கவும். முதல் இணைப்பு வேலை செய்ய அறியப்படாத புரவலன் விசையை ஏற்பது, தொலைப் பக்கம் நீங்கள் கருதிய இயந்திரம் என்பதைச் சரிபார்ப்பதை நீக்குகிறது, இது ஒற்றை நோக்க அனுப்புதலை விட இங்கு முக்கியமானது.
தொலைக் கணக்கை பணிப்பாய்வுக்குத் தேவையான சேவைகளுக்கு வரம்பிடுங்கள், அந்த வரம்பைப் புரவலனை இயக்குபவர்களுடன் பேசி முடிவு செய்யுங்கள். அவர்கள் நம்பிக்கை உறவின் பகுதி, வாடிக்கையாளர் பக்க அமைப்பு எதுவும் அதை மாற்றாது.
நம்பிக்கை எல்லை எங்கே உள்ளது
SSH வழியாக தனியார் API இணைப்பை அனுப்புவது ஒவ்வொரு API செயல்பாட்டிற்கும் அனுமதி அளிக்காது. பயன்பாட்டின் TLS மற்றும் பயன்பாட்டில் உள்நுழைவு இன்னும் பொருந்தும், கருவி அங்கீகாரமற்ற சேவையைப் பாதுகாப்பாக்க முடியாது. தொலைப் புரவலனிலிருந்து அடுத்த தாவலும் தானாக SSH சேனலைப் போன்ற அதே பாதுகாக்கப்பட்ட பிரிவாக இருக்காது, ஏனெனில் அந்த இரண்டாவது இணைப்பு தொலைப் புரவலனுக்கு உள்ள எந்தக் கொள்கையையும் பின்பற்றுகிறது.
எல்லையை ஒரு வாக்கியத்தில் எழுதுங்கள்: இந்த முன்னொட்டுகளுக்கான போக்குவரத்து அந்தப் புரவலனில் இந்தக் கணக்கு வழியாக வெளியேறுகிறது. வாக்கியத்திற்கு விதிவிலக்குகளின் ஒரு பத்தி தேவைப்பட்டால், வடிவமைப்பு அதன் ஆவணங்கள் கூறுவதை விட அதிகமாகச் செய்கிறது, உற்பத்தியை அடையும் முன் இரண்டாவது பார்வைக்குத் தகுதியானது.
ஒவ்வொரு நெறிமுறையிலும் நிரூபியுங்கள், பிறகு கருவியைத் தேர்ந்தெடுங்கள்
தேவையான ஒவ்வொரு நெறிமுறையையும் பாதிப்பில்லாத கோரிக்கையால் சோதியுங்கள், தீர்வியின் பாதை மற்றும் பயன்பாடு பயன்படுத்தும் முகவரி குடும்பங்கள் உட்பட. சோதனையில் துண்டிப்பையும் சேர்க்கவும், அப்போது பயன்பாட்டின் அனுமதிக்கப்பட்ட தோல்வி நடத்தை சம்பவத்தின் போது ஆச்சரியமாக அல்ல, அறியப்பட்ட முடிவாகும். இயங்கியபோது சரியாக அனுப்பிய அமர்வு, அது வீழ்ந்த பிறகு என்ன நடக்கிறது என்பதைப் பற்றி எதுவும் கூறாது.
வெளிப்படையாகப் பெயரிடப்பட்ட சில சேவைகளுக்கு சாதாரண உள்ளூர் அனுப்புதல் உரிமையாக்கவும் தணிக்கை செய்யவும் எளிதானது. அதன் முறைக்குப் பொருந்தும் பயன்பாட்டுப் போக்குவரத்திற்கு sshuttle சட்டபூர்வமான இடைவழியை வழங்குகிறது. தேவை பரந்த IP இணைப்பாக இருக்கும்போது, VPN வடிவமைப்பே நேர்மையான பதில், தேர்வு மறையாக்க வழிமுறைகளின் தரவரிசையை அல்ல, பரப்பு மற்றும் செயல்பாட்டுப் பொறுப்பைப் பின்பற்றுகிறது.