Anda menambahkan rute cabang, rute itu bekerja, lalu pembaruan firmware atau penyimpanan dari UI web menghapusnya. Dua perbaikan tampak sama masuk akal saat itu: menaruh rute di sumber konfigurasi yang didukung perangkat, atau menambahkannya ke berkas yang dihasilkan dari skrip startup. Keduanya berperilaku sama selama sepekan dan berbeda pada peningkatan kedua. Artikel ini membandingkan apa yang sebenarnya dimiliki masing-masing.

Kedua kandidat memiliki hal yang berbeda

Sumber konfigurasi yang didukung adalah semua yang diperlakukan perangkat sebagai masukan: bidang GUI, profil yang diimpor, direktori terdokumentasi per klien, basis data pengaturan yang dibaca paket manajemen. Berkas server.conf yang dihasilkan adalah keluaran. Menyunting keluaran berfungsi sampai generator berjalan lagi, dan itu terjadi saat menyimpan, saat reboot, dan saat peningkatan.

Pendekatan skrip menambal keluaran itu setelah generator selesai. Itu teknik yang sah untuk laboratorium, dan itu default yang salah untuk kantor cabang, karena membuat rute bergantung pada pencocokan teks alih-alih bidang terdokumentasi.

QuestionSupported config sourcePost-generation script
Survives a GUI saveYesOnly if the save does not regenerate the file
Survives a package upgradeUsually, when the field is documentedNo guarantee; the wrapper can be replaced
Supportable by the vendorYesNo
Obvious to the next adminYes, it is in the UINo, it lives in a wrapper

Apa yang dihasilkan ulang perangkat, dan kapan

Paket manajemen biasanya menyimpan pengaturan di basis data atau kumpulan templat dan merender konfigurasi daemon saat mulai. Penyimpanan dari UI web sering menulis ulang seluruh berkas alih-alih menambal satu baris. Jika perubahan Anda hidup di berkas itu, kini berkas itu hilang, dan tidak ada yang mencatat peringatan karena dari sudut pandang perangkat tidak ada yang hilang.

Pembungkus startup memiliki mode kegagalan kedua. grep untuk direktif dengan spasi tertentu berhenti cocok setelah perubahan templat, dan skrip diam-diam tidak melakukan apa pun. Lebih buruk lagi, pembaruan firmware dapat mengganti pembungkus dengan versi baru dan membawa tambalan itu pergi. Anda lalu memiliki rute yang ada selama setahun dan hilang saat pemeliharaan yang tak seorang pun kaitkan dengan perutean.

Apa yang harus diungkapkan pemilik yang didukung

Prefiks cabang membutuhkan tiga pernyataan, bukan satu. Klien harus mempelajari rute, server harus tahu klien terautentikasi mana yang memiliki prefiks, dan sisi cabang harus mengembalikan lalu lintas ke alamat terowongan yang diberikan. Dalam istilah OpenVPN itu berarti route yang didorong, iroute yang cocok dan terikat ke klien, serta jalur kembali di sisi jauh.

Di sinilah UI perangkat menyesatkan. Kotak centang berlabel “izinkan klien mengakses LAN server” menjelaskan lalu lintas menuju jaringan server sendiri. Cabang Anda adalah arah sebaliknya: jaringan di belakang satu klien, dapat dijangkau dari sisi server. Label yang sama tidak berarti dukungan untuk itu, dan direktif yang valid dalam berkas bukan janji bahwa paket akan mempertahankannya.

Ketika tidak ada kontrol yang didukung

Kadang rilis yang terpasang benar-benar tidak dapat menyatakan rute khusus rekan. Maka pilihan jujurnya adalah gateway lain yang Anda kendalikan, atau mode situs-ke-situs yang didukung di kedua ujung. Kedua ujung harus memercakapkannya. Halaman produk yang menyebut situs-ke-situs tidak membuat profil OpenVPN sembarang dapat ditukar dengan terowongan protokol lain, dan memaksa pasangan itu biasanya menghasilkan terowongan setengah terhubung yang terlihat baik di halaman status.

Pilih opsi yang dapat Anda jelaskan dalam satu kalimat kepada siapa pun yang mewarisi jaringan. Jika jawabannya memerlukan penyebutan jalur skrip dan pola teks, desainnya sudah rapuh.

Buat niat dapat diaudit

Catat kontrak di luar perangkat: identitas klien efektif, prefiks, gateway kembali, dan bidang yang didukung yang memasok masing-masing. Ekspor konfigurasi melalui mekanisme yang didukung agar pembangunan ulang memiliki rujukan, dan verifikasi layanan setelah koneksi ulang, mulai ulang, dan peningkatan, bukan hanya setelah perubahan.

Bandingkan hasil yang dihasilkan dengan catatan itu ketika sesuatu rusak, alih-alih memulihkan baris yang tak dijelaskan dan berharap.referensi OpenVPN 2.6 adalah tempat untuk memastikan bagaimana route dan iroute berinteraksi sebelum Anda berdebat dengan UI.

Daftar periksa untuk perubahan berikutnya: sebutkan pemiliknya, nyatakan kontrak tiga bagian, ekspor niatnya, dan uji ulang setelah peristiwa siklus hidup perangkat itu sendiri, bukan setelah penyuntingan Anda.

Artikel terkait