Laluan blackhole berbanding kill switch VPN: apa yang dilakukan setiap satu
Laluan blackhole membuang trafik yang sepadan dan memaksa laluan tertutup apabila gagal. Bandingkan skop dan titik butanya dengan kill switch berasaskan penapisan paket.
Satu paket meninggalkan komputer riba, tidak pernah sampai ke gerbang VPN, dan tiada pembilang firewall bergerak. Jadual laluan sudah menentukan nasib paket: entri blackhole sepadan dengannya dan kernel membuangnya sebelum mana-mana antara muka melihatnya. Tingkah laku itu berguna apabila sesuatu destinasi harus gagal tertutup, tetapi ia tindakan penghalaan dengan skop sempit. Menganggapnya sebagai kill switch lengkap ialah tempat reka bentuk tersilap.
Apa yang sebenarnya dipadankan oleh tindakan buang
Carian laluan memilih jadual, kemudian prefiks sepadan terpanjang di dalamnya. Laluan blackhole ialah entri biasa yang tindakannya membuang, jadi ia hanya mempengaruhi paket yang akan memilih entri itu selepas keseluruhan keputusan. Tukar jadual dengan peraturan dasar, atau tambah prefiks yang lebih khusus, dan pembuangan itu tidak lagi terpakai.
Sebab itu skop blackhole tepat dan mudah dinyatakan: ia meliputi prefiks, dalam jadual, untuk keluarga alamat itu. Ia tidak meliputi destinasi yang akan dimenangi jadual lain, dan ia tidak meliputi IPv6 hanya kerana prefiks IPv4 dibuang.
ip route get menunjukkan keputusan sebelum anda melaksanakan apa-apa, termasuk jadual dan jenis laluan. Membaca output itu lebih pantas daripada membuat kesimpulan daripada permintaan yang gagal tentang peraturan atau prefiks mana yang bertindak.
Blackhole tidak sama dengan unreachable atau prohibit
Linux menawarkan tiga jenis laluan mirip buang, dan ia berbeza dalam apa yang diperhatikan oleh penghantar. Blackhole menggugurkan paket tanpa balasan, jadi klien melihat tamat masa. Laluan unreachable memulangkan mesej ICMP unreachable, jadi sambungan gagal cepat dengan ralat hos atau rangkaian. Laluan prohibit memulangkan ralat larangan pentadbiran, yang lebih hampir kepada penolakan dasar yang disengajakan.
Pilih tingkah laku yang anda mahu aplikasi lihat. Pembuangan senyap sesuai apabila anda tidak mahu mendedahkan dasar, dan ralat segera lebih baik apabila pengguna perlu memahami mengapa destinasi tidak tersedia. Mencampurkan jenis di seluruh rangkaian menghasilkan tiket sokongan yang menggambarkan dasar yang sama sebagai tiga kerosakan berbeza.
Jangan andaikan setiap entri buang boleh ditukar ganti apabila anda mendiagnosis sambungan. Teks ralat, masa dan tangkapan paket berbeza, dan jenis laluan dalam jadual memberitahu anda yang mana sedang dilihat. manual ip-route menyenaraikan jenis dan tingkah laku ralatnya.
Bagaimana ia dibandingkan dengan kill switch
Kill switch ialah penapisan paket: peraturan firewall yang membuang trafik keluar yang akan keluar di luar terowong. Laluan blackhole ialah keputusan penghantaran yang dibuat lebih awal dalam tindanan. Kedua-duanya boleh menghentikan trafik, tetapi ia melihat perkara berbeza dan terlepas kes berbeza.
| Mechanism | What it blocks | What it misses | How failure looks |
|---|---|---|---|
| Blackhole route | Destinations matching the prefix and table | Other tables, other address families, traffic with a different route | Silent timeout |
| Firewall kill switch | Egress not bound to the tunnel interface | Rules that are too broad can break the endpoint or DHCP | Dropped packets with counters |
| WireGuard AllowedIPs | Destinations not routed into the interface | Traffic that never enters the interface at all | No tunnel route, direct egress |
Liputan ialah tempat perbandingan itu penting. Firewall boleh memadankan pemilik, port atau antara muka dan menyekat aplikasi sementara titik akhir kekal boleh dicapai; laluan tidak boleh. Sebaliknya, laluan boleh menghantar seluruh prefiks ke pembuangan tanpa sebarang penapis paket dimuatkan, yang berguna pada sistem minimum.
AllowedIPs WireGuard ialah penghalaan kunci kripto, bukan firewall. Ia menentukan prefiks destinasi mana yang diterima masuk ke antara muka, dan profil yang hanya menyenaraikan subnet terowong membiarkan destinasi lain kepada laluan lalai biasa. Sebab itu profil terowong penuh menggunakan 0.0.0.0/0 dan sebab itu wg-quick juga memasang peraturan firewall apabila boleh.
Kekalkan titik akhir terowong di luar pembuangan
Alamat luar titik akhir mesti kekal boleh dicapai melalui antara muka fizikal. Pembuangan yang juga menangkap alamat itu menghalang jabat tangan daripada keluar, dan terowong tidak pernah naik, yang kelihatan seperti kegagalan VPN dan bukan dasar penghalaan. Semak laluan ke titik akhir sebelum dan selepas perubahan.
Akses pengurusan tergolong dalam semakan yang sama. Jika satu-satunya jalan ke penghala atau klien ialah terowong, pembuangan yang terlalu luas boleh mengunci anda keluar daripada mesin yang akan membolehkan anda mengeluarkannya. Simpan laluan luar jalur yang didokumenkan, konsol atau pembalikan bermasa.
IPv6 memerlukan entri dan semakannya sendiri. Reka bentuk yang membuang IPv4 ke blackhole sambil membiarkan IPv6 pada laluan lalai membocorkan tepat trafik yang dasar itu bertujuan menghentikan, dan kesilapan itu tidak kelihatan dalam ujian IPv4 sahaja.
Laksanakannya secara berperingkat dengan pemasa dan pembalikan
Gunakan laluan dengan penyingkiran automatik yang singkat supaya kesilapan tidak kekal selepas but semula. Arahan di bawah menggunakan julat dokumentasi; gantikannya dengan prefiks yang benar-benar dibuang oleh reka bentuk anda:
sudo ip route replace blackhole 10.0.0.0/8
ip route get 10.1.2.3
sudo systemd-run --on-active=60 /sbin/ip route del blackhole 10.0.0.0/8Arahan kedua sepatutnya melaporkan laluan blackhole dan jadual asalnya. Arahan ketiga menjadualkan penyingkiran dalam satu minit, yang cukup masa untuk mengesahkan dasar dan cukup singkat untuk pulih daripada kesilapan pada hos jauh. Selepas tingkah laku disahkan, jadikan entri kekal melalui pengurusan konfigurasi yang sama yang memiliki laluan lain.
Tutup perubahan dengan merekodkan prefiks, jadual, keluarga alamat dan kaedah pembalikan. Pembuangan ialah pengecualian yang disengajakan dalam reka bentuk penghalaan, dan jurutera seterusnya perlu tahu trafik mana yang dimaksudkan untuk dihentikan sebelum memutuskan sama ada ia masih tergolong.