Profil OpenVPN yang berfungsi di tempat lain melaporkan bahawa AES-256-GCM tidak ditemui, atau rakan-rakan tidak berkongsi sifer, dan dorongan pertama ialah menyunting profil. Kedua-dua mesej itu menerangkan kegagalan yang berbeza. Satu mengatakan program setempat tidak mempunyai algoritma itu; satu lagi mengatakan kedua-dua hujung mempunyai algoritma tetapi tiada pilihan bersama. Menyunting profil tidak membaiki mana-mana sehingga anda tahu yang mana anda hadapi.

Baca teks ralat yang tepat dan program yang menghasilkannya.

Tentukan ralat mana yang anda hadapi

Mesej tentang sifer yang tidak ditemui datang daripada analisis pilihan pada mesin setempat, sebelum sebarang paket dihantar. Ia bermakna fail boleh laku di hadapan anda, atau pustaka yang dipautkannya, tidak menawarkan algoritma itu. Mesej tentang tiada sifer bersama datang kemudian, semasa rundingan, dan bermakna kedua-dua pihak menyokong sifer tetapi tidak dapat bersetuju pada satu.

Perbezaan itu penting kerana satu ialah masalah versi perisian dan satu lagi masalah konfigurasi. Yang pertama diselesaikan oleh nombor versi. Yang kedua diselesaikan dengan membandingkan dua senarai.

Kekurangan keupayaan setempat

Binaan komuniti lama mendahului nilai lalai moden, dan aplikasi desktop boleh membawa enjinnya sendiri yang berbeza daripada pakej baris arahan yang dipasang di sebelahnya. Jalankan pemeriksaan pada fail boleh laku yang benar-benar memulakan sambungan, kemudian pilih binaan yang disokong dan bukannya mengajar algoritma baharu kepada program lama.

openvpn --version
openvpn --show-ciphers | grep -i gcm
openvpn --show-tls | head -5

Jika AES-256-GCM tidak muncul dalam senarai itu, tiada baris profil akan menambahnya. Penyelesaiannya ialah klien yang lebih baharu atau binaan lain, dan kekangan pihak yang lebih lama menjadi persoalan reka bentuk yang berasingan.

Pada klien berasaskan OpenVPN 3, enjin dan arahan yang diterima berbeza daripada barisan komuniti 2.x, jadi teks profil yang sama boleh gagal atas sebab yang tiada kaitan dengan senarai sifer.

Kekurangan dalam rundingan

Apabila kedua-dua rakan menyenaraikan algoritma, soalan yang tinggal ialah senarai mana yang ditawarkan oleh setiap pihak. OpenVPN komuniti menukar nama arahan rundingan: ncp-ciphers dalam 2.4 menjadi data-ciphers dalam 2.5, dan dalam 2.6 baris cipher lama kebanyakannya berkhidmat untuk keserasian dan sandaran, bukan menentukan set yang dirundingkan.

Sebab itu menukar hanya baris cipher lama boleh membiarkan senarai rundingan tidak tersentuh. Baris lama masih penting untuk sandaran, dan itu kerja yang berasingan. Mencampurkan kedua-duanya menghasilkan suntingan yang tidak mengubah apa-apa yang kelihatan.

openvpn --version | head -2
grep -n -E '^(data-ciphers|ncp-ciphers|cipher|tls-cipher)' server.conf client.ovpn

Bandingkan senarai kedua-dua hujung dan mesej penolakan pelayan. Jika persilangan kosong, selaraskan senarai dengan sengaja dan bukannya menyalin nilai daripada artikel yang ditulis untuk versi lain. Senarai yang terlalu longgar melemahkan setiap sambungan secara senyap. Senarai yang terlalu sempit mengecualikan rakan yang anda mahu kekalkan.

Kekalkan keserasian secara jelas

Sandaran untuk satu rakan lama ialah keputusan yang berkos: keseluruhan penggunaan menerima pilihan yang lebih lemah supaya satu peranti dapat bersambung. Tuliskan sedemikian, dan hadkan kepada rakan yang memerlukannya.

Dua syarat menentukan hasilnya. Jika ralat itu setempat, gantikan binaan. Jika ralat itu dalam rundingan, selaraskan senarai di kedua-dua hujung dan catat versi mana yang anda sokong.

Kemudian laporkan ralat yang tepat dengan output versi dan keupayaan dilampirkan. Pasangan itu memisahkan algoritma yang hilang daripada perselisihan, dan menghentikan pusingan suntingan spekulatif seterusnya sebelum ia bermula.

Artikel berkaitan