Jun 24, 2022

solved: openvpn error, failed to negotiate cipher with server

Error message in syslog

Month DD hh:mm:ss kalp ovpn-my_config[15328]: OPTIONS ERROR: failed to negotiate cipher with server.  Add the server's cipher ('AES-128-CBC') to --data-ciphers (currently 'AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305') if you want to connect to this server.

Solution

If you can't update all of server(s) and clients,

the next best method is to do the following actions to them.


$ sudo vi  /etc/openvpn/client/my_config.ovpn

cipher AES-128-CBC  # existing 

data-ciphers AES-256-GCM:AES-128-GCM:AES-128-CBC # newly added line

$ sudo /etc/init.d/openvpn restart


Then everything started to be okay.

--> 07/04 加筆編集

Backgrounds

For those who want to know the reason a bit further …
もう少し理解を深めたい方へ 
 
The error came from incompatibility of ciphers among different versions of OpenVPN on servers and clients.
You will need to verify each versions and then study which countermeasure among 1,2,3 below can be taken.
In my case, I took the countermeasure 2 for my some reasons.
サーバ~クライアント間のOpenVPNバージョンの違いによってサイファが非互換であることが、不具合のきっかけです。
まず、それぞれのバージョンを調べて下記の対策1, 2, 3 のいずれが可能か考えます。
私の場合は、諸事情で2を選択しました。

 

Countermeasure 1
The best countermeasure is to update both server/client to OpenVPN 2.5.
Even with the default settings, the appropriate cipher will be automatically selected when connecting.
最善の対策は、サーバー/クライアントともOpenVPN 2.5にアップデートすることです。
デフォルト設定のままでも、接続時に適切なサイファが自動的に選択されます。

 

Countermeasure 2 (if updating to 2.5 is not possible)
Add "data-ciphers AES-256-GCM:AES-128-GCM:AES-128-CBC" (for OpenVPN 2.5 or later)
or "cipher AES-128-CBC" (for OpenVPN 2.4 or earlier)
to all server and client settings Please add "cipher AES-128-CBC". This will allow the connection to be established using AES-GCM as the cipher.
対策22.5へのアップデートが不可能な場合)
すべてのサーバーとクライアントの設定に
data-ciphers AES-256-GCM:AES-128-GCM:AES-128-CBC」(OpenVPN 2.5以降の場合)
または「cipher AES-128-CBC」(OpenVPN 2.4以前の場合)
を追加してください。これにより、サイファとしてAES-GCMを使用して接続が確立できます。

 

Countermeasure 3 (If updating to 2.5 is not possible + you really want to use BF-CBC)
You need to explicitly enable BF-CBC in the configuration on the OpenVPN 2.5 side (add BF-CBC to data-ciphers).
However, this is not recommended since BF-CBC will most likely not be available in future OpenVPNs.
対策32.5へのアップデートが不可能+どうしてもBF-CBCを使用したい場合)
OpenVPN 2.5側の設定で BF-CBC を明示的に利用可能にする必要があります(data-ciphers  BF-CBC を追加する)。
しかし、今後のOpenVPNでは BF-CBC は利用できなくなる可能性が高いので、この方法は推奨されていません

 

Source

“OpenVPN 2.5 のサイファの互換性
https://www.openvpn.jp/2020/10/29/1370/

 

No comments: