VPN port talablari: taqqoslashdan oldin yoziladigan uch satr
Haqiqatan qaysi port savoli borligini aniqlang: chiquvchi manzil, ichkariga e’lon yoki tunnelning o‘z transporti. So‘ng provayderdan faqat shuni so‘rang.
VPN xizmatlari uchun port ro‘yxatlari ular muhimmi yoki yo‘qligini hal qiladigan tafsilotsiz taqqoslash sahifalari orasida ko‘chiriladi: ulanishni kim boshlaydi. Chiquvchi TCP 443 ga ruxsat beruvchi qoida boshqa xost sizning mashinangizdagi tinglovchiga yeta oladimi-yo‘qmi haqida hech narsa demaydi. Bitta rejani taqqoslashdan oldin uchta alohida talab yozing va vazifangizga qaysilari haqiqatan kerakligini belgilang. O‘sha varaq mavjud bo‘lsa, ko‘p taqqoslashlar bitta qisqa savolga qisqaradi.
Har qanday port ro‘yxatini o‘qishdan oldin talabni ajrating
Uch satr deyarli barcha holatlarni qamrab oladi: tunnelning narigi tomonidagi manzilga yetish, boshqalar ichkariga ulanashi uchun biror narsani e’lon qilish va tunnelning o‘zini tashish. Har bir satr boshqa sabab bilan muvaffaqiyatsiz bo‘ladi va bittasini qanoatlantiradigan provayder siyosati qolgan ikkitasiga tegmasligi mumkin. Vazifani to‘g‘ri satrga joylashtirish besh daqiqa vaqt oladi va keyin bir tortishuvni tejaydi.
| 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? |
Marketing bayonotlari uch satrni ataylab xiralashtiradi. P2P ruxsati manzil siyosatini tavsiflaydi, ajratilgan manzil manzilni tavsiflaydi, port cheklovlari yo‘qligi haqidagi da’vo esa odatda reja ularni sanab o‘tmasligini bildiradi. Bu iboralarning hech biri qolganlariga javob bermaydi.
Bitta aniq oqimni tanlab, uni gap sifatida yozing: boshlovchi, transport, port, manzillar oilasi, yo‘nalish. Uzoq xostga yuklaydigan tungi zaxira mijozi faqat chiquvchi. Stolingizdagi do‘stlar qo‘shiladigan o‘yin serveri kiruvchi. Ikkalasini bitta tunneldan o‘tkazish varaq ikkala satrni ham talab qilishini bildiradi, ular orasidagi kelishuvni emas.
Chiquvchi kirish tunnelda emas, manzil siyosatida muvaffaqiyatsiz bo‘ladi
Tarjima qiluvchi shlyuz orqali chiquvchi trafik holat yaratadi. Ichki manzil va portdan kelgan birinchi paket tarjima yozuvini quradi va javoblar unga mos keladi; bu RFC 3022 da tasvirlangan xaritalash xatti-harakati. Aynan shu mexanizm brauzer yorlig‘i odatda hech qanday port so‘rovisiz ishlashining sababidir.
Ikki narsa buni hanuz buzadi. Chiqish tuguni suiiste’mol qilinadigan deb hisoblagan manzillarni yoki port raqamlarini filtrlashi mumkin, ilova esa chiqish siyosati hech qachon kutmagan portda tinglayotgan bo‘lishi mumkin. Kiruvchi qoidalar haqida emas, manzil juftligi haqida so‘rang va TCP hamda UDP uchun har xil javoblarni kuting.
Bahslashishdan oldin o‘lchang. Bularni tunnel orqasida turadigan mashinada ishga tushiring, bir marta tunnel o‘chirilganda va bir marta yoqilganda:
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
Xuddi shu buyruqlar, xuddi shu manzil, tunnelning ikki holati operatorga asosida harakat qilish mumkin bo‘lgan oldin-keyin taqqoslashini beradi. Hujjat manzilini haqiqatan kerak bo‘lgan xost bilan almashtiring; muhimi taqqoslashning takrorlanishi, biron raqamning ta’sirli ko‘rinishi emas.
Ichkariga e’lon qilish xaritalash, manzil va umr talab qiladi
Ochiq tomonda biror narsa uni qayerga yetkazishni bilmasa, tashqaridan hech narsa sizning tinglovchingizga ulanish boshlay olmaydi. Operator ushlab turgan statik port rezervatsiyasi, mijoz UPnP, NAT-PMP yoki PCP orqali so‘ragan xaritalash va marshrutlangan ochiq manzil — bu uch xil mahsulot, uch xil chegara bilan.
Ularning har biri haqida beshta savol bering: qaysi protokol, qaysi tashqi port, tashqi port mahalliydan farq qilishi mumkinmi, qaysi manzillar oilasini qamrab oladi va qayta ulangandan keyin xaritalash qancha turadi. Faol sessiyaga bog‘langan rezervatsiya o‘sha sessiya tugaganda yo‘qoladi, reja sahifasi nima desa ham.
Avval mahalliy yarmini tasdiqlang, chunki o‘lik tinglovchi va to‘silgan kiruvchi yo‘l tashqaridan bir xil ko‘rinadi:
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
Mahalliy so‘rov 200 qaytarsa va siz boshqarmaydigan tarmoqdan kelgan so‘rov hali ham vaqt tugab tugasa, bo‘shliq ochiq tomonda. Ilovani nomi bilan tasvirlash o‘rniga operatorga protokol va tashqi portni aytish kerak bo‘lgan lahza shu.
Tunnelning o‘z transporti alohida savol
Tashuvchi portlari muammoning eng kichik qismi va eng oson qidiriladigani. Standart qiymatlar protokolga qarab farq qiladi, mijoz nimani kelishib olishi esa har qanday reja tavsifidan muhimroq.
| 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 |
Chiquvchi UDP ni tashlaydigan tarmoq TCP 443 tunnelini qabul qiladi va UDP ni rad etadi, shuning uchun zaxira rejim talablar varaqiga tegishli. Tashuvchini almashtirish tunnel ichidagi ilova portini siljitmaydi va manzil siyosatini kengaytirmaydi; ular o‘z satrlarida qoladi.
U yerda bo‘lganingizda bo‘laklanish bitta sinovga arziydi, chunki ulanib keyin katta uzatishlarda tiqilib qoladigan tunnelda odatda yopiq port emas, noto‘g‘ri MTU bo‘ladi:
ping -M do -s 1400 203.0.113.10 ping -M do -s 1372 203.0.113.10
Windows da xuddi shu sinov — ping -f -l 1400 203.0.113.10. O‘tadigan eng katta o‘lchamdan pastroq tunnel MTU sini qo‘ying, so‘ng muvaffaqiyatsiz uzatishni qayta sinab ko‘ring.
Reja uchun to‘lashdan oldin uch satrni tekshiring
Uch satrni bitta sahifaga qo‘ying va har bir katakni va’da o‘rniga o‘lchangan natija bilan to‘ldiring. Bu buyruqlar o‘sha sahifaning mahalliy yarmini taxminan bir daqiqada yaratadi:
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
Natijani nazorat ro‘yxati sifatida o‘qing. Tunnel yoqilganda manzil javob bersa, chiquvchi ishlaydi. Faqat tarmog‘ingizdan tashqaridagi xost tashqi portdagi tinglovchiga yetsa, kiruvchi ishlaydi. Tashuvchi kirish tarmog‘ingiz ruxsat bergan protokolda qo‘l berish tugasa ishlaydi.
Ikki odat varaqni halol tutadi. Har bir natija yoniga sana va mijoz versiyasini yozib qo‘ying, chunki provayder siyosatlari ham, mijoz standart qiymatlari ham o‘zgaradi. So‘ng oqimga xizmat qiladigan eng tor xaritalashni so‘rang, chunki hammasini ochish iltimosi odatda texnik javob o‘rniga rad yoki qo‘shimcha savdo keltiradi.