VPN ஓட்டத்தில் கிளையண்டின் மூல போர்ட்டும் சேவையகத்தின் கேட்பவரும்
ஒரு சுரங்கப்பாதையில் இரண்டு போர்ட் எண்களை ஒப்பிடுங்கள்: சேவையகத்தின் நிலையான கேட்பவர் மற்றும் கிளையண்டின் தற்காலிக மூலம், மற்றும் அவற்றுக்கு இடையே ரவுட்டரின் மொழிபெயர்ப்பு எப்படி உள்ளது.
ஒரே உரையாடலில் இரண்டு எண்கள் தோன்றுகின்றன, இரண்டும் தவறில்லை. சேவையை வழங்கும் கேட்பவரை சேவையகப் பதிவு காட்டுகிறது, டேட்டாகிராம் அனுப்பிய சாக்கெட்டை மடிக்கணினி காட்டுகிறது, இடையில் உள்ள ரவுட்டர் வெளியேறும் போது இரண்டாவதை மீண்டும் எழுதலாம். எண்களை ஒப்பிடுவதை விட உரையாடலின் இரு முனைகளை ஒப்பிடுவது பயனுள்ளது. கீழேயுள்ள ஒப்பீடு கேட்பவர், கிளையண்ட் சாக்கெட், மொழிபெயர்க்கப்பட்ட மூலம் ஆகியவற்றைத் தனித்தனியாக வைத்திருக்கிறது, ஏனெனில் அவை வெவ்வேறு கேள்விகளுக்குப் பதிலளிக்கின்றன.
எதிர் முனைகளை விவரிக்கும் இரண்டு எண்கள்
சேவையகத்தின் உள்ளமைக்கப்பட்ட போர்ட் கிளையண்ட் அழைக்கும் இலக்கு. அதைக் கொள்கை நிர்ணயிக்கிறது, சுயவிவரத்தில் தோன்றுகிறது, சேவையகப் பக்கத்தில் திறந்திருக்க வேண்டும். கிளையண்டின் மூல போர்ட் உள்ளூரில், பொதுவாக தற்காலிக வரம்பிலிருந்து தேர்ந்தெடுக்கப்படுகிறது, பதிலுக்கு இறங்க இடம் இருக்க வேண்டும் என்பதற்காக இருக்கிறது. ஒவ்வொரு மறுஇணைப்பிலும் அது மாறலாம், வடிவமைப்பில் எதுவும் அதன் நிலைத்தன்மையைச் சார்ந்திருக்கவில்லை.
இடையிலுள்ள ரவுட்டர் அந்த மூலத்தை தனது 'NAT' வரைபடத்தில் மீண்டும் எழுதலாம். அதனால்தான் சேவையகத்தில் தெரியும் எண்ணுக்கு மடிக்கணினி தேர்ந்தெடுத்த எண்ணுடன் பெரும்பாலும் தொடர்பில்லை.
வெளியேறும் போது மூல எண் எங்கு மாறுகிறது
ஒரு கற்பனை IPv4 உதாரணத்தை எடுங்கள்: மொழிபெயர்க்கும் ரவுட்டருக்குப் பின்னால் ஒரு கிளையண்ட், ஒரு 'UDP' கேட்பவர் கொண்ட சேவையகம், இரண்டையும் கடக்கும் ஒரு டேட்டாகிராம். மூன்று கண்காணிப்புப் புள்ளிகளில் பாக்கெட்டை மீண்டும் இயக்குவதற்குப் பதிலாக ஒவ்வொரு முனையையும் அதற்கு என்ன நடக்கிறது என்பதையும் அட்டவணை பெயரிடுகிறது.
| Endpoint | What stays fixed | What changes on reconnect | Who owns it |
|---|---|---|---|
| Server listener | The service port and the address the profile names | Nothing; the listener does not follow the client | The server operator |
| Client socket | The destination it dials | The local source port, chosen per socket | The client, or its operating system |
| Translated source | Usually the public address of the router | The port, and sometimes the address after a network switch | The NAT device or the upstream carrier |
இலக்கு ஒவ்வொரு வரியிலும் நிலையானது, மாறுவது மூலத்தின் அடையாளம் மட்டுமே. UDP NAT தேவைகள் உள் முகவரி மற்றும் போர்ட்டை வெளிப்புற வரைபடத்திலிருந்து பிரிக்கின்றன, அதுவே இரண்டாவது மற்றும் மூன்றாவது வரிகளுக்கு இடையிலான வேறுபாடு. ரவுட்டர் கிளையண்டின் மூல போர்ட்டைத் தக்கவைக்கலாம் அல்லது வேறொன்றைத் தேர்ந்தெடுக்கலாம்; தக்கவைப்பது பயன்பாடு கருத வேண்டிய ஒன்று அல்ல.
மூன்று முனைகளையும் ஹோஸ்ட்களிலிருந்தே படியுங்கள்
கீழேயுள்ள பட்டியல்கள் மூன்று வெவ்வேறு இயந்திரங்களிலிருந்து வந்து ஒன்றாக முழு உரையாடலையும் காட்டுகின்றன. முதலாவதை சேவையகத்திலும், இரண்டாவதை கிளையண்டிலும், மூன்றாவதை வரைபடம் உள்ள எந்த இடத்திலும் இயக்குங்கள். ஒரு பதிவு வரி ஒருபோதும் மூன்றையும் காட்டுவதில்லை.
ss -lunp 'sport = :1194'
ss -unp | grep 1194
conntrack -L -p udp | grep 1194
முதல் பட்டியல் சேவையகம் சேவை போர்ட்டில் பிணைக்கப்பட்டுள்ளதை நிரூபித்து, எந்த செயல்முறை அதைக் கொண்டுள்ளது என்பதைக் காட்டுகிறது. இரண்டாவது கிளையண்டின் உள்ளூர் சாக்கெட்டையும் அது அழைத்த இலக்கையும் காட்டுகிறது. மூன்றாவது ரவுட்டர் உருவாக்கிய வரைபடத்தைக் காட்டுகிறது, மொழிபெயர்க்கப்பட்ட மூலம் தோன்றும் ஒரே இடம் அதுவே. அந்த வரிசையில் படியுங்கள், இரண்டு எண்களும் முரண்பாடாகத் தோன்றுவது நிற்கும்.
மறுஇணைப்பு எதை மாற்றுகிறது, எதை மாற்றாது
சில ரவுட்டர்கள் கிளையண்டின் மூல போர்ட்டை காலியாக இருந்தால் தக்கவைக்கின்றன, மற்றவை ஒவ்வொரு முறையும் வேறொன்றை ஒதுக்குகின்றன. இரண்டு நடத்தைகளும் சராசரி, முதல் ஒன்றைக் கோரும் பயன்பாடு இரண்டாவதில் உடையும். மறுஇணைப்பு அல்லது பிணைய மாற்றத்திற்குப் பிறகு வரைபடம் மாறுவது சேவையகக் குற்றமல்ல: கிளையண்ட் புதிய சாக்கெட்டைத் திறக்கிறது, ரவுட்டர் தன்னிடமுள்ளதை வழங்குகிறது, சேவையகம் அதே கேட்பவரில் புதிய மூலத்தைக் காண்கிறது. தன்னிச்சையான கிளையண்ட் போர்ட்டுக்கு அனுப்பப்பட்ட போக்குவரத்தை சேவையகம் ஏற்கும் என எதிர்பார்ப்பதே குற்றம்.
சமூகத்தின் OpenVPN கிளையண்டுகள் இந்த நடத்தையை nobind மூலம் பெறுகின்றன, இது இயக்க முறைமைக்கு உள்ளூர் போர்ட்டைத் தேர்ந்தெடுக்க அனுமதிக்கிறது; தொலை போர்ட் இன்னும் சுயவிவரத்திலிருந்தே வருகிறது. வெளிப்படையாகப் பிணைப்பது வேண்டுமென்றே எடுக்கும் முடிவு, நெறிமுறைத் தேவை அல்ல. சேவையகம் ஒரு முனையை வழங்கிக்கொண்டே இருக்கிறது, கிளையண்டுகள் தங்கள் உள்ளூர் அடையாளங்களைத் தேர்ந்தெடுக்கின்றன.
பதிவில் அடுக்குகளைத் தனித்தனியாக லேபிள் செய்யுங்கள்
சுரங்கப்பாதைக்குள் அதன் சொந்த போர்ட்டுகளுடன் இரண்டாவது உரையாடல் உள்ளது. சுரங்கப்பாதை எடுத்துச் செல்லும் HTTPS கோரிக்கையின் இலக்கு TCP 443, அதேசமயம் வெளிப்புற மறையாக்க இணைப்பு UDP 1194 பயன்படுத்துகிறது, எனவே வெளிப்புற மூல போர்ட்டை மாற்றுவது உட்புற சேவையில் எதையும் மாற்றாது.
வெளிப்புற அடுக்கிலும் நெறிமுறை முக்கியம். UDP 1194 மற்றும் TCP 1194 வெவ்வேறு முனைகள், எண் பொருந்துகிறது என்பதற்காக மட்டும் 'TCP' கேட்பவர் ஒருபோதும் UDP டேட்டாகிராமைப் பெறாது. ஒரு பயன்பாட்டை ஆவணப்படுத்தும்போது சேவையகக் கேட்பவர், கிளையண்ட் சாக்கெட், மொழிபெயர்க்கப்பட்ட மூலம் ஆகியவற்றை மூன்று வெவ்வேறு விஷயங்களாக லேபிள் செய்து, ஒவ்வொன்றுக்கும் போக்குவரத்தைச் சேர்க்கவும்.
பின்னர் கொள்கை பாத்திரங்களைப் பின்பற்றட்டும். சேவையகம் திட்டமிட்ட போக்குவரத்தை தன் கேட்பவரில் திறந்து இன்னும் துணையை அங்கீகரிக்கிறது; கிளையண்டின் ஃபயர்வால் உள்வரும் சேவையை வெளியிடாமல் தன் சொந்த வெளிச்செல் பரிமாற்றத்திற்கான பதில்களை அனுமதிக்கிறது. நிலையற்ற வடிகட்டிக்கு திரும்பும் திசை வெளிப்படையாக எழுதப்பட வேண்டும், மற்றும் ஒழுங்கான வரைபடங்களுக்கு அப்பாலும் இந்த வேறுபாடு முக்கியமானதற்கான நடைமுறை காரணம் அதுவே.