Мини скриптик, подскажите как дописать
-
Здравствуйте.
Крайне редко отваливается GIF интефейс, в веб-морде шлюз светится как Pending… и что-бы все сного заработало, захожу в interfaces->opt3 сперва отключаю, потом включаю и все работает.
Хочу по топорному закрыть этот вопрос, скрипт в крон и хрен с ним..В ifconfig этот тунель светится как gif0 нужно его перезапускать, но команды из шела не дают результата, что пробовал:
# Так не проходит, хоть и пишет, что перезапускает # service netif restart gif0 # пробовал положить его так, чтобы потом поднять # ifconfig gif0 down # но ничего не происходит в ifconfig он там остается
Как рестартовать тунель командой? Хочу просто написать проверку пингом и рестарт тунеля в случае его отсутствия, типо:
#!/bin/sh ping -c1 [ip адрес] if [ $? != 0 ] then service netif restart gif0 # Как рестартовать?? fi
-
мож так?
/sbin/ifconfig gif0 down
sleep 10
/sbin/ifconfig gif0 up
dhclient ue0 (если нужно)
-
Доброе.
Попробуйте переделать под себя https://forum.pfsense.org/index.php?topic=132010.0Что-то типа такого в cron:
Вар.1
#!/bin/sh if ping -q -c 3 ip-адрес | grep ', 0.0%' >/dev/null; then /sbin/ifconfig интерфейс down sleep 5 /sbin/ifconfig интерфейс up sleep 5 fi
Вар.2
ping -c 3 ip-адрес &> /dev/null && exit || /sbin/ifconfig интерфейс down; sleep 5; /sbin/ifconfig интерфейс up; sleep 5; exit
-
Вся соль в том, что```
/sbin/ifconfig интерфейс downЯ перепробовал по разному его отрубать, никак! Со скриптом SH проблем нет, мой алгоритм в 1-м посте нормально определяет, есть сеть или ее нету. А вот интерфейс положит - я сам удивлен, но никак не положить не убить его вручную. За ответы спасибо, я написал конкретный топор на PHP + cURL, авторизируемся, отправляем POST о отключении и POST о включении. Работает, хрен с ним. Под пиво убил 2-а часа времени, поэтому выглядит сейчас так:
#!/bin/sh
ping -c1 [ip адрес]if [ $? != 0 ]
then
/usr/local/bin/php /root/utils/reset.gif.php
fiЭто скорее всего из-за тунеля, который образуется в веб-интерфейсе дополнительными различными настройками и как-то скорее всего контролируется pfsense. Не буду описывать свой тупой костыль в PHP если кому и пригодится, пишите. P./S.: Я не нашел API для pfSense, но в принципе я и сделал под себя класс PHP с cURL, но могут со временем возникнуть проблемы т.к. если веб-морду поменяют и в POST надо будет добавлять параметры, читать исходник от pfSense желания если честно нет, это займет просто больше времени конкретно для меня. Так, что топор-топором, главное результат.