Peraturan VPN pada penghala: padankan sumber dan destinasi
Peraturan VPN pada penghala mempunyai dua hujung: peranti yang menghantar trafik dan destinasi yang sepatutnya menggunakan terowong. Tentukan persilangan dan tingkah laku sandaran dahulu.
Halaman beli-belah penghala menyenaraikan penghalaan VPN sebagai satu kotak semak, dan frasa itu menyembunyikan tiga soalan berbeza. Adakah peraturan itu sepadan dengan peranti yang menghantar trafik, pelayan yang menerimanya, atau kedua-duanya? Apakah yang berlaku kepada trafik yang tidak sepadan dengan mana-mana satu? Dan apabila dua peraturan bertindih, yang mana menang? Menulis jawapan sebagai pasangan sumber dan destinasi menjadikan senarai ciri yang kabur sebagai reka bentuk yang boleh diuji.
Nama ciri menyembunyikan dua hujung
Pemain media yang sepatutnya menggunakan terowong ialah padanan sumber. Awalan pejabat peribadi yang sepatutnya boleh dicapai melalui terowong ialah padanan destinasi. Stesen kerja yang sepatutnya menggunakan terowong hanya untuk satu perkhidmatan ialah kedua-duanya, dan persilangan itulah kes yang kebanyakan perisian tegar pengguna kendalikan dengan teruk.
Tulis keperluan sebagai pasangan sebelum membandingkan produk. Pasangan itulah yang akan anda uji kemudian.
Produk yang menawarkan senarai peranti atau senarai destinasi global mungkin tidak dapat menyatakan «hanya peranti ini, hanya destinasi ini». Jurangnya bukan kosmetik: peraturan destinasi global menghantar trafik setiap peranti ke laman itu melalui terowong, dan peraturan peranti menghantar semua trafik peranti itu. Kedua-duanya bukan keperluan. Uji kes itu dengan dua peranti sebelum mempercayai skrin.
Bina peraturan sebagai persilangan
Jadual mengekalkan reka bentuk jujur. Letakkan senario di kiri, kemudian namakan padanan penghantar dan padanan sasaran secara berasingan:
| 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, kerana ia memerlukan kedua-dua separuh serentak. Jika perisian tegar hanya boleh menyatakan satu paksi, keperluan mesti dipecahkan kepada dua peraturan atau dipindahkan ke peranti yang mampu.
Kekalkan identiti sumber stabil. Tempahan DHCP, segmen khusus atau mekanisme identiti peranti semuanya berfungsi, tetapi alamat yang berubah selepas pajakan tamat tidak berfungsi. Sertakan IPv6, kerana satu alamat IPv4 tidak mengenal pasti semua trafik peranti.
Keutamaan menentukan pertindihan
Pertindihan peraturan adalah biasa. Peraturan peranti yang luas dan peraturan destinasi yang sempit boleh kedua-duanya menerangkan satu aliran, dan susunan keutamaan yang didokumenkan menentukan yang mana menang. Skrin tetapan yang menarik tidak memberitahu anda susunan itu.
Baca manual untuk susunan dan untuk kes tanpa padanan, kemudian uji kedua-duanya dengan trafik yang boleh anda perhati:
ip rule show
ip route get 203.0.113.10
Jika dokumentasi tidak menyatakan susunan, anggap peraturan yang lebih sempit mungkin tidak menang dan reka bentuk dengan mengambil kira perkara itu. Dua peraturan yang tidak boleh bercanggah lebih mudah disokong daripada satu peraturan pintar yang keutamaannya tidak didokumenkan.
Nama memerlukan dasar penyegaran
Destinasi yang ditulis sebagai domain menambah masalah penyelenggaraan. Penghala mesti menyelesaikannya, menyegarkan pemetaan, mengendalikan berbilang alamat dan subdomain, serta menghadapi DNS aplikasi yang memintas penyelesai yang dijangkakan.
Menyalin satu hasil carian ke dalam peraturan IP ialah petikan, bukan dasar domain.
Tentukan berapa lama jawapan boleh menjadi lapuk sebelum peraturan itu salah, dan apa yang penghala lakukan apabila penyelesaian gagal. Peraturan yang mengekalkan alamat terakhir yang diketahui boleh bertahan melalui penghijrahan perkhidmatan; peraturan yang membuang entri boleh menghentikan terowong secara senyap. Kedua-dua tingkah laku boleh diterima jika ditulis di sebelah peraturan.
Tentukan keadaan tidak tersedia
Keutamaan laluan tidak menguatkuasakan trafik khusus VPN. Apabila terowong mati, penghala boleh menyekat aliran, menghantarnya terus atau menggunakan terowong lain, dan setiap pilihan mempunyai tandatangan kegagalan berbeza.
Tentukan yang mana diperlukan oleh keperluan, kemudian sahkan dengan menghentikan terowong dan memerhati aliran:
curl -sS -o /dev/null -w "%{http_code}" --max-time 5 https://service.example/
ping -c 2 203.0.113.10
Trafik yang berasal dari penghala sendiri ialah skop berasingan. Pemajuan DNS, pemeriksaan kemas kini dan pemantauan boleh memulakan aliran baharu dari penghala sendiri dan bukannya mewarisi padanan sumber peranti. Ambil kira aliran itu secara eksplisit, jika tidak ia akan muncul sebagai kebocoran yang tidak dijelaskan dalam log.