
私は 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 サーバーにすばやく切り替えられるように、クライアントの接続タイムアウトを調整するにはどうすればよいですか?
答え1
keepalive ディレクティブはこれを制御します:
# keepaliveディレクティブはpingのような # 送受信されるメッセージ # リンクを張っておけば、双方がいつ # 反対側がダウンしました。 # 10秒ごとにpingを実行し、リモート # pingを受信しなかった場合、ピアはダウンしています # 120 秒の期間。 キープアライブ 10 120