Anda bersambung, antara muka tunel muncul, dan satu awalan yang anda perlukan memang tiada dalam jadual. Langkah seterusnya biasanya mencari skrip yang menambahnya. Carian itu membawa kepada jawapan yang menampal pembantu OpenVPN ke dalam profil, dan separuh daripada jawapan itu menjadikan keadaan lebih buruk dan bukan lebih baik, kerana laluan yang hilang mempunyai tiga pemilik yang mungkin dan hanya satu daripadanya ialah skrip yang hilang.

Tentukan pemilik mana yang bertanggungjawab sebelum anda menulis apa-apa.

Tiga pemilik, satu awalan yang hilang

Awalan itu mungkin tiada kerana tiada siapa yang menyediakannya, kerana profil menolaknya, atau kerana ia dipasang di tempat yang anda tidak lihat. Itu kerosakan yang berbeza dan ia mempunyai pembaikan yang berbeza.

Yang pertama paling mudah diperiksa: pernahkah pelayan atau pemalam menawarkan laluan itu? Backend yang tidak pernah menerima awalan tidak boleh memasangnya, dan skrip pembantu tidak boleh mencipta ketercapaian yang tidak pernah diterangkan oleh rakan. Yang kedua ialah dasar profil, yang boleh menyekat laluan yang sepatutnya diambil oleh sambungan. Yang ketiga ialah jadual atau peraturan, yang boleh menyimpan laluan di tempat yang carian lalai tidak pernah periksa.

Pemilik keempat ialah anda, kemudian: skrip yang menambah laluan semasa bersambung tetapi tidak mengeluarkannya semasa memutuskan sambungan. Itu menghasilkan awalan yang hidup lebih lama daripada tunel, menunjuk ke antara muka mati, dan mengelirukan orang seterusnya yang menyahpepijat mesin itu.

Baca profil sebelum menambah apa-apa

Mulakan dengan sifat sambungan tersimpan itu sendiri. Bacanya tanpa menumpahkan rahsia, dan gunakan UUID jika nama profil tidak jelas.

nmcli -f vpn.service-type,ipv4.never-default,ipv4.ignore-auto-routes,ipv4.route-table,ipv4.routes connection show office

vpn.service-type memberitahu anda backend mana yang memiliki sambungan, dan itu penting kerana data pemalam khusus kepada backend. Kunci yang diterima oleh satu pemalam bukan arahan yang disokong untuk yang lain, jadi petikan yang disalin daripada dokumentasi klien lain bukan bukti apa-apa.

ipv4.ignore-auto-routes dan ipv4.never-default menjawab soalan yang berbeza. Yang pertama boleh menolak laluan yang sepatutnya diambil oleh sambungan secara automatik, dan yang kedua mengawal sama ada profil boleh menjadi laluan lalai. Profil yang mengabaikan laluan automatik dan tidak bergantung pada apa-apa lagi akan bersambung dengan bersih dan hampir tidak memasang apa-apa.

ip -4 rule show
ip -4 route show table all

Dua arahan itu menyelesaikan kemungkinan ketiga. Cari awalan anda dalam setiap jadual, bukan hanya main, dan periksa sama ada peraturan dasar menghantar carian berkaitan ke tempat lain. Jika awalan itu ada dalam jadual lain dan tiada apa yang memeriksanya, anda tidak mempunyai laluan yang hilang; anda mempunyai carian yang tidak pernah mencapainya.

Apa yang skrip tidak boleh betulkan

Menambah skrip pembantu memberi vpn.data NetworkManager satu program untuk dijalankan. Itu mekanisme sebenar, dan ia mekanisme yang salah untuk kebanyakan kes ini, kerana skrip mendapat kawalan selepas dasar profil itu sendiri sudah memutuskan apa yang hendak diterima.

script-security OpenVPN ialah kekeliruan berulang yang lain. Ia tetapan OpenVPN yang mengawal skrip mana yang boleh dijalankan oleh klien dan apa yang boleh diletakkannya dalam persekitaran skrip; tahap 3 membenarkan kelayakan dihantar melalui persekitaran, yang merupakan keputusan pengendalian rahsia dan bukan pembaikan penghalaan. Menampalnya ke dalam profil yang backendnya bukan OpenVPN, atau menaikkannya apabila tiada skrip memerlukannya, menambah pendedahan tanpa menambah laluan.

Kemudian ada refleks mula semula. Memulakan semula perkhidmatan NetworkManager meruntuhkan dan membina semula setiap pautan terurus, termasuk pautan yang anda gunakan untuk bersambung jika anda bekerja dari jauh. Itu tindakan yang mengganggu, bukan diagnostik yang tidak berbahaya, dan pada pelayan ia boleh menjadi perbezaan antara sesi yang bertahan dan yang tidak.

Keputusan itu, mengikut urutan

Tanya tiga soalan secara berturutan. Adakah rakan menyediakan awalan itu, yang akan ditunjukkan oleh log backend atau output statusnya sendiri? Jika ya, adakah profil dikonfigurasikan untuk menerima dan memasang laluan, atau adakah ia menyekatnya? Jika laluan itu wujud di suatu tempat, adakah laluan carian itu betul untuk trafik yang anda uji?

Hanya apabila jawapan pertama ya, yang kedua ya dan yang ketiga betul, skrip tambahan menjadi wajar dipertahankan, dan walaupun begitu anda harus bertanya sama ada backend menyokong laluan itu secara asli. Rujukan tetapan VPN mendokumentasikan service-type dan kamus data khusus pemalam, dan dari situlah harus bermula sebelum menganggap sesuatu kunci wujud.

Selepas pembetulan yang diluluskan, sambung semula dan uji destinasi mengikut alamat dan kemudian mengikut nama, kemudian putuskan sambungan dan sambung semula untuk mengesahkan keadaan itu boleh diulang. Satu pemilik, satu jadual, dan laluan yang hilang bersama tunel ialah hasil yang berbaloi.

Artikel berkaitan