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.

LineWho starts itWhat can block itQuestion for the provider
Outbound destinationYour applicationEgress filter on the exit nodeIs this protocol and port allowed to that destination?
Inbound publishingA remote peerNo mapping, no public address, short lifetimeWhich protocol, which external port, and how long does the mapping last?
Tunnel transportYour client to the gatewayThe access network drops that protocolDoes 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.

ClientOuter transportDefault portWhen it helps
OpenVPNUDP1194Default mode; needs outbound UDP to pass
OpenVPNTCP443UDP is dropped and TCP 443 is not
WireGuardUDP51820Short handshake; there is no TCP mode
IKEv2/IPsecUDP500 and 4500Mobile 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.

Artikel terkait