Persyaratan port VPN: tiga baris yang ditulis sebelum membandingkan
Tentukan pertanyaan port mana yang sebenarnya Anda miliki: tujuan keluar, penerbitan masuk, atau transportasi terowongan itu sendiri. Lalu tanyakan hanya itu kepada penyedia.
Daftar port untuk layanan VPN disalin antarhalaman perbandingan tanpa detail yang menentukan apakah daftar itu penting: siapa yang memulai koneksi. Aturan yang mengizinkan TCP 443 keluar tidak mengatakan apa pun tentang apakah host lain dapat menjangkau pendengar di mesin Anda. Tulis tiga persyaratan terpisah sebelum membandingkan satu paket pun, dan tandai mana yang benar-benar dibutuhkan tugas Anda. Sebagian besar perbandingan menyusut menjadi satu pertanyaan singkat begitu lembar itu ada.
Pisahkan persyaratannya sebelum Anda membaca daftar port apa pun
Tiga baris mencakup hampir semua kasus: mencapai tujuan di luar terowongan, menerbitkan sesuatu agar orang lain dapat terhubung masuk, dan membawa terowongannya sendiri. Setiap baris gagal karena alasan berbeda, dan kebijakan penyedia yang memenuhi satu dapat membiarkan dua lainnya tak tersentuh. Menempatkan tugas Anda di baris yang tepat memakan lima menit dan menghemat perdebatan nanti.
| 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? |
Pernyataan pemasaran mengaburkan ketiga baris itu dengan sengaja. Izin P2P menjelaskan kebijakan tujuan, alamat khusus menjelaskan alamat, dan klaim tidak ada batasan port biasanya berarti paket tidak mencantumkannya. Tidak satu pun frasa itu menjawab yang lain.
Pilih satu alur konkret dan tulis sebagai kalimat: pemrakarsa, transportasi, port, famili alamat, arah. Klien cadangan malam yang mengunggah ke host jauh hanya keluar. Server game di meja Anda yang diikuti teman adalah masuk. Menjalankan keduanya melalui satu terowongan berarti lembar itu membutuhkan kedua baris, bukan kompromi di antaranya.
Akses keluar gagal pada kebijakan tujuan, bukan pada terowongan
Lalu lintas keluar melalui gateway yang menerjemahkan menciptakan keadaan. Paket pertama dari alamat dan port internal membangun entri terjemahan, dan balasannya cocok dengannya, yang merupakan perilaku pemetaan yang dijelaskan dalam RFC 3022. Mekanisme itulah sebabnya tab peramban biasanya berfungsi tanpa permintaan port sama sekali.
Dua hal masih merusaknya. Node keluar dapat menyaring tujuan atau nomor port yang dianggapnya dapat disalahgunakan, dan aplikasi mungkin mendengarkan pada port yang tidak pernah diharapkan kebijakan keluar. Tanyakan tentang pasangan tujuan, bukan aturan masuk, dan harapkan jawaban berbeda untuk TCP dan UDP.
Ukur sebelum berdebat. Jalankan ini di mesin yang akan berada di belakang terowongan, sekali dengan terowongan mati dan sekali dengan terowongan hidup:
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
Perintah yang sama, tujuan yang sama, dua keadaan terowongan, memberi operator perbandingan sebelum dan sesudah yang dapat mereka tindak lanjuti. Ganti alamat dokumentasi dengan host yang benar-benar Anda butuhkan; yang penting perbandingannya berulang, bukan bahwa angka mana pun tampak mengesankan.
Penerbitan masuk membutuhkan pemetaan, alamat, dan masa hidup
Tidak ada yang dari luar dapat memulai koneksi ke pendengar Anda kecuali sesuatu di sisi publik tahu ke mana harus mengirimkannya. Reservasi port statis yang dipegang operator, pemetaan yang diminta klien melalui UPnP, NAT-PMP, atau PCP, dan alamat publik yang dirutekan adalah tiga produk berbeda dengan tiga batas berbeda.
Ajukan lima pertanyaan tentang salah satunya: protokol apa, port luar apa, apakah port luar boleh berbeda dari yang lokal, famili alamat apa yang dicakupnya, dan berapa lama pemetaan bertahan setelah penyambungan ulang. Reservasi yang terikat pada sesi aktif hilang saat sesi itu berakhir, apa pun kata halaman paket.
Konfirmasikan dulu separuh lokalnya, karena pendengar mati dan jalur masuk yang terblokir terlihat sama dari luar:
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
Ketika permintaan lokal mengembalikan 200 dan permintaan dari jaringan yang tidak Anda kendalikan masih kehabisan waktu, celahnya ada di sisi publik. Itulah saatnya menyebutkan protokol dan port luar kepada operator alih-alih menjelaskan aplikasinya dengan nama.
Transportasi terowongan itu sendiri adalah pertanyaan terpisah
Port pembawa adalah bagian terkecil dari masalah dan paling mudah dicari. Nilai bawaan berbeda menurut protokol, dan apa yang dapat dinegosiasikan klien lebih penting daripada deskripsi paket mana pun.
| 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 |
Jaringan yang membuang UDP keluar akan menerima terowongan TCP 443 dan menolak yang UDP, jadi mode cadangan termasuk dalam lembar persyaratan. Mengganti pembawa tidak memindahkan port aplikasi di dalam terowongan dan tidak memperluas kebijakan tujuan; keduanya tetap di barisnya sendiri.
Fragmentasi layak mendapat satu uji selagi Anda di sana, karena terowongan yang terhubung lalu mandek pada transfer besar biasanya memiliki MTU yang salah, bukan port tertutup:
ping -M do -s 1400 203.0.113.10 ping -M do -s 1372 203.0.113.10
Di Windows uji yang sama adalah ping -f -l 1400 203.0.113.10. Atur MTU terowongan di bawah ukuran terbesar yang lolos, lalu uji ulang transfer yang gagal.
Verifikasi ketiga baris sebelum Anda membayar paket
Letakkan ketiga baris di satu halaman dan isi setiap sel dengan hasil terukur alih-alih janji. Perintah berikut menghasilkan separuh lokal halaman itu dalam sekitar satu menit:
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
Baca keluarannya sebagai daftar periksa. Keluar berfungsi ketika tujuan menjawab dengan terowongan hidup. Masuk hanya berfungsi ketika host di luar jaringan Anda menjangkau pendengar di port luar. Pembawa berfungsi ketika jabat tangan selesai pada protokol yang diizinkan jaringan akses Anda.
Dua kebiasaan menjaga lembar itu jujur. Catat tanggal dan versi klien di samping setiap hasil, karena kebijakan penyedia dan nilai bawaan klien keduanya bergerak. Lalu minta pemetaan tersempit yang melayani alur itu, karena permintaan membuka semuanya cenderung menuai penolakan atau penawaran tambahan alih-alih jawaban teknis.