Резервный интернет для WB sh переключения каналов

Занялся вопросом резервного канала для WB
Нарыл вот такой скрипт

#!/bin/sh

# Доступность этого хоста будет означать корректную работу основного канала
# 8.8.8.8 это DNS от Google. За его доступность можно не беспокоиться
# А значит вероятность ложного срабатывания минимальна
HOST="8.8.8.8"

# Файл-флаг. Появляется при переключении на резервный канал
LOCKFILE="/tmp/check_internet.lock"

# Файл журнала
LOGFILE="/var/log/check_internet.log"

# Пингуем проверочный хост через основной канал
ping -I wlan1 -c 3 -n -q ${HOST} > /dev/null

# Если возникла ошибка (хост не доступен)
if [ $? -ne "0" ]; then
# Если нет файла-флага
if [ ! -f ${LOCKFILE} ]; then
# Меняем маршрут по умолчанию в основной таблице роутинга
ip route del default
ip route add default dev ppp0 metric 10
# Создаём файл флаг
touch ${LOCKFILE}
# Делаем запись в файл журнала
echo `date +'%Y/%m/%d %H:%M:%S'` Internet connection changet to MEGAFON >> ${LOGFILE}
fi
# Если же всё хорошо
else
# Если есть файл-флаг
if [ -f ${LOCKFILE} ]; then
# Меняем маршрут по умолчанию в основой таблице роутинга
ip route del default
ip route add default via 192.168.1.101 metric 10
# Удаляем файл-флаг
rm -f ${LOCKFILE}
# Записываем событие в файл журнала
echo `date +'%Y/%m/%d %H:%M:%S'` Internet connetction changed to INTERNET >> ${LOGFILE}
fi
fi

Проблема заключается в том что если в таблице нет

default via 192.168.1.101 dev wlan1 metric 10

интернет не пингуется через wlan1

root@wirenboard:~# ping -I wlan1 -c 3 -n -q XX.XX.XX.XX                                                                        
PING  XX.XX.XX.XX (XX.XX.XX.XX) from 192.168.1.161 wlan1: 56(84) bytes of data.                                                
                                                                                                                                
--- XX.XX.XX.XX ping statistics ---                                                                                            
3 packets transmitted, 0 received, +3 errors, 100% packet loss, time 2001ms                                                     
pipe 3

WB настроен в режиме точки доступа и хоста

Переделал, работает)) Тему можно закрыть.

    #!/bin/sh
    HOST="4.2.2.2"
    MAIN_GW="192.168.1.101"
    MAIN_DEV=wlan1
    RESER_DEV=ppp0

    LOCKFILE="/tmp/check_internet.lock"

    LOGFILE="/var/log/check_internet.log"



    EXIST=`ip route show ${HOST} | wc -l`
    if [ $EXIST -eq 0 ]
    then
       route add ${HOST} gw ${MAIN_GW} dev ${MAIN_DEV} 2>&1
    fi


    ping -I ${MAIN_DEV} -c 3 -n -q ${HOST} > /dev/null 2>&1


    if [ $? -ne "0" ]; then
      if [ ! -f ${LOCKFILE} ]; then
        ip route del default
        ip route add default dev ${RESER_DEV} metric 10
        touch ${LOCKFILE}
        MSG=`date +'%Y/%m/%d %H:%M:%S'`
        echo "${MSG} Internet connection changet to Beeline" >> ${LOGFILE}
        mosquitto_pub -t "/devices/internet/controls/status/on" -m "Beeline ${MSG}"
      fi
    else
      if [ -f ${LOCKFILE} ]; then
        ip route del default
        ip route add default via ${MAIN_GW} metric 10
        rm -f ${LOCKFILE}
        MSG1=`date +'%Y/%m/%d %H:%M:%S'`
        echo "${MSG1} Internet connetction changed to tomato" >> ${LOGFILE}
        mosquitto_pub -t "/devices/internet/controls/status/on" -m "Tomato ${MSG1}"
      fi
    fi
1 Like

Время от времени интернет остается на резервном канале.
scratch_831.sh (1,9 КБ)

Скрипт во вложении. Пробовал из рекомендаций с метрикой. Но здесь если интернета нет (на роутере проблема) но wlan1 работает -трафик не идет в резервный канал
https://wirenboard.com/wiki/index.php?title=Wirenboard6:InstallingOnTheRemoteSite&mobileaction=toggle_view_desktop#3G-модем

Добрый день.
Но в ПО контроллера уже есть с 2304 релиза переключение каналов в интернет, с настраиваемыми приоритетами. Они неудобны?

1 Like

В релизе wb-2304 и более новых используется Network Manager, который позволяет настроить резервирование каналов связи мышкой в веб-интерфейсе, подробнее: Настройка сети в контроллере Wiren Board — Wiren Board

Никакие скрипты теперь не нужны и даже вредны.

Эту старую тему закрываю, чтобы не путать людей.

Если вы используете wb-2207 и хотите обсудить скрипты - создайте, пожалуйста, новую тему по рекомендациям.