Wireguard的keepalive設定
問題
在使用wireguard時會發現一個問題,當連線長時間靜默時,wireguard會自動切斷連線,這時就無法連線到對方。wireguard有提供一個對應的設定值PersistentKeepalive
,會隔設定的秒數向對方發送心跳包,但如果只在單端設定,wireguard會因為對方長時間沒有回應,認為對方斷線,從而切斷連線。
但是有時候server端自己無法控制,剛好server端又沒有加上PersistentKeepalive
的設定,此時就要用一些其他的方法來維持連線了。
解法
解法其實很簡單,定時向對面發送封包即可,可以將以下指令新增到crontab,記得新增到可以免密碼使用wg-quick
的user上,或者新增到root的,我是使用* * * * *(每分鐘發送一次ping,如果斷線則重啟對應的wireguard連線)
1 |
|
Wireguard的keepalive設定
https://www.zenwen.eu.org/wireguard-persistent-keepalive/