Netgate Discussion Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Search
    • Register
    • Login

    Мини скриптик, подскажите как дописать

    Scheduled Pinned Locked Moved Russian
    4 Posts 3 Posters 768 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H
      httpxss
      last edited by

      Здравствуйте.

      Крайне редко отваливается 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
      
      
      1 Reply Last reply Reply Quote 0
      • T
        Tank1337
        last edited by

        мож так?

        /sbin/ifconfig gif0 down

        sleep 10

        /sbin/ifconfig gif0 up

        dhclient ue0 (если нужно)

        1 Reply Last reply Reply Quote 0
        • werterW
          werter
          last edited by

          Доброе.
          Попробуйте переделать под себя 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
          
          1 Reply Last reply Reply Quote 0
          • H
            httpxss
            last edited by

            Вся соль в том, что```
            /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 желания если честно нет, это займет просто больше времени конкретно для меня. Так, что топор-топором, главное результат.
            1 Reply Last reply Reply Quote 0
            • First post
              Last post
            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.