Adakah TCP 443 benar-benar membantu? Hanya jika pelayan mendengar di sana
Profil TCP ialah jalan sandaran, bukan penyamaran. Sahkan pelayan mendengar pada port itu, kemudian timbang kos TCP berganda berbanding ketidakbolehan dicapai.
TCP 443 ialah jalan sandaran dengan prasyarat, bukan penyamaran yang menyelitkan terowong melepasi mana-mana penapis. Ia membantu apabila pengendali sudah menerbitkan pendengar TCP pada port itu dan laluan bertahan dengan sambungan yang kekal terbuka berjam-jam. Ia gagal, biasanya sebagai tamat masa, apabila salah satu daripadanya tiada, dan tamat masa jarang menyatakan yang mana. Keputusan untuk bertukar memerlukan tiga soalan, dan hanya satu daripadanya tentang nombor port.
Nombor port bukan janji pengangkutan
Port menamakan titik akhir; TCP menjadikannya aliran bait tersusun; OpenVPN menentukan apa yang bergerak di dalam aliran itu. Pelayan web pada nombor yang sama menggunakan susunan aplikasi yang sama sekali berbeza, jadi perkongsian port 443 membuat kedua-duanya kelihatan serupa kepada penapis dan tidak lebih daripada itu. Nombor itu ialah petunjuk yang dibaca penapis, bukan sifat yang mengubah kandungan paket. Menganggap kedua-duanya sama kerana berkongsi port ialah kesilapan di sebalik sebahagian besar kekeliruan di sini.
Peranti perantaraan jarang membuat keputusan benarkan-atau-sekat yang mudah tentang sesuatu port. Banyak menyemak bait pertama, sesetengah menetapkan destinasi, dan sesetengah menetapkan semula sambungan yang kekal terbuka terlalu lama. Itulah sebabnya profil yang sama boleh berfungsi dari satu rangkaian dan tamat masa dari rangkaian lain, dan sebabnya jalan sandaran wajar diuji sebagai pilihan yang disokong dan bukan dipercayai sebagai janji. Apabila penapis memeriksa trafik, nombor port hanyalah perkara pertama yang dilihatnya.
Sahkan pendengar sebelum menyentuh profil
Pelayan mesti dikonfigurasikan untuk TCP pada port itu, dan profil klien mesti meminta pengangkutan yang sama. Menulis semula profil UDP untuk meminta TCP tidak mencipta pendengar, dan tamat masa yang terhasil tidak dapat dibezakan daripada tembok api yang menggugurkan port. Muat turun profil TCP pengendali sendiri apabila ada, kerana sesetengah perkhidmatan menerbitkan titik akhir dan tetapan identiti berasingan bagi setiap pengangkutan. Penyuntingan tangan sesuai untuk ujian terkawal dan cara yang buruk untuk meneka konfigurasi yang dimaksudkan penyedia.
Kedua-dua belah padanan itu kelihatan dalam konfigurasi, dan pilihan pautan projek OpenVPN mendokumenkan kedua-dua bentuk. Pasangan minimum kelihatan seperti ini:
# server: accept TCP on this port
proto tcp-server
port 443
# client: request the same transport
proto tcp
remote vpn.example.com 443Tiga syarat menentukan sama ada jalan sandaran berbaloi
Syarat pertama ialah pengendali menawarkan pengangkutan itu sama sekali; tanpanya, tiada apa-apa lagi yang penting. Yang kedua ialah laluan mengekalkan sesi jangka panjang, kerana sesetengah rangkaian menetapkan semula sambungan yang kekal terbuka dan bukannya menyekat port sepenuhnya. Yang ketiga ialah sama ada jalan sandaran itu pengecualian yang disengajakan atau jalan pintas yang menyembunyikan kerosakan yang belum anda baiki.
Setiap syarat mempunyai pemeriksaan murah. Kegagalan pada mana-mana daripadanya kelihatan sama dari pihak klien:
| Condition | How to check it | What a failure decides |
|---|---|---|
| The server offers TCP | The operator's profile list, or a listening-socket check on the server | No client-side edit can help |
| The path keeps long sessions | A test connection left open for an hour | Reconnects will look like server faults |
| The fallback is deliberate | A change record naming the UDP fault | The underlying fault stays invisible |
Sebelum membandingkan pengangkutan, selesaikan sebarang daftar masuk pada portal tawanan. Rangkaian yang belum menerima peranti anda menyekat kedua-dua pengangkutan, dan perbandingan itu kemudian mengukur portal dan bukan terowong. Daftar masuk, sahkan pelayaran biasa berfungsi, dan hanya selepas itu mulakan ujian.
Kos yang anda terima: TCP di dalam TCP
TCP menghantar semula segmen yang hilang dan mengekalkan susunannya. Apabila aplikasi yang juga menggunakan TCP berjalan di dalam terowong TCP, dua lapisan pemulihan bertindak balas terhadap kehilangan yang sama, dan interaksi itulah yang membuat terowong terasa perlahan pada laluan yang kehilangan paket. Gejalanya ialah kelewatan dan getaran dan bukannya kegagalan bersih, yang memudahkan penyalahan hujung jauh. Ukur dari klien pada kedua-dua pengangkutan sebelum membuat kesimpulan.
UDP mengelakkan penyarangan ini, dan itulah sebab utama pengendali lebih menyukainya dan hanya menawarkan TCP sebagai alternatif. Sambungan TCP yang stabil masih lebih berguna daripada sambungan UDP yang tidak dapat dicapai, jadi perbandingan itu antara dua kos sebenar dan bukan antara pilihan baik dan buruk. Kekalkan peranti dan rangkaian akses tanpa perubahan semasa membandingkan, jika tidak hasilnya akan menerangkan pemboleh ubah yang salah.
Sesetengah ciri klien didokumenkan untuk satu pengangkutan sahaja, jadi profil sandaran boleh menggugurkan tingkah laku yang anda harapkan secara senyap. Baca keperluan pengangkutan pilihan itu sebelum menganggap profil TCP sebagai pertukaran terus.
Kerubahan yang tidak disentuh pengangkutan lain
Sijil yang tamat tempoh masih memerlukan pemeriksaan jam atau pembaharuan, dan akaun yang ditolak masih memerlukan kelayakan yang betul. Kekalkan pemeriksaan identiti pelayan yang diberikan pengendali, kerana nombor port yang biasa tidak mengesahkan sesiapa. Port yang menjawab hanya memberitahu bahawa sesuatu sedang mendengar.
Jika terowong naik dan destinasi masih gagal, masalah yang tinggal ialah penghalaan atau penyelesaian nama selepas sambungan, bukan pengangkutan. Ikut laluan itu dan bukan berpusing melalui port, kerana begitulah satu petang hilang. Profil memberitahu pengangkutan mana untuk dicuba; ia tidak pernah memberitahu mengapa laluan UDP gagal.