Использование двух подключений к интернет-провайдеру одновременно для повышения стабильности работы Linux

Использование двух подключений к интернет-провайдеру одновременно для повышения стабильности работы Linux

У меня два интернет-подключения от двух разных провайдеров. ADSL на eth0 и 4G на wlan0. Есть ли способ, чтобы в случае сбоя одного провайдера другой автоматически взял на себя управление без физического маршрутизатора и с помощью Host OS (Ubuntu 18.04)?

решение1

Я никогда лично не пробовал сделать это из хостовой ОС. Но после долгих раздумий я решил покопаться в интернете, чтобы посмотреть, смогу ли я найти то, что вы ищете.

Я нашел пример скрипта для аварийного переключения шлюза на gist.github.com, созданный пользователем "Apsu". Вы можете загрузить bash-скриптздесь.

Вам придется изменить это в соответствии с вашей конкретной настройкой, добавить имена интерфейсов, адреса шлюзов, и все будет готово.

Скрипт для хостовой ОС:

#!/bin/bash

# Set defaults if not provided by environment
CHECK_DELAY=${CHECK_DELAY:-5}
CHECK_IP=${CHECK_IP:-8.8.8.8}
PRIMARY_IF=${PRIMARY_IF:-eth0}
PRIMARY_GW=${PRIMARY_GW:-1.2.3.4}
BACKUP_IF=${BACKUP_IF:-eth1}
BACKUP_GW=${BACKUP_GW:-2.3.4.5}

# Compare arg with current default gateway interface for route to healthcheck IP
gateway_if() {
  [[ "$1" = "$(ip r g "$CHECK_IP" | sed -rn 's/^.*dev ([^ ]*).*$/\1/p')" ]]
}

# Cycle healthcheck continuously with specified delay
while sleep "$CHECK_DELAY"
do
  # If healthcheck succeeds from primary interface
  if ping -I "$PRIMARY_IF" -c1 "$CHECK_IP" &>/dev/null
  then
    # Are we using the backup?
    if gateway_if "$BACKUP_IF"
    then # Switch to primary
      ip r d default via "$BACKUP_GW" dev "$BACKUP_IF"
      ip r a default via "$PRIMARY_GW" dev "$PRIMARY_IF"
    fi
  else
    # Are we using the primary?
    if gateway_if "$PRIMARY_IF"
    then # Switch to backup
      ip r d default via "$PRIMARY_GW" dev "$PRIMARY_IF"
      ip r a default via "$BACKUP_GW" dev "$BACKUP_IF"
    fi
  fi
done

С сетевым оборудованием:

Использование маршрутизатора для этой функции имеет значительные преимущества по сравнению с просто отказом от хостовой ОС. Сразу приходит на ум использование пропускной способности обоих подключений одновременно. (Полное использование обоих подключений ISP)

Вы можете использовать PFsense / OpenSense в качестве двойного WAN-маршрутизатора. (Большинство старого оборудования для ПК подойдет.) Я считаю, что маршрутизаторы с поддержкой DD-WRT также способны к отказу WAN с некоторой настройкой. Или вы можете использовать готовое решение, например Sophos или Netgear prosafe, я уверен, что есть и другие, но большинство готовых решений стоят дороже, чем готовы платить домашние пользователи. Настройка двойного wan-маршрутизатора позволяет вам увеличить пропускную способность вашего интернет-соединения. Вы можете балансировать нагрузку трафика для ваших конкретных нужд. Вы можете получить избыточность интернет-соединения и отказоустойчивость.

С уважением,

Связанный контент