Apa yang sebenarnya dilakukan kolom Proxy di profil VPN Apple
Mengisi kolom proxy tidak mengubah VPN menjadi HTTP. Ada dua koneksi yang terlibat, dan kolom itu hanya menjangkau salah satunya.
Mengisi kolom Proxy pada konfigurasi VPN Apple terasa seolah-olah akan mengalihkan terowongan lewat port web. Ternyata tidak. Kolom itu memilih perantara tingkat aplikasi untuk lalu lintas yang dipilih aplikasi kompatibel untuk dikirim ke sana. Sementara itu, koneksi klien VPN sendiri ke gateway-nya diatur oleh protokol, listener, dan transport yang Anda konfigurasikan, dan itu keputusan yang terpisah.
Dua koneksi, dua pemilik
Setiap penyiapan seperti ini melibatkan koneksi dari klien ke gateway dan koneksi dari aplikasi ke tujuan. Bagian Proxy membahas yang kedua, meskipun berada di profil yang sama dengan yang pertama.
| Connection | What decides its behaviour |
|---|---|
| VPN client to VPN gateway | The supported protocol, the listening port, the transport and the network policy in between |
| Application to a selected proxy | The application's own proxy support, the configured proxy policy, and the route to that next hop |
Referensi pengaturan proxy Apple mencantumkan HTTP, HTTPS, SOCKS, dan konfigurasi proxy otomatis, yang merupakan deskripsi pilihan proxy aplikasi. Tidak satu pun entri itu menjelaskan bagaimana paket IPsec atau WireGuard mencapai gateway.
Berikut pemeriksaan cepat yang menyelesaikannya. Sebutkan port dan protokol yang dilaporkan klien VPN di log-nya. Jika baris itu masih menyebut UDP 500 atau UDP 51820, kolom proxy tidak mengubah apa pun pada baris itu.
Kapan kolom itu alat yang tepat
Ada kasus nyata ketika proxy berada di depan terowongan, tetapi itu fitur klien, bukan kolom profil. Panduan OpenVPN mendokumentasikan --http-proxy untuk koneksi TCP yang dibawa melalui proxy HTTP CONNECT. Untuk menggunakannya diperlukan opsi klien yang sesuai, gateway yang dapat dijangkau dengan cara itu, dan proxy yang mengizinkan CONNECT ke port yang dipakai.
Jika klien Anda menyediakan opsi itu dan jaringan mengizinkan CONNECT ke port tersebut, ini bisa berhasil. Jika klien tidak menyediakannya, mengisi proxy sistem tidak berpengaruh sama sekali pada terowongan.
Kapan tidak mengubah apa pun
Profil IKEv2 atau IPsec tidak menjadi terowongan HTTP karena kolom proxy terisi. WireGuard juga tidak, yang format konfigurasinya tidak mengenal konsep proxy. Mengganti port gateway juga tidak mengubah protokolnya. Dan endpoint yang menjawab HTTPS biasa tidak otomatis menjadi listener VPN.
Jebakan yang sama menangkap orang yang menyalin profil era PPTP dari panduan iPad lama. Opsinya masih ada di antarmuka; layanan di baliknya tidak lagi berbicara protokol itu.
Memutuskan lapisan mana yang diperbaiki
Tanyakan lapisan mana yang gagal sebelum mengubah apa pun. Jika klien tidak dapat membangun sesi, masalahnya pada transport dan kolom proxy tidak relevan. Jika terowongan aktif tetapi satu aplikasi tidak dapat mencapai servernya, proxy aplikasi layak diperiksa. Jika terowongan aktif dan semua aplikasi gagal, tersangka utamanya adalah perutean dan DNS di dalam terowongan.
Untuk kasus pertama, tanyakan kepada operator transport atau jaringan alternatif mana yang disetujui dan didukung. OpenVPN melalui TCP 443 ada karena sebagian jaringan hanya mengizinkan itu, dan itu tetap menuntut server mendengarkannya.
Jangan anggap port UDP yang diblokir sebagai izin untuk berimprovisasi. Pertahankan pemeriksaan sertifikat atau identitas gateway, bukan mematikannya agar handshake cocok.
Pastikan kedua lapisan satu per satu
Pastikan dulu terowongannya: periksa halaman status klien untuk sesi yang terbentuk dan jumlah byte yang tidak nol. Lalu baca pengaturan proxy secara langsung, dengan scutil --proxy untuk konfigurasi efektif atau networksetup -getwebproxy Wi-Fi untuk nilai tersimpan. Kemudian uji satu aplikasi yang menghormati proxy sistem dan satu yang mengabaikannya, karena banyak aplikasi native mengabaikannya.
Tiga hasil, tiga perbaikan berbeda.
Jika kedua lapisan melaporkan keberhasilan dan aplikasi masih gagal, periksa split tunneling, DNS, dan pengaturan jaringan aplikasi itu sendiri. Itu lapisan ketiga, dan itu juga bukan kolom proxy.