Profil yang berfungsi bertahun-tahun tiba-tiba enggan bermula, dan mesej menamakan arahan yang tiada sesiapa ingat menambahnya: key-method. Hasil carian seterusnya mencadangkan menambah key-method 2 untuk keserasian, iaitu nasihat daripada zaman lain. Penghurai yang menolak baris itu ialah yang terkini, dan ia sama sekali tiada pilihan sedemikian. Membuang baris itu membaiki permulaan, dan ia tidak mengubah apa-apa tentang cara kedua-dua rakan melindungi sesi.

Jurang antara apa yang terkandung dalam profil dan apa yang protokol sebenarnya lakukan itulah keseluruhan topik di sini, dan ia menjelaskan beberapa suntingan lain yang dilakukan orang pada masa yang sama. Ia juga menjelaskan mengapa suntingan itu biasanya tiba dalam satu berkas.

Gejalanya ialah ralat penghuraian, bukan kegagalan jabat tangan

Pilihan dibaca sebelum sebarang paket dihantar. Profil dengan arahan yang tidak dikenali gagal pada peringkat itu, jadi proses itu tidak pernah sampai ke rangkaian dan tidak pernah menghasilkan ralat jabat tangan. Kata-katanya biasanya mengenal pasti pilihan dan fail, yang menjadikan ini salah satu kegagalan paling mudah dikaitkan. Tiada paket, laluan atau tembok api terlibat di dalamnya.

openvpn --config /etc/openvpn/client/office.ovpn --verb 3 --log /tmp/parse.log
grep -n 'Options error' /tmp/parse.log

Jika mesej menamakan arahan itu, diagnosis selesai: fail itu mengandungi sesuatu yang binaan ini tidak terima. Jika mesej itu sebaliknya menamakan laluan fail, masalahnya ialah include atau kunci yang hilang, iaitu bahagian lain daripada peringkat permulaan yang sama.

Apa yang tidak sepatutnya anda simpulkan ialah klien atau pelayan memerlukan mod protokol yang lebih lama. Kegagalan penghuraian ialah masalah perbendaharaan kata antara fail anda dan binari, dan binari dalam kes ini hanya menggugurkan satu perkataan daripada perbendaharaan katanya.

Arahan dan format penghantaran ialah dua perkara berbeza

Pilihan key-method lama memilih bagaimana pertukaran kunci TLS dibingkaikan, dan pertukaran moden ialah kaedah berbilang paket yang pernah diminta oleh pilihan itu. Pilihan itu hilang kerana ia tidak lagi memilih apa-apa; format yang dinamakannya menjadi satu-satunya. Oleh itu membuang baris itu membiarkan sesi menggunakan pembingkaian yang sama seperti sebelumnya. Suntingan teks tidak boleh mengubahnya ke mana-mana arah.

Itulah sebabnya mengembalikan binari lama untuk “memulihkan” kaedah 2 ialah pembaikan yang salah. Ia tidak memulihkan apa-apa kecuali penghurai lebih lama dengan nilai lalai lebih lama, dan ia merugikan anda pembetulan yang datang selepasnya. Penaakulan yang sama terpakai untuk melemahkan pemeriksaan sijil atau senarai sifer dengan harapan sambungan kembali.

Pemeriksaan yang berguna ialah versi dan konfigurasi yang dihuraikan, bukan kehadiran perkataan itu dalam fail:

openvpn --version | head -n 1
grep -rn 'key-method' /etc/openvpn/ 2>/dev/null

Apa yang perlu dibuang, dan daripada fail mana

Sunting fail yang benar-benar dibaca oleh proses yang sedang berjalan, dan fail itu sahaja. Pada sistem berbendung, biasanya itu profil dalam direktori klien atau pelayan yang dinamakan oleh unit, bukan salinan dalam direktori rumah anda yang disimpan sebagai rujukan. Profil yang dijana juga boleh dibina semula daripada templat, jadi perubahan yang dibuat hanya pada salinan yang digunakan akan kembali selepas proses penyediaan seterusnya.

Padam baris usang itu dan biarkan titik akhir, sijil, dasar sifer dan tetapan saluran kawalan tidak diusik. Itu ialah pilihan yang disokong yang diperlukan oleh proses, dan ia tidak terlibat dalam ralat penghuraian. Jika profil yang sama mengandungi arahan lain yang anda tidak kenali, semak setiap satu terhadap versi yang anda jalankan daripada memadam sekumpulan daripadanya sehingga proses bermula.

Kemudian mulakan instans yang dimaksudkan dan baca output permulaannya. Permulaan bersih dengan pendengar hadir ialah pengesahan bahawa peringkat ini selesai; ujian klien selepas itu menjawab soalan yang berbeza.

Profil yang ditolak dan klien yang ditolak kelihatan serupa

Dua kegagalan menghasilkan benang sokongan yang serupa dan memerlukan bukti berbeza. Pelayan yang menolak konfigurasinya sendiri tidak pernah bermula, jadi tiada klien boleh menyambung kepadanya. Pelayan yang bermula dengan baik dan menolak seorang klien sedang berjalan, dan lognya mengandungi sebabnya: masalah sijil, pilihan yang ditolak klien, ketidakpadanan sifer.

Pilihan yang dibuang itu bukan diagnosis untuk kes kedua, dan berpaut padanya membazirkan jam yang sama dua kali. Jika log klien menunjukkan penolakan pelayan, bacalah penolakan itu; jika ia menunjukkan ralat setempat, profil klien itulah fail yang perlu diperiksa. Berpaut pada arahan yang tidak lagi wujud melambatkan kedua-dua penyiasatan dengan jumlah yang sama.

Soalan keserasian yang tidak pernah dijawab oleh baris itu

Profil yang beredar dengan arahan ini biasanya membawa kisah tentang platform tertentu, dan kisah itu hidup lebih lama daripada sebab teknikalnya. Klien mudah alih atau desktop masih memerlukan profil lengkap yang disokong: rantaian sijil yang dipercayai, sifer data yang diterima oleh kedua-dua hujung, mod saluran kawalan yang dilaksanakan oleh kedua-dua hujung, dan tiada arahan yang ditolak oleh binaan klien. Tiada satu pun daripada itu ditentukan oleh kehadiran atau ketiadaan baris key-method lama.

Pemampatan ialah soalan dasar berasingan dengan bentuk yang sama. Membuang baris key-method tidak mengatakan apa-apa tentang sama ada arahan pemampatan disokong atau boleh diterima dalam penggunaan anda, dan kedua-dua keputusan harus dibuat secara bebas. Memadam beberapa tetapan berkaitan keselamatan sekali gus sehingga sesuatu bersambung ialah cara profil yang berfungsi menjadi profil yang tidak dapat dijelaskan.

Simpan catatan ringkas tentang apa yang anda buang dan mengapa: pilihan itu, versi yang menolaknya, dan arahan yang menunjukkan ralat itu. Orang seterusnya yang mewarisi profil itu akan memerlukan tepat ketiga-tiga fakta itu, dan menuliskannya sekarang lebih murah daripada membinanya semula kemudian.

Artikel berkaitan