Debian Stretchとopenvpn 2.4.0を実行しているopenvpnサーバーをDebian Bullseyeとopenvpn 2.5.7を実行しているサーバーと交換しようとしています。残念ながら、古いOSでopenvpn 2.3を実行している古いクライアントは新しいサーバーに接続できません。今、これらのクライアントを簡単にアップグレードすることはできません。お客様のご意見(レビュー)
Socket Buffers: R=[163840->131072] S=[163840->131072]
UDPv4 link local: [undef]
UDPv4 link remote: [AF_INET]xx.xx.xx.xx:1194
TLS: Initial packet from [AF_INET]xx.xx.xx.xx:1194, sid=xxxxxx xxxxxx
それからしばらく中断して報告します。
TLS Error: TLS key negotiation failed to occur within 60 seconds (check your network connectivity)
TLS handshake failed
Googleで検索してみましたが、見つけるのが大変でしたが、データチャンネルのパスワードに対する回答は見つかりましたが、まだデータチャンネルが構築されていないようです。
答え1
したがって、成功した接続を得るには、2つの問題を解決する必要があります。
1つ目は、既存のクライアントはtls 1.0のみをサポートしていますが、Bullseyeのopenvpnは基本的にこれを拒否することです(デフォルトはopensslライブラリの構成に関連していると思います)。tls-version-min 1.0
TLS 1.0のサポートは、サーバー構成を追加することで再度有効にできます。
2番目は言ったようにhttps://blog.zs64.net/2021/01/enabling-backwards-compatibility-in-openvpn/データチャネルのパスワードです。デフォルトでは、openvpnは2.4より前のopenvpnクライアントの代替パスワードをサポートしなくなりました。そこに記載されているよりも大きな修理が必要であることがわかりました。設定に加えてdata-cipher-fallback
設定もしなければなりませんでした。data-ciphers
追加のサーバー側設定の最終セットは次のとおりです。
data-ciphers AES-256-GCM:AES-128-GCM:AES-256-CBC
data-ciphers-fallback AES-256-CBC
tls-version-min 1.0
私が設定したクライアントから。
cipher AES-256-CBC