Komponen manakah yang sebenarnya memiliki had laluan OpenVPN?
Had laluan boleh dimiliki oleh enjin OpenVPN, pemalam NetworkManager atau pelayan. Namakan pemiliknya sebelum menyunting profil atau menaikkan nombor.
Profil yang membawa dua ratus laluan berfungsi pada satu mesin dan memasang empat puluh pada mesin lain. Enjin, integrasi yang memulakannya dan pelayan yang memberi makannya masing-masing ada suara, dan setiap satunya boleh menghentikan senarai pada titik yang berbeza. Membaca kegagalan sebagai satu had membawa anda ke fail yang salah. Mekanismenya mempunyai tiga peringkat, dan peringkat yang berhenti meninggalkan bukti yang kelihatan apabila anda tahu apa yang perlu dicari.
Tiga peringkat, tiga had berbeza
Pertama enjin menghuraikan pilihan itu dan memutuskan sama ada versi ini memahaminya. Kemudian integrasi memasang apa yang dilaporkan enjin, dan kodnya sendiri boleh mengehadkan atau membentuk semula senarai. Akhirnya pelayan memutuskan berapa banyak laluan yang akan dihantar kepada identiti tertentu, sebelum mana-mana peringkat klien melihat apa-apa. Tiga peringkat, tiga siling, dan hanya satu daripadanya ialah nombor dalam profil.
Menaikkan satu siling tidak melakukan apa-apa untuk yang lain. Laluan yang dihantar dan ditolak mungkin keputusan dasar di pelayan, pertindihan yang diselesaikan klien, atau had pemasang yang membuang lebihan. Setiap satu mempunyai pembetulan yang berbeza.
Pisahkan ketiga-tiganya sebelum mengukur apa-apa. Ralat penghurai menamakan token, had pemasang meninggalkan jadual laluan yang pendek, dan keputusan dasar tidak meninggalkan apa-apa. Bukti memberitahu peringkat mana yang perlu diperiksa dahulu.
| Stage | Who decides | What you can see |
|---|---|---|
| Parse | Client engine | An error naming the option |
| Install | Activation owner | A route count below the pushed count |
| Offer | Server policy | A route absent from the pushed list |
Penghurai bercakap dahulu
Pilihan yang tidak dikenali gagal dengan kuat dan awal, dan teks ralat menamakan token itu. Itulah peringkat yang paling mudah dikenal pasti: bandingkan mesej tepat dengan versi enjin yang dipasang, kerana pilihan yang ditambah dalam satu keluaran tidak dikenali dalam keluaran sebelumnya. Profil yang disalin daripada penggunaan yang lebih baharu ialah punca biasa ketidakserasian itu. Penghurai tidak pernah senyap mengabaikan arahan yang tidak dikenali.
Pilihan yang diterima tidak mengatakan apa-apa tentang hasilnya. Penghuraian berjaya, dan senarai itu masih boleh dipotong oleh pemasang atau tidak pernah ditawarkan oleh pelayan. Anggap penghuraian yang bersih sebagai kebenaran untuk meneruskan, bukan bukti.
Catat rentetan versi daripada binari yang benar-benar berjalan, bukan daripada tanggapan pengurus pakej tentang apa yang dipasang. Kedua-duanya tidak bersetuju lebih kerap daripada yang dijangka.
Pemasang mempunyai silingnya sendiri
Komponen yang memiliki pengaktifan mungkin pemalam NetworkManager dan bukan binari enjin, dan ia boleh mengenakan hadnya sendiri sebelum ada terowong. Editornya mungkin memaparkan medan yang tidak pernah dibaca oleh enjin yang berjalan, atau membaca medan yang tidak dipaparkan oleh editor. Kedua-dua keadaan kelihatan seperti pepijat klien dari luar. Kedua-duanya tidak diperbaiki dengan menyunting profil.
Kira apa yang mendarat dan bukan apa yang dikonfigurasikan. Perintah ip route show dev tun0 menyenaraikan laluan yang dipasang, dan membandingkan bilangan itu dengan senarai yang dihantar memisahkan laluan yang dibuang daripada yang tidak pernah dihantar. Bilangan yang sepadan dengan penghantaran mengembalikan syak kepada pelayan.
Pembalut shell di sekeliling binari enjin untuk memaksa nombor yang lebih besar mengaburkan peningkatan dan menjadikan pengunduran sebagai tekaan. Ia juga menyembunyikan had sebenar daripada sesiapa yang membaca konfigurasi seterusnya.
Pelayan menentukan apa yang ditawarkan kepada anda
Dasar bagi setiap klien boleh mengecilkan senarai sebelum ia dihantar. Fail khusus klien boleh menambah laluan untuk satu identiti, atau dasar kumpulan boleh meninggalkannya, dan klien tidak dapat membezakan laluan yang ditapis daripada yang tidak pernah ditakrifkan. Kekaburan itulah sebabnya rekod pelayan penting. Mintalah senarai penghantaran berkesan untuk identiti itu, bukan templat.
Bandingkan rekod pelayan dengan senarai yang diterima. Jurang antara keduanya ialah lapisan dasar, dan ia biasanya lebih kecil daripada yang disyorkan profil.
Apabila reka bentuk mengizinkan, ringkaskan rangkaian bersebelahan dan hapuskan entri yang lapuk. Laluan yang lebih sedikit dan lebih besar menyelesaikan lebih banyak kes daripada siling yang lebih tinggi.
Tukar nombor di tempat yang betul
Gunakan tetapan berdokumen komponen yang benar-benar memiliki had itu. Jika medan itu tiada dalam pemalam, semak sama ada pemalam lebih lama daripada ciri itu atau sama ada lapisan latar lain memiliki laluan itu. Kemudian dokumenkan versi enjin, pemalam dan pelayan di sebelah nilai yang anda pilih. Peningkatan seterusnya membuka semula soalan itu, dan catatan itulah yang menjadikannya boleh dijawab.
Uji semula selepas sebarang peningkatan mana-mana daripada ketiga-tiganya. Had yang dinaikkan di tempat yang betul masih bergerak apabila komponen yang menguatkuasakannya berubah. Rekod versi ialah satu-satunya perkara yang menjadikan pergerakan itu boleh diramal.