SSH ke IP publik server WireGuard gagal di Windows
Rute dan aturan firewall adalah dua keputusan terpisah. Di Windows, peer dengan /0 mengaktifkan aturan ketat, dan transport tunnel itu sendiri adalah pengecualiannya.
Tunnel yang menyala sementara SSH ke alamat publik server berhenti bekerja terlihat seperti server yang menolak koneksi. Di Windows penyebab yang lebih mungkin bersifat lokal: AllowedIPs tunnel penuh sebesar /0 mengaktifkan aturan firewall ketat yang mengizinkan transport tunnel itu sendiri dan sangat sedikit hal lain. Paket terenkripsi yang mencapai alamat itu tidak mengatakan apa pun tentang apakah koneksi TCP terpisah ke alamat yang sama boleh keluar.
Pisahkan alamat publik endpoint dari alamat tunnel internalnya sebelum menyentuh daftar peer. Hampir setiap upaya memperbaiki ini dengan mengedit AllowedIPs membuat kebijakan lebih lemah, bukan rutenya benar.
Izin routing dan izin firewall itu berbeda
Rute menentukan ke mana paket akan dikirim, dan aturan firewall menentukan apakah paket itu boleh dikirim sama sekali. Karena itu menambahkan rute untuk IP publik endpoint menghasilkan jalur yang masih bisa diblokir oleh filter, dan itulah tepatnya kebingungan yang ditimbulkan gejala ini. Di Windows filter adalah bagian dari implementasi, bukan tambahan, sehingga tidak ada entri rute yang mengubahnya. Kedua keputusan itu juga terpisah di tempat lain, meski nilai bawaannya berbeda.
Itulah sebabnya traceroute ke endpoint bisa berhasil sementara upaya SSH gagal. Yang pertama dibawa oleh layanan yang memiliki pengecualian, yang kedua tidak.
Apa yang dilakukan /0 di Windows
Dengan satu peer yang alamat terizinkannya mencakup seluruh ruang IPv4, WireGuard for Windows menerapkan postur firewall ketat yang memblokir lalu lintas yang seharusnya keluar di luar tunnel. Transport layanan tunnel itu sendiri diizinkan, karena VPN tidak akan bisa berfungsi jika tidak. Aplikasi lain ke alamat publik yang sama tidak menerima izin semacam itu, sebab pengecualian itu milik transport, bukan milik alamat. Catatan jaringan Windows menjelaskan perilaku ini dan kontrol terkait di editor.
Aturan-aturan itu adalah mekanisme di balik istilah kill switch. Aturan itu diaktifkan oleh bentuk konfigurasi, bukan oleh kotak centang dengan nama tersebut.
Pengecualian mengubah model perlindungan
Mengganti /0 dengan dua prefiks setengah bawaan adalah cara terdokumentasi untuk mempertahankan routing luas tanpa semantik yang ketat, dan itu model perlindungan yang berbeda, bukan ejaan yang lebih pendek. Mengurangi alamat endpoint dari prefiks yang diizinkan adalah solusi umum lainnya, yang memperpanjang daftar dan juga mengubah aturan mana yang aktif. Keduanya bukan suntingan lokal dengan efek lokal. Masing-masing menggeser batas untuk setiap aliran di mesin, bukan hanya untuk koneksi yang Anda perbaiki.
Di tempat SSH publik langsung benar-benar diperlukan, pemilik profil harus merancang rute luar sekaligus izin firewallnya, dan memutuskan apa yang terjadi pada lalu lintas tak terkait saat tunnel putus. Meninjau IPv4 dan IPv6 secara terpisah termasuk di dalamnya, karena aturan dinyatakan per keluarga. Bypass luas yang ditambahkan untuk menyelamatkan satu sesi manajemen biasanya mengekspos lebih dari sesi itu.
Uji jalur manajemen yang Anda pilih
Putuskan dulu apakah manajemen harus berjalan di dalam tunnel atau di luarnya, lalu uji pilihan itu, bukan keduanya sekaligus. Perintah di bawah memeriksa alamat klien, status peer, dan koneksi ke setiap target. Jalankan dari klien Windows selagi tunnel menyala.
ipconfig | findstr /i "WireGuard IPv4"
wg show
ssh -v [email protected]
Test-NetConnection 203.0.113.9 -Port 22
SSH yang berhasil ke alamat internal membuktikan tunnel membawa lalu lintas manajemen dan firewall server sendiri menerimanya dari rentang peer. Kegagalan pada kedua target adalah masalah sisi server atau kunci, bukan routing Windows. Jika alamat internal berfungsi dan yang eksternal tidak, postur firewall lokal melakukan tepat apa yang dirancang untuk dilakukannya. Baca ketiga hasil itu dalam urutan tersebut sebelum mengedit profil.
Catat jalur manajemen, alamat yang digunakan, dan perilaku saat tunnel mati. Catatan itulah yang mencegah orang berikutnya memperlebar bypass demi menghemat lima menit.