web-dev-qa-db-ja.com

失敗時に再接続するためのOpenVPNタイムアウトに時間がかかる

OpenVPNサーバー用の高可用性環境を作成しようとしています。これを行うには、2つの同一のVPNサーバーを使用し、クライアント構成で複数のリモートを指定します。

# The hostname/IP and port of the server.
# You can have multiple remote entries
# to load balance between the servers.
remote vpn1 1194
remote vpn2 1194

remote-random

これはうまくいくようです。 2つのVPNサーバーと2つのクライアントを持つVagrant環境があります。ネットワークが稼働し、VPNサーバーの1つでOpenVPNを停止すると、他のサーバーが引き継ぎます。

ただし、他のサーバーが引き継ぐ前に、実際にこれを行うまでには長い時間がかかります。クライアントが相互にpingを実行する場合、pingが続行するまでに約3分かかります。私の推測では、クライアントは再接続を試みており、タイムアウトはここでの問題です。

OpenVPNでclient.conf次の設定でプレイしましたが、何の違いもないようです(はい、設定を変更した後、クライアントでOpenVPNを再起動します)。

connect-retry 2
connect-retry-max 2

クライアントの接続タイムアウトを調整して、別のOpenVPNサーバーにすばやく切り替えるにはどうすればよいですか?

6
Luke

キープアライブディレクティブはこれを制御します。

#キープアライブディレクティブにより、pingに似た
#メッセージがリンクを介して送受信されます
#。これにより、各サイドはいつ
#を認識しますか。 
#10秒ごとにpingを実行し、リモート
#ピアが120秒の間にpingを受信しなかった場合
#ピアがダウンしていると想定します。
キープアライブ10 120