Don't restart interface if retry attempt has been exceeded
Signed-off-by: Milan Pandurov <milanpandurov@pm.me>
This commit is contained in:
@@ -13,9 +13,7 @@ FAILED_ATTEMPTS=0
|
|||||||
|
|
||||||
function is_host_reachable() {
|
function is_host_reachable() {
|
||||||
for i in {1..5}; do
|
for i in {1..5}; do
|
||||||
echo "Sending ping..."
|
|
||||||
if ping -c 1 "$1" > /dev/null; then
|
if ping -c 1 "$1" > /dev/null; then
|
||||||
echo "Ping received"
|
|
||||||
return 0
|
return 0
|
||||||
fi
|
fi
|
||||||
echo "WARNING: Failed to ping $GATEWAY_IP"
|
echo "WARNING: Failed to ping $GATEWAY_IP"
|
||||||
@@ -32,6 +30,19 @@ while : ; do
|
|||||||
|
|
||||||
if ! is_host_reachable "$GATEWAY_IP" > /dev/null; then
|
if ! is_host_reachable "$GATEWAY_IP" > /dev/null; then
|
||||||
echo "ERROR: ($GATEWAY_IP) is not reachable. Restarting interface $WG_INTERFACE"
|
echo "ERROR: ($GATEWAY_IP) is not reachable. Restarting interface $WG_INTERFACE"
|
||||||
|
|
||||||
|
FAILED_ATTEMPTS=$(( FAILED_ATTEMPTS + 1))
|
||||||
|
if (( FAILED_ATTEMPTS > RECONNECT_ATTEMPTS )); then
|
||||||
|
echo "WARNING: Failed $FAILED_ATTEMPTS times to recover connection..."
|
||||||
|
if $REBOOT_AFTER_FAILED_ATTEMPTS; then
|
||||||
|
echo "INFO: Rebooting..."
|
||||||
|
reboot
|
||||||
|
else
|
||||||
|
echo "INFO: Will continue trying..."
|
||||||
|
FAILED_ATTEMPTS=$(( 0 ))
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
wg-quick down "$WG_INTERFACE"
|
wg-quick down "$WG_INTERFACE"
|
||||||
echo "INFO: Stopped WG interface $WG_INTERFACE"
|
echo "INFO: Stopped WG interface $WG_INTERFACE"
|
||||||
sleep "$RECONNECT_DELAY"
|
sleep "$RECONNECT_DELAY"
|
||||||
@@ -40,18 +51,6 @@ while : ; do
|
|||||||
else
|
else
|
||||||
echo "INFO: Started WG interface $WG_INTERFACE"
|
echo "INFO: Started WG interface $WG_INTERFACE"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
FAILED_ATTEMPTS=$(( FAILED_ATTEMPTS + 1))
|
|
||||||
if (( FAILED_ATTEMPTS > RECONNECT_ATTEMPTS )); then
|
|
||||||
echo "Failed $FAILED_ATTEMPTS times to recover connection..."
|
|
||||||
if $REBOOT_AFTER_FAILED_ATTEMPTS; then
|
|
||||||
echo "Rebooting..."
|
|
||||||
reboot
|
|
||||||
else
|
|
||||||
echo "Will continue trying..."
|
|
||||||
FAILED_ATTEMPTS=$(( 0 ))
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
sleep "$PING_DELAY_S"
|
sleep "$PING_DELAY_S"
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user