У меня два интернет-соединения от двух разных провайдеров. 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 позволяет увеличить пропускную способность вашего интернета. Вы можете загрузить баланс трафика для ваших конкретных потребностей. Вы можете получить избыточность интернет-соединения и аварийное переключение.
С Уважением,