Aturan VPN di router: cocokkan sumber dan tujuan
Aturan VPN di router punya dua ujung: perangkat yang mengirim lalu lintas dan tujuan yang harus memakai terowongan. Tentukan irisan dan perilaku cadangan lebih dulu.
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:
| Scenario | Sender match | Target match | Rule shape |
|---|---|---|---|
| Media player uses the tunnel | Player address | Any internet destination except the LAN | Source only |
| Office prefix reachable | Authorized LAN devices | 10.40.0.0/16 | Target only |
| One app on one laptop | Laptop address | The service address set | Source and target |
| Guest network never tunnels | Guest subnet | Any | Deny, 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.