
我正在嘗試為我的 OpenVPN 伺服器建立一個高可用性環境。我透過擁有兩個相同的 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
這似乎有效。我有一個 Vagrant 環境,有兩個 VPN 伺服器和兩個客戶端。一旦網路運行並且我在其中一台 VPN 伺服器上停止 OpenVPN,另一台伺服器就會接管。
然而,在其他伺服器接管之前,需要很長時間才能真正執行此操作。如果我的客戶端互相執行 ping 操作,大約需要 3 分鐘才能繼續執行 ping 操作。我的猜測是客戶端正在嘗試重新連接,並且超時是這裡的問題。
在我的 OpenVPN 中,client.conf
我使用了以下設置,但似乎沒有任何區別(是的,我在更改配置後在客戶端上重新啟動 OpenVPN):
connect-retry 2
connect-retry-max 2
如何調整客戶端的連線逾時以使它們更快地切換到不同的 OpenVPN 伺服器?
答案1
keepalive 指令控制這一點:
# keepalive 指令會導致類似 ping 的情況 # 來回發送的訊息 # 連結以便各方知道何時 # 對方已經倒下。 # 每 10 秒 Ping 一次,假設遠程 # 如果期間未收到 ping,則對等方已關閉 # 120 秒的時段。 保持活動 10 120