Занялся вопросом резервного канала для 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 настроен в режиме точки доступа и хоста