General failure saat ping alamat LAN dengan klien VPN aktif
Windows mengatakan sama sekali tidak dapat menjangkau adaptor padahal tabel rute terlihat benar. Tentukan apakah blokirnya dari perutean, penyaringan, atau klien.
Satu rute host, satu alamat, dan ping langsung gagal dengan General failure alih-alih permintaan kehabisan waktu. Perbedaan itulah seluruh diagnosisnya. Habis waktu berarti paket keluar dan ada sesuatu yang mengabaikannya. General failure berarti Windows tidak dapat menyerahkan paket itu ke antarmuka mana pun sejak awal.
Jadi ketika tabel rute tampak sempurna dan galatnya tetap General failure, blokirnya terjadi di bawah keputusan perutean, dan klien penyedia adalah yang bekerja di sana.
Baca galatnya sebelum tabel rute
Windows mengembalikan galat itu ketika tidak menemukan antarmuka untuk mengirim, dan tidak mengatakan apa pun tentang apa yang akan dilakukan tujuan terhadap paket itu. Keterjangkauan, firewall di ujung jauh, dan ketersediaan layanan semuanya pertanyaan hilir yang belum Anda capai.
Konfigurasi klasik untuk kasus ini adalah rute host yang mengarahkan satu alamat LAN ke gateway fisik agar melewati terowongan. route add menerimanya, route print menampilkannya, dan ping tetap gagal, karena pengandar penyaring sudah memutuskan bahwa paket itu tidak boleh keluar.
Sebelum menerima penjelasan itu, pastikan rute memang dipilih: periksa indeks antarmuka dan metriknya, dan pastikan entri tidak kedaluwarsa setelah menyambung ulang. Rute yang menunjuk ke antarmuka yang sudah tidak ada menghasilkan galat serupa karena alasan yang jauh lebih tidak menarik.
Tiga lapisan, tiga pemilik berbeda
Lapisan yang menang adalah yang berjalan terakhir, dan ketiganya tidak dalam urutan yang dianggap kebanyakan orang.
| Layer | What it decides |
|---|---|
| Routing table | Which interface and next hop should carry the packet |
| Client filter driver | Whether this packet is permitted to leave outside the tunnel at all |
| Client feature | Whether a named feature, such as LAN blocking, is active right now |
Lapisan tengah adalah alasan sebuah rute bisa sekaligus benar dan tidak berguna. Klien penyedia memasang penyaring dan aturan firewall agar lalu lintas di luar terowongan dibuang, dan itulah mekanisme yang sama yang menjalankan kill switch mereka. Tidak ada apa pun di tabel rute yang ikut dalam keputusan itu.
Lapisan ketiga menjelaskan laporan aneh yang datang teratur: subnet lokal tidak terjangkau bahkan setelah klien diputus. Layanan masih berjalan dan penyaringnya masih terpasang, jadi tidak tersambung tidak sama dengan tidak menyaring. Keluar dari klien, bukan sekadar memutusnya, sebelum menyimpulkan apa pun.
Apa yang perlu dicoba, berurutan
Mulailah dengan melepas fitur yang murah dilepas dan mudah dipulihkan. Penemuan LAN, kadang disebut ketaknampakan di LAN, memblokir lalu lintas ke rentang alamat privat agar mesin tetap tersembunyi dari tetangganya. Pencetak, peladen berkas lokal, dan perute itu sendiri semuanya lenyap di balik sakelar tersebut. Fitur perlindungan ancaman yang menyaring DNS memasang kaitnya sendiri dan dilaporkan merusak keterjangkauan lokal dengan cara yang hampir sama.
Matikan keduanya, keluar sepenuhnya dari klien, lalu uji alamatnya. Urutan itu memisahkan fitur yang memblokir lalu lintas dari terowongan yang merutekannya dengan salah, dan butuh dua menit alih-alih sepanjang sore untuk rute statis.
ping 192.168.1.50
tracert -d 192.168.1.50
route print -4
Jika alamat menjawab setelah fiturnya dimatikan, Anda punya keputusan kebijakan, bukan kerusakan: pilih antara membiarkan fitur mati, menambahkan pengecualian, atau menerima bahwa mesin tetap tak terlihat di jaringan lokal.
Gunakan jalur pengecualian klien, secara sempit
Saat sebuah fitur harus tetap aktif, tunel terpisah milik klien adalah jalan keluar yang didukung. Jaga pengecualian sekecil yang diizinkan kebutuhan, yang biasanya berarti satu alamat host untuk satu peladen atau satu prefiks untuk satu segmen. Aturan yang mencakup seluruh rentang privat adalah lubang permanen yang tak akan ada yang ingat menambahkannya dan tak akan ada yang berani menghapusnya.
Lalu verifikasi dulu dengan alamat, baru dengan nama. Jika alamat menjawab dengan hop pertama pada gateway fisik, pengecualiannya bekerja. Jika namanya masih gagal, Anda sudah berpindah ke DNS, karena penyelesai terowongan tidak mengenal zona lokal dan tidak ada perubahan perutean yang akan mengajarinya.
Pertahankan rute atau pengecualiannya, bukan keduanya, plus catatan tentang mana yang melakukan pekerjaan. Dua mekanisme yang bertumpang tindih saling menyembunyikan, dan orang berikutnya yang men-debug mesin ini akan menghapus salah satunya dan tidak melihat perubahan apa pun.
Saat klien menjadi penghalang
Sebagian build menyaring lalu lintas dengan cara yang tidak dapat dikalahkan rute statis maupun pengecualian klien. Ketika itulah temuannya, pilihan jujurnya adalah menunggu fitur pintasan atau menyambung dengan klien OpenVPN biasa memakai profil milik penyedia, seperti yang disarankan jawaban dukungan vendor dalam laporan aslinya.
Pahami pertukarannya sebelum melakukan penggantian itu. Profil biasa berperilaku seperti terowongan umum: ia memasang rutenya dan tidak menata ulang sisa tumpukannya, sehingga rute host yang sempit tetap berperilaku seperti yang Anda harapkan. Yang Anda hilangkan adalah semua yang diterapkan klien bermerek di sekitar terowongan, termasuk kill switch dan penyaringan DNS, dan itu harus dibuat ulang dengan sengaja atau diterima sebagai tidak ada.
Apa pun pilihan Anda, catat lapisan mana yang memiliki blokir itu. Paket yang tidak pernah keluar dari mesin adalah hasil penyaring, dan tidak ada perubahan perutean yang dapat memperbaiki penyaring.