OpenVPN-க்கான SOCKS5 ப்ராக்ஸி: TCP சுரங்கப்பாதையா அல்லது பயன்பாடுகளை ப்ராக்ஸி செய்வதா?
ப்ராக்ஸி ஒரு ஓட்டத்தை அனுப்புகிறது, டேட்டாகிராம் அல்ல. socks-proxy பின்னால் உள்ள TCP சுரங்கப்பாதையை redsocks மறுவழியமைப்புடன் ஒப்பிட்டு, ஒவ்வொரு வடிவமைப்பும் முதலில் எங்கு தோல்வியடைகிறது எனப் பாருங்கள்.
ப்ராக்ஸி வழியாக மட்டுமே வெளியேற அனுமதிக்கும் நெட்வொர்க்குகள்தான் வேலை செய்த ப்ரொஃபைல் திடீரென இறக்கும் இடம். ப்ராக்ஸி முகவரி அந்தத் தோல்வியில் மிகக் குறைவான ஆர்வமுள்ள மாறி. எல்லாவற்றையும் தீர்மானிப்பது ப்ராக்ஸி அனுப்பப்போகும் ட்ராஃபிக்கின் வடிவம், ஏனெனில் இந்த ப்ராக்ஸிகள் பைட் ஓட்டத்தை அனுப்புகின்றன, UDP சுரங்கப்பாதை அப்படி அல்ல. இது இரண்டு கட்டமைப்புகளை விட்டுச் செல்கிறது, அவை வெவ்வேறு இடங்களில் உடைகின்றன.
ஒரு கட்டுப்பாடு வடிவமைப்பைத் தீர்மானிக்கிறது
SOCKS5 உண்மையில் UDP சங்க முறையைக் குறிப்பிடுகிறது. இருப்பினும் OpenVPN கிளையண்டின் ப்ராக்ஸி ஆதரவு ஓட்டங்களைச் சுற்றிக் கட்டப்பட்டுள்ளது: socks-proxy TCP ப்ரொஃபைல்களுக்கு ஆவணப்படுத்தப்பட்டுள்ளது, மேலும் HTTP CONNECT ப்ராக்ஸிக்கு டேட்டாகிராம்களுக்கு எந்தப் பாதையும் இல்லை. ஆவணத்தின் ஒரு வரி கட்டமைப்புக் கோப்பைத் தொடுவதற்கு முன்பே கட்டமைப்பைத் தீர்மானிக்கிறது.
எனவே கேள்வி எந்த ப்ராக்ஸி தேர்ந்தெடுப்பது என்பதல்ல. சுரங்கப்பாதை ஓட்டமாக மாறுகிறதா, அல்லது டேட்டாகிராமாகவே இருந்து ப்ராக்ஸிங் செய்வதை வேறொன்று உள்வாங்க அனுமதிக்கிறதா என்பதே.
விருப்பம் A: சுரங்கப்பாதையை ஓட்டமாக்குங்கள்
இதற்கு TCP கேட்பானுடன் ஒரு சேவையகமும், ப்ராக்ஸியைப் பெயரிடும் கிளையண்ட் ப்ரொஃபைலும் தேவை. இரண்டு பகுதிகளும் அவசியம், மக்கள் மறப்பது சேவையகப் பகுதியை:
proto tcp-client
remote vpn.example.net 443
socks-proxy 127.0.0.1 1080கடைசி வரியை http-proxy proxy.internal 8080 ஆல் மாற்றுங்கள் ப்ராக்ஸி HTTP பேசும்போது, தேவைப்பட்டால் ஒரு சான்றுகள் கோப்பையும் சேர்க்கவும். ப்ராக்ஸி உங்கள் VPN துறைமுகத்திற்கு CONNECT செய்யத் தயாராக இருக்க வேண்டும், சேவையகம் TCP-இல் பதிலளிக்க வேண்டும்; UDP மட்டும் கேட்பான் அந்த முயற்சியைப் புறக்கணிக்கிறது. 443 ஐத் தேர்ந்தெடுப்பது நடைமுறை நடவடிக்கை, ஏனெனில் பல கட்டுப்படுத்தப்பட்ட நெட்வொர்க்குகள் அதையும் சிறிது மற்றதையும் மட்டுமே அனுமதிக்கின்றன.
செலவு TCP-யின் மேல் TCP அடுக்குவது. ஒரு இழந்த வெளிப்புறப் பகுதி அந்த இணைப்பைப் பகிரும் ஒவ்வொரு உள் ஓட்டத்தையும் நிறுத்துகிறது, எனவே பொதுவாக சுயாதீனமாக இருக்கும் மீட்பு பகிரப்பட்டதாகிறது. அமைப்பதும் அதிக நேரம் எடுக்கும், நிலையற்ற வெளிப்புறப் பாதை மெதுவானதற்குப் பதிலாக நிலையற்ற சுரங்கப்பாதையாகிறது.
விருப்பம் B: சுரங்கப்பாதையை விட்டுவிடுங்கள்
சுரங்கப்பாதை UDP-இல் இருக்க வேண்டியிருக்கும்போது, எதையும் கட்டமைக்கும் இடம் சுரங்கப்பாதை அல்ல. அதற்குப் பதிலாக பயன்பாடுகளிலிருந்து வெளியேறும் TCP உள்ளூர் SOCKS கேட்பானுக்கு மறுவழியமைக்கப்படுகிறது, பயன்பாடுகள் ப்ராக்ஸி இருப்பதை அறியவே அறியா. Linux-இல் இது பொதுவாக redsocks மற்றும் nat அட்டவணையில் NAT REDIRECT விதி.
மீண்டும் TCP மட்டும். privoxy போன்ற HTTP மட்டும் ப்ராக்ஸி தன்னிச்சையான நெறிமுறைகளை அனுப்ப முடியாது, இந்த வடிவமைப்பு பயன்பாடுகளுக்கு டேட்டாகிராம் ஆதரவையும் சேர்க்கவில்லை.
மென்பொருள் ஆதரிக்கும் இடத்தில் ஒவ்வொரு பயன்பாட்டிற்கும் ப்ராக்ஸியை நேரடியாகச் சொல்வது பொதுவாகச் சிறந்தது. தணிக்கை செய்வது எளிது, நீங்கள் உண்மையில் பார்க்கக்கூடிய இடத்தில் தோல்வியடைகிறது.
ஒவ்வொரு விருப்பமும் எங்கு தோல்வியடைகிறது
சேவையகத்திற்கு TCP கேட்பான் இல்லாதபோது, ப்ராக்ஸி CONNECT இலக்கை மறுக்கும்போது, அல்லது வெளிப்புற ஓட்டம் சுரங்கப்பாதைக்குத் தேவையானதை விடக் குறைவாகக் கட்டுப்படுத்தப்படும்போது விருப்பம் A தோல்வியடைகிறது. முதல் இரண்டும் ப்ராக்ஸி பதிவில் ஒரு உள்ளீட்டை விட்டுச் செல்கின்றன; மூன்றாவது நிறுவப்பட்ட பிறகு தவறாகத் தோன்றும் இணைப்பை விட்டுச் செல்கிறது. ப்ரொஃபைலைத் திருத்தும் முன் அந்தப் பதிவைப் படியுங்கள், ஏனெனில் அது அனுமதிச் சிக்கலைத் திறன் சிக்கலிலிருந்து பிரிக்கிறது. முடிந்த CONNECT விசாரணையைச் சுரங்கப்பாதைக்குள் நகர்த்துகிறது.
டேட்டாகிராம் தேவைப்படும் எல்லாவற்றிற்கும், ப்ராக்ஸி புரியாத நெறிமுறைகளுக்கும், மறுவழியமைப்பு விதி இருந்தும் வழியமைப்பு ட்ராஃபிக்கை அதன் பக்கமாக அனுப்பும் ஹோஸ்ட்களில் அமைதியாக விருப்பம் B தோல்வியடைகிறது.
எந்த விருப்பமும் சாதனத் தேவையை மாற்றவில்லை. கர்னல் வழியமைக்கும் முன் பாக்கெட்டுகளுக்கு இன்னும் TUN அல்லது TAP முனை தேவை, எனவே செயல்முறைக்கு இன்னும் /dev/net/tun இல் அனுமதி தேவை. ஒரு உறை அந்த முனை திறந்த பிறகு என்ன நடக்கிறது என்பதை மாற்றுகிறது, உங்களுக்கு அது தேவையா என்பதை அல்ல.
நீங்கள் எந்தப் பாதையை உருவாக்கினீர்கள் என்பதை நிரூபியுங்கள்
ட்ரே ஐகானுக்குப் பதிலாக சாக்கெட்டுகளைப் பாருங்கள். VPN செயல்முறை ப்ராக்ஸி முகவரிக்கு நிறுவப்பட்ட இணைப்பை வைத்திருக்க வேண்டும், ப்ராக்ஸி அதிலிருந்து அடையக் கோரப்பட்ட இலக்கைப் பதிவு செய்திருக்க வேண்டும்:
ss -tnp | grep openvpnபின்னர் சுரங்கப்பாதை மட்டுமே சேவை செய்யக்கூடிய இலக்கிற்கும், சுரங்கப்பாதையின் தீர்வான் மட்டுமே பதிலளிக்கக்கூடிய பெயருக்கும் செல்லுங்கள். இறந்த சுரங்கப்பாதையுடன் முடிந்த ப்ராக்ஸி இணைப்பு பொதுவாக தொலை முனை உங்கள் ப்ரொஃபைலில் பெயரிடப்பட்ட போக்குவரத்தை ஒருபோதும் வழங்கவில்லை என்று பொருள்.
போக்குவரத்தையும் ஏற்கும் ப்ராக்ஸியையும் நீடித்த இடத்தில் குறிப்பிடுங்கள். அதே ப்ரொஃபைல் வேறு நெட்வொர்க்கில் தோல்வியடையும்போது, அந்தக் குறிப்பு சில வினாடிகளில் ப்ராக்ஸியை நீக்குகிறது அல்லது உறுதிப்படுத்துகிறது.