Mengecualikan nama host adalah sesuatu yang tidak bisa dilakukan terowongan. Namun sebuah rute bisa mengarahkan satu alamat melewati terowongan dan keluar melalui gateway rumah, dan itu biasanya cukup untuk satu situs. Kendalanya, semua yang berada di hilir rute harus sepakat: firewall harus membiarkan paket keluar, DNS harus mengembalikan alamat yang Anda rutekan, dan situs harus terus memakai alamat itu. Ketika salah satu dari ketiganya bergeser, pengecualian berhenti bekerja tanpa mengumumkan dirinya.

Baca alamat tujuan sebelum menyentuh terowongan

Muat situs sekali dengan terowongan aktif, lalu lihat alamat peer yang benar-benar terhubung oleh peramban. Di Linux, ss -tunp mencantumkan alamat jarak jauh untuk setiap soket terbuka, dan dig +short pada nama yang sama menunjukkan apa yang dikembalikan resolver. Simpan kedua angka di depan Anda.

Kedua jawaban sering tidak sepakat, dan ketidaksepakatan itulah seluruh masalahnya. Situs besar menaruh jaringan konten di depan originnya, jadi alamat yang dikembalikan resolver Anda sekarang mungkin bukan yang dipakai peramban satu menit lalu. Rutekan apa yang Anda amati di soket, bukan apa yang dicantumkan panduan lama. Jika jawabannya terus bergilir antarwilayah, pengecualian alamat adalah alat yang salah untuk situs tertentu itu.

Jalankan pencarian kedua kali dari jaringan lain, dan catat jawaban IPv6 bersama dengan IPv4. Terowongan yang membawa kedua keluarga memerlukan pengecualian di keduanya, kalau tidak peramban diam-diam kembali ke jalur IPv6 yang tidak pernah Anda sentuh. Simpan alamat dan tanggalnya di tempat yang akan Anda lihat lagi.

Pasang satu rute host di klien

Misalkan antarmuka bernama home-wg dan router LAN berada di 192.168.1.1. NetworkManager mengambil rute yang gateway-nya adalah router itu dan panjang prefiksnya mencakup seluruh 32 bit, dan kernel lebih memilihnya karena prefiks terpanjang menang.

nmcli connection modify home-wg +ipv4.routes "198.51.100.20/32 192.168.1.1"
nmcli connection up home-wg
ip route get 198.51.100.20

Gateway harus dapat dijangkau tanpa terowongan; mengarahkan lompatan berikutnya ke alamat terowongan menggagalkan tujuannya, karena paket akan masuk lagi ke antarmuka yang ingin Anda hindari. Setelah koneksi naik kembali, ip route get untuk pengecualian seharusnya mencetak gateway LAN, dan perintah yang sama untuk resolver publik seharusnya tetap mencetak perangkat terowongan.

Profil wg-quick tidak punya kolom rute, jadi pengecualian yang sama hidup di baris PostUp yang menambahkan rute host ke tabel utama dengan antarmuka LAN sebagai perangkatnya. Turunkan dan naikkan antarmuka setelah menyunting, karena antarmuka yang berjalan tidak pernah membaca ulang berkasnya. Aturan fwmark yang dipasang wg-quick hanya mengarahkan paket terenkapsulasinya sendiri, jadi lalu lintas peramban biasa tetap mengikuti tabel utama dan menemukan /32 Anda.

Kill switch adalah hal berikutnya yang memblokirnya

Kebijakan firewall yang hanya mengizinkan lalu lintas pada antarmuka terowongan akan menjatuhkan pengecualian bahkan ketika rutenya tepat. Baca aturan di balik sakelar alih-alih memercayai sakelar, karena aturan yang menerapkan kill switch biasanya dibatasi pada nama antarmuka.

Yang Anda inginkan adalah izin sempit untuk antarmuka fisik dan satu tujuan itu, ditempatkan sebelum penjatuhan, sementara kebijakan bawaan tetap utuh. Menjeda kill switch sepenuhnya membuktikan poinnya, tetapi juga membiarkan mesin terbuka selama Anda lupa menyalakannya lagi.

Uji kedua arah secara terpisah. Permintaan ke alamat pengecualian seharusnya berhasil sementara permintaan ke situs tak terkait tetap keluar melalui terowongan. Jika keduanya berhasil tetapi yang kedua melaporkan alamat rumah, urutan aturan firewall yang salah, bukan rutenya.

DNS menentukan alamat mana yang dihubungi peramban

Ketika nama diresolusikan di dalam terowongan, resolver penyedia dapat menjawab dengan alamat yang berbeda dari yang diberikan resolver lokal. Rute Anda lalu berlaku untuk alamat yang tidak pernah dihubungi peramban, dan halaman dimuat melalui terowongan seolah tidak ada yang berubah. Kegagalan ini tampak seperti pengecualian yang rusak padahal tabel rutenya benar.

Kirim kueri nama itu juga melalui resolver lokal, atau lewati nama sepenuhnya dan uji alamatnya langsung. Memisahkan alamat sementara DNS tertinggal di dalam terowongan adalah versi setengah jadi yang paling umum dari pengaturan ini, dan juga yang paling sulit disadari, karena situsnya tetap bekerja, hanya tidak seperti yang Anda maksudkan.

Pengecualian yang sama di router, sekali, untuk setiap perangkat

Dengan terowongan berjalan di router, rute host termasuk dalam tabel perutean kebijakan router dan mengarah ke gateway WAN alih-alih gateway LAN. Setiap perangkat di belakangnya mewarisi pengecualian itu, yang penting untuk kotak streaming atau laptop kerja yang pengaturan jaringannya tidak bisa Anda ubah.

Biarkan terowongan menjadi jalur keluar bawaan bagi semua klien lain, lalu verifikasi dari mesin klien alih-alih dari konsol router. Muat situs pengecualian dan situs kedua dalam sesi peramban yang sama dan bandingkan alamat keluarnya; jika yang kedua masih menunjukkan terowongan, tabel kebijakan melakukan apa yang Anda minta.

Catat alamat, tanggal, dan alasannya di catatan router. Pengecualian yang dibangun di sekitar alamat yang kemudian berpindah menjadi kerusakan yang tidak bisa dijelaskan siapa pun setahun kemudian, dan perbaikannya selalu tampak seperti misteri sampai seseorang menemukan catatan lama itu.

Artikel terkait