VPN પોર્ટ આવશ્યકતાઓ: સરખામણી પહેલાં લખવાની ત્રણ લીટીઓ
તમારી પાસે ખરેખર કયો પોર્ટ પ્રશ્ન છે તે નક્કી કરો: બહાર જતું ગંતવ્ય, અંદર પ્રકાશન, કે ટનલનું પોતાનું પરિવહન. પછી પ્રદાતાને ફક્ત એ જ પૂછો.
VPN સેવાઓની પોર્ટ યાદીઓ સરખામણી પાનાંઓ વચ્ચે એવી વિગત વગર કૉપી થાય છે જે નક્કી કરે છે કે તેઓ મહત્ત્વની છે કે નહીં: જોડાણ કોણ શરૂ કરે છે. બહાર જતા TCP 443 ને મંજૂરી આપતો નિયમ એ વિશે કંઈ કહેતો નથી કે બીજું યજમાન તમારા મશીન પરના શ્રોતાને પહોંચી શકે છે કે નહીં. એક પણ યોજના સરખાવતા પહેલાં ત્રણ અલગ આવશ્યકતાઓ લખો, અને તમારા કાર્યને ખરેખર કઈ જોઈએ તે ચિહ્નિત કરો. એ પત્રક હોય તો મોટાભાગની સરખામણીઓ એક ટૂંકા પ્રશ્નમાં સંકોચાઈ જાય છે.
કોઈપણ પોર્ટ યાદી વાંચતા પહેલાં આવશ્યકતા અલગ કરો
ત્રણ લીટીઓ લગભગ દરેક કિસ્સો આવરી લે છે: ટનલની બહારના ગંતવ્ય સુધી પહોંચવું, કંઈક પ્રકાશિત કરવું જેથી બીજા અંદર જોડાઈ શકે, અને ટનલને પોતે વહન કરવી. દરેક લીટી અલગ કારણસર નિષ્ફળ જાય છે, અને એકને સંતોષતી પ્રદાતા નીતિ બાકીની બેને અસ્પર્શિત રાખી શકે છે. તમારા કાર્યને યોગ્ય લીટીમાં ગોઠવવામાં પાંચ મિનિટ લાગે છે અને પછીથી એક દલીલ બચાવે છે.
| Line | Who starts it | What can block it | Question for the provider |
|---|---|---|---|
| Outbound destination | Your application | Egress filter on the exit node | Is this protocol and port allowed to that destination? |
| Inbound publishing | A remote peer | No mapping, no public address, short lifetime | Which protocol, which external port, and how long does the mapping last? |
| Tunnel transport | Your client to the gateway | The access network drops that protocol | Does the client offer a fallback the local network permits? |
માર્કેટિંગ નિવેદનો ત્રણ લીટીઓને જાણી જોઈને ધૂંધળી કરે છે. P2P પરવાનગી ગંતવ્ય નીતિ વર્ણવે છે, સમર્પિત સરનામું સરનામું વર્ણવે છે, અને પોર્ટ પર કોઈ પ્રતિબંધ નથી એવો દાવો સામાન્ય રીતે એમ કહે છે કે યોજના તેમની યાદી આપતી નથી. એમાંથી કોઈ પણ વાક્ય બાકીનાનો જવાબ આપતું નથી.
એક ચોક્કસ પ્રવાહ પસંદ કરો અને તેને વાક્ય તરીકે લખો: શરૂ કરનાર, પરિવહન, પોર્ટ, સરનામા કુટુંબ, દિશા. દૂરના યજમાન પર અપલોડ કરતું રાત્રિનું બેકઅપ ક્લાયન્ટ ફક્ત બહાર જાય છે. તમારા ડેસ્ક પરનું જે ગેમ સર્વર મિત્રો જોડાય છે તે અંદર આવે છે. બંનેને એક ટનલમાંથી ચલાવવાનો અર્થ એ છે કે પત્રકને બંને લીટીઓની જરૂર છે, તેમની વચ્ચે સમાધાનની નહીં.
બહાર જતી પહોંચ ટનલ પર નહીં, ગંતવ્ય નીતિ પર નિષ્ફળ જાય છે
અનુવાદ કરતા ગેટવેમાંથી બહાર જતો ટ્રાફિક સ્થિતિ ઊભી કરે છે. આંતરિક સરનામા અને પોર્ટમાંથી પ્રથમ પેકેટ અનુવાદ એન્ટ્રી બનાવે છે, અને જવાબો તેની સાથે મેળ ખાય છે, જે RFC 3022 માં વર્ણવેલ મેપિંગ વર્તન છે. એ જ કારણસર બ્રાઉઝરની ટૅબ સામાન્ય રીતે કોઈ પોર્ટ વિનંતી વગર કામ કરે છે.
બે બાબતો હજી પણ તેને તોડે છે. એક્ઝિટ નોડ એવા ગંતવ્યો કે પોર્ટ નંબર ગાળી શકે છે જેને તે દુરુપયોગપાત્ર ગણે છે, અને એપ્લિકેશન એવા પોર્ટ પર સાંભળતી હોઈ શકે છે જેની એક્ઝિટ નીતિએ ક્યારેય અપેક્ષા ન રાખી હોય. અંદર આવતા નિયમોને બદલે ગંતવ્ય જોડી વિશે પૂછો, અને TCP તથા UDP માટે અલગ જવાબોની અપેક્ષા રાખો.
દલીલ કરતા પહેલાં માપો. આ ટનલની પાછળ રહેનારા મશીન પર ચલાવો, એક વાર ટનલ બંધ રાખીને અને એક વાર ચાલુ રાખીને:
ss -lntup | sort
nc -vz -w 3 203.0.113.10 443
curl -sS -o /dev/null -w '%{http_code}\n' --max-time 5 https://example.com
એ જ આદેશો, એ જ ગંતવ્ય, બે ટનલ સ્થિતિઓ, સંચાલકને એવી પહેલાં-પછીની સરખામણી આપે છે જેના પર તે કાર્ય કરી શકે. દસ્તાવેજી સરનામાને તમને ખરેખર જોઈતા યજમાનથી બદલો; મહત્ત્વનું એ છે કે સરખામણી પુનરાવર્તિત થાય, કોઈ આંકડો પ્રભાવશાળી લાગે તે નહીં.
અંદર પ્રકાશનને મેપિંગ, સરનામું અને આયુષ્ય જોઈએ
બહારનું કંઈ પણ તમારા શ્રોતા સાથે જોડાણ શરૂ કરી શકતું નથી જ્યાં સુધી જાહેર બાજુ પર કંઈક જાણતું ન હોય કે તેને ક્યાં પહોંચાડવું. સંચાલક પાસે રહેલું સ્થિર પોર્ટ અનામત, UPnP, NAT-PMP કે PCP દ્વારા ક્લાયન્ટે માંગેલું મેપિંગ, અને રૂટ કરેલું જાહેર સરનામું — આ ત્રણ અલગ ઉત્પાદનો છે, ત્રણ અલગ મર્યાદાઓ સાથે.
તેમાંથી કોઈ પણ વિશે પાંચ પ્રશ્નો પૂછો: કયો પ્રોટોકોલ, કયો બાહ્ય પોર્ટ, બાહ્ય પોર્ટ સ્થાનિક કરતાં અલગ હોઈ શકે છે કે નહીં, તે કયું સરનામા કુટુંબ આવરે છે, અને ફરી જોડાયા પછી મેપિંગ કેટલું ટકે છે. સક્રિય સત્ર સાથે બંધાયેલું અનામત એ સત્ર પૂરું થતાં જ અદૃશ્ય થાય છે, યોજનાનું પાનું ભલે ગમે તે કહે.
પહેલાં સ્થાનિક અડધો ભાગ નિશ્ચિત કરો, કારણ કે મૃત શ્રોતા અને અવરોધાયેલો અંદર આવતો માર્ગ બહારથી એકસરખા દેખાય છે:
ss -lntup | grep -E ':(8080|51820)\b'
python3 -m http.server 8080 --bind 0.0.0.0
curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8080
જ્યારે સ્થાનિક વિનંતી 200 પાછી આપે અને તમે નિયંત્રિત ન કરતા નેટવર્કની વિનંતી હજી સમય સમાપ્ત થાય, ત્યારે ખાલી જગ્યા જાહેર બાજુ પર છે. એ જ ક્ષણે એપ્લિકેશનને નામથી વર્ણવવાને બદલે સંચાલકને પ્રોટોકોલ અને બાહ્ય પોર્ટ કહેવા જોઈએ.
ટનલનું પોતાનું પરિવહન અલગ પ્રશ્ન છે
વાહક પોર્ટ સમસ્યાનો સૌથી નાનો ભાગ છે અને શોધવામાં સૌથી સહેલા છે. ડિફૉલ્ટ પ્રોટોકોલ પ્રમાણે અલગ પડે છે, અને ક્લાયન્ટ શું વાટાઘાટ કરી શકે તે કોઈ પણ યોજના વર્ણન કરતાં વધુ મહત્ત્વનું છે.
| Client | Outer transport | Default port | When it helps |
|---|---|---|---|
| OpenVPN | UDP | 1194 | Default mode; needs outbound UDP to pass |
| OpenVPN | TCP | 443 | UDP is dropped and TCP 443 is not |
| WireGuard | UDP | 51820 | Short handshake; there is no TCP mode |
| IKEv2/IPsec | UDP | 500 and 4500 | Mobile clients; 4500 carries NAT traversal |
જે નેટવર્ક બહાર જતા UDP ને ફેંકી દે છે તે TCP 443 ટનલ સ્વીકારશે અને UDP વાળી નકારશે, તેથી ફૉલબૅક મોડ આવશ્યકતાના પત્રકમાં જ હોવો જોઈએ. વાહક બદલવાથી ટનલની અંદરનો એપ્લિકેશન પોર્ટ ખસતો નથી, અને ગંતવ્ય નીતિ વિસ્તરતી નથી; તેઓ પોતાની લીટીઓમાં જ રહે છે.
ત્યાં હાજર હો ત્યારે ફ્રૅગ્મેન્ટેશનની એક કસોટી યોગ્ય છે, કારણ કે જોડાઈને પછી મોટા સ્થાનાંતરણો પર અટકી જતી ટનલમાં સામાન્ય રીતે બંધ પોર્ટ નહીં પણ ખોટું MTU હોય છે:
ping -M do -s 1400 203.0.113.10 ping -M do -s 1372 203.0.113.10
Windows પર એ જ કસોટી ping -f -l 1400 203.0.113.10 છે. જે સૌથી મોટું માપ પસાર થાય તેની નીચે ટનલનું MTU સેટ કરો, પછી નિષ્ફળ ગયેલું સ્થાનાંતરણ ફરી ચકાસો.
યોજના માટે ચૂકવણી કરતા પહેલાં ત્રણ લીટીઓ ચકાસો
ત્રણ લીટીઓ એક પાના પર મૂકો અને દરેક કોષને વચનને બદલે માપેલા પરિણામથી ભરો. આ આદેશો એ પાનાનો સ્થાનિક અડધો ભાગ લગભગ એક મિનિટમાં તૈયાર કરે છે:
ss -lntup | sort
nc -vz -w 3 203.0.113.10 443
python3 -m http.server 8080 --bind 0.0.0.0
curl -sS -o /dev/null -w '%{http_code}\n' http://127.0.0.1:8080
ping -M do -s 1400 203.0.113.10
આઉટપુટને ચેકલિસ્ટ તરીકે વાંચો. ટનલ ચાલુ હોય ત્યારે ગંતવ્ય જવાબ આપે તો બહાર જતું કામ કરે છે. ફક્ત તમારા નેટવર્કની બહારનું યજમાન બાહ્ય પોર્ટ પરના શ્રોતા સુધી પહોંચે તો અંદર આવતું કામ કરે છે. તમારું પ્રવેશ નેટવર્ક જે પ્રોટોકોલની મંજૂરી આપે તેના પર હેન્ડશેક પૂરો થાય તો વાહક કામ કરે છે.
બે ટેવો પત્રકને પ્રામાણિક રાખે છે. દરેક પરિણામની બાજુમાં તારીખ અને ક્લાયન્ટ આવૃત્તિ નોંધો, કારણ કે પ્રદાતાની નીતિઓ અને ક્લાયન્ટના ડિફૉલ્ટ બંને બદલાય છે. પછી પ્રવાહને સેવા આપતું સૌથી સાંકડું મેપિંગ માંગો, કારણ કે બધું ખોલવાની વિનંતી સામાન્ય રીતે ટેકનિકલ જવાબને બદલે નકાર અથવા વધારાનું વેચાણ મેળવે છે.