Menghalakan aplikasi ke port SOCKS berfungsi untuk pelayar dan gagal untuk permainan, dan puncanya bukan konfigurasi. SOCKS5 mentakrifkan beberapa arahan, dan pelaksanaan bebas menyokong hanya sebahagian daripadanya; antara muka Tor menerima sambungan aliran dan penyelesaian nama, bukan penghantaran datagram sewenang-wenangnya. Klien yang menghantar UDP dan mengharapkan proksi menghantarnya meminta arahan yang tidak dilaksanakan pelayan. Panduan di bawah memeriksanya dalam beberapa minit dan kemudian memilih pengangkutan yang benar-benar boleh berfungsi.

Periksa apa yang sebenarnya dihantar aplikasi

Mulakan dengan mengenal pasti pengangkutan, bukan nama protokol. Klien suara boleh log masuk melalui HTTPS dan kemudian membawa media melalui UDP; permainan boleh mengesahkan melalui TCP dan bermain melalui UDP; pemindahan fail boleh menggunakan TCP untuk kawalan dan UDP untuk penemuan. Dua tingkah laku pertama kelihatan sama sehingga log masuk berjaya dan panggilan masih gagal, sebab itu “ia bersambung” bukan bukti keseluruhan aplikasi berfungsi. Sesetengah klien juga kembali sendiri daripada UDP ke TCP, yang membuat sesi yang berfungsi sebahagian kelihatan seperti rangkaian tidak stabil dan bukan pengangkutan tersekat.

Catat port destinasi dan pengangkutan untuk bahagian yang gagal. Satu baris itu menentukan sama ada proksi boleh membantu sama sekali.

Apa yang akan diterima antara muka SOCKS Tor

Tor melaksanakan arahan SOCKS5 CONNECT untuk sambungan aliran dan arahan sambungan untuk menyelesaikan nama, sebab itu pelayar berfungsi melaluinya tanpa perubahan. UDP ASSOCIATE, arahan yang akan membolehkan klien menyerahkan datagram kepada proksi untuk dihantar, bukan sebahagian daripada apa yang ditawarkan Tor. Dokumentasi sambungan terdapat dalam spesifikasi sambungan SOCKS projek, dan ia ringkas. Ketiadaan arahan datagram adalah disengajakan: menghantar UDP sewenang-wenangnya akan memberi rangkaian peranan penghantaran yang tidak pernah direka untuknya.

Ini juga jawapan untuk WireGuard, yang secara reka bentuk ialah UDP dan tiada laluan sandaran TCP. Tiada laluan disokong yang menghalakan WireGuard ke port SOCKS, dan apa sahaja yang mendakwa sebaliknya ialah pembalut dengan kisah kepercayaan dan penyelenggaraannya sendiri, bukan ciri mana-mana daripada dua alat itu.

OpenVPN ialah pengecualian separa, kerana ia boleh dikonfigurasikan untuk membuat terowong melalui TCP dan ia memahami pilihan proksi SOCKS. Itu masih memerlukan pelayan yang dikonfigurasikan untuk TCP dan keputusan sedar tentang kesan prestasi dan cap jari, jadi ia pilihan reka bentuk dan bukan pembaikan keserasian.

Jalankan pemeriksaan mengikut urutan

Sahkan dahulu proksi berfungsi untuk aliran, supaya kegagalan kemudian tidak disalahkan pada port yang tidak dapat dicapai. Kemudian sahkan trafik aplikasi itu sendiri, dan perhatikan soket mana yang benar-benar dibukanya.

curl --socks5-hostname 127.0.0.1:9050 -sS https://check.torproject.org/api/ip
ss -tupn | grep 9050
ss -aun | grep -E ':(3478|5060|27015)\b'

Arahan pertama yang berjaya dan aliran yang terbentuk pada baris kedua menunjukkan laluan proksi berfungsi seperti direka. Arahan ketiga mencari soket datagram tempatan milik aplikasi; jika klien membuka satu dan menghantar terus ke alamat jauh, ia tidak pernah bertanya kepada proksi dan tiada tetapan proksi akan mengubahnya. Jika ia gagal pada langkah pertama, berhenti dan baiki laluan proksi sebelum menyiasat aplikasi, kerana dua kerosakan sekali gus menghasilkan laporan yang tiada siapa boleh bertindak.

Kembalikan dan pilih alat yang betul

Buang mana-mana pemboleh ubah persekitaran proksi atau tetapan proksi setiap aplikasi yang menghalakan klien UDP ke port SOCKS; membiarkannya menjadikan ujian kemudian kabur. Pulihkan konfigurasi sebelumnya daripada salinan, mulakan semula aplikasi dan sahkan tingkah laku asal kembali supaya perbandingan bersih. Pengembalian yang tidak disahkan hanyalah harapan bahawa keadaan telah berubah.

Untuk pengangkutan yang mesti kekal UDP, VPN biasanya lebih sesuai: ia membawa paket aplikasi tanpa meminta aplikasi bercakap protokol proksi, dengan kos sifat tanpa nama yang sama sekali berbeza. Gunakan setiap alat untuk apa yang didokumenkannya, dan anggap mana-mana jambatan antaranya sebagai sistem berasingan yang memerlukan semakannya sendiri. Catat dalam laporan akhir lapisan mana membawa pengangkutan mana, supaya orang seterusnya tidak menemui semula sempadan yang sama dengan aplikasi lain.

Artikel berkaitan