Originally Posted by
Vitaly_k
Да, можно. На будущее ее еще можно использовать для переключения на резервный канал для Multi-WAN.
Кстати, для Wimax каким образом сейчас проверяется состояние соединения, пингами? Тогда его тоже можно вынести его в WAN.
Скрипт http://code.google.com/p/wl500g/sour..._connection.sh (на маршрутизаторе он в /usr/sbin/)
Единственное, что его привязывает к wimax - идентификатор процесса, который надо прибить (madwimax). В остальном универсален. Хотя этим pid может быть и pppd.
Originally Posted by
Vitaly_k
Вы не могли бы набросать вариант такого срипта для тестов?
Я представляю сценарий работы так - ждем минуту, пытаемся пинговать указанный адрес несколько раз, после первой удачной попытки пинговать прекращаем и уходим в ожидание. Если ни один пинг не прошел, то рвем соединение и поднимаем заново.
Если надо переключаться с wimax на 3g или на dhcp-wan, то должно срабатывать следующее:
переход на 3g или wimax
Code:
nvram set rc_service=wan_disconnect,0
kill -SIGUSR1 1
# usbmodem или wimax
nvram set wan0_proto=usbmodem
nvram set rc_service=wan_connect,0
kill -SIGUSR1 1
Переход на Ethernet
Code:
nvram set rc_service=wan_disconnect,0
kill -SIGUSR1 1
# В зависимости от провайдера dhcp, static
nvram set wan0_proto=dhcp
nvram set rc_service=wan_connect,0
kill -SIGUSR1 1
Если нужен vlan, то скорее всего вместо того, что написано придётся делать nvram set wan_proto=pptp, после чего nvram commit && reboot. И тоже самое обратно
Детектировать сбой в wimax или ethernet можно скриптом на основе wimax_check_connection.sh. В случае 3g/cdma - можно подключить "Failure event script name".
До готового скрипта к сожалению сейчас довести не могу - времени нет совсем.
Альтернатива переключению - полноценный мультиван, в котором поднимаются все соединения одновременно, но выставляется приоритет для каждого интерфейса (см. iptables).