Halaman belanja router menampilkan perutean VPN sebagai satu kotak centang, dan frasa itu menyembunyikan tiga pertanyaan berbeda. Apakah aturan cocok dengan perangkat yang mengirim lalu lintas, server yang menerimanya, atau keduanya? Apa yang terjadi pada lalu lintas yang tidak cocok dengan keduanya? Dan saat dua aturan tumpang tindih, mana yang menang? Menuliskan jawabannya sebagai pasangan sumber dan tujuan mengubah daftar fitur yang kabur menjadi rancangan yang bisa diuji.

Nama fitur menyembunyikan dua ujung

Pemutar media yang harus memakai terowongan adalah kecocokan sumber. Prefiks kantor privat yang harus bisa dijangkau lewat terowongan adalah kecocokan tujuan. Stasiun kerja yang harus memakai terowongan hanya untuk satu layanan adalah keduanya, dan irisan itulah kasus yang paling sering ditangani firmware konsumen dengan buruk.

Tuliskan kebutuhan sebagai pasangan sebelum membandingkan produk. Pasangan itulah yang akan Anda uji nanti.

Produk yang menawarkan daftar perangkat atau daftar tujuan global mungkin tidak bisa menyatakan «hanya perangkat ini, hanya tujuan ini». Kesenjangannya bukan kosmetik: aturan tujuan global mengirim lalu lintas setiap perangkat ke situs itu lewat terowongan, dan aturan perangkat mengirim seluruh lalu lintas perangkat tersebut. Keduanya bukan kebutuhan. Uji kasus itu dengan dua perangkat sebelum memercayai layarnya.

Bangun aturan sebagai irisan

Tabel menjaga rancangan tetap jujur. Letakkan skenario di kiri, lalu sebutkan kecocokan pengirim dan kecocokan sasaran secara terpisah:

ScenarioSender matchTarget matchRule shape
Media player uses the tunnelPlayer addressAny internet destination except the LANSource only
Office prefix reachableAuthorized LAN devices10.40.0.0/16Target only
One app on one laptopLaptop addressThe service address setSource and target
Guest network never tunnelsGuest subnetAnyDeny, evaluated first

Baris ketiga yang menarik, karena butuh kedua belahannya sekaligus. Jika firmware hanya bisa menyatakan satu sumbu, kebutuhan harus dipecah menjadi dua aturan atau dipindahkan ke perangkat yang mampu.

Jaga identitas sumber tetap stabil. Reservasi DHCP, segmen khusus, atau mekanisme identitas perangkat semuanya berfungsi, tetapi alamat yang berubah setelah masa sewa habis tidak. Sertakan IPv6, karena satu alamat IPv4 tidak mengidentifikasi seluruh lalu lintas perangkat.

Prioritas menentukan tumpang tindih

Aturan yang tumpang tindih itu normal. Aturan perangkat yang luas dan aturan tujuan yang sempit bisa sama-sama menjelaskan satu aliran, dan urutan prioritas yang terdokumentasi menentukan mana yang menang. Layar pengaturan yang menarik tidak memberi tahu urutan itu.

Baca manual untuk urutan dan untuk kasus tanpa kecocokan, lalu uji keduanya dengan lalu lintas yang bisa Anda amati:

ip rule show
ip route get 203.0.113.10

Jika dokumentasi tidak menyebutkan urutannya, anggap aturan yang lebih sempit mungkin tidak menang dan rancang dengan asumsi itu. Dua aturan yang tidak bisa bertentangan lebih mudah didukung daripada satu aturan pintar yang prioritasnya tidak terdokumentasi.

Nama butuh kebijakan penyegaran

Tujuan yang ditulis sebagai domain menambah masalah pemeliharaan. Router harus menyelesaikannya, menyegarkan pemetaan, menangani banyak alamat dan subdomain, serta menghadapi DNS aplikasi yang melewati resolver yang diharapkan.

Menyalin satu hasil pencarian ke aturan IP adalah cuplikan, bukan kebijakan domain.

Tentukan seberapa usang jawaban boleh sebelum aturan salah, dan apa yang dilakukan router saat resolusi gagal. Aturan yang mempertahankan alamat terakhir yang diketahui bisa bertahan melewati migrasi layanan; aturan yang membuang entri bisa diam-diam menghentikan terowongan. Kedua perilaku dapat diterima asalkan ditulis di samping aturan.

Tetapkan keadaan tidak tersedia

Preferensi rute tidak menegakkan lalu lintas khusus VPN. Saat terowongan mati, router bisa memblokir aliran, mengirimnya langsung, atau memakai terowongan lain, dan setiap pilihan punya tanda kegagalan berbeda.

Tentukan mana yang dibutuhkan kebutuhan, lalu verifikasi dengan menghentikan terowongan dan mengamati aliran:

curl -sS -o /dev/null -w "%{http_code}" --max-time 5 https://service.example/
ping -c 2 203.0.113.10

Lalu lintas yang berasal dari router sendiri adalah cakupan terpisah. Penerusan DNS, pemeriksaan pembaruan, dan pemantauan bisa memulai aliran baru dari router itu sendiri alih-alih mewarisi kecocokan sumber perangkat. Perhitungkan aliran itu secara eksplisit, atau aliran tersebut akan muncul sebagai kebocoran yang tidak dijelaskan di log.

Artikel terkait