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

    Не работает Routing после перезагрузки.

    Scheduled Pinned Locked Moved Russian
    20 Posts 4 Posters 3.0k 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.
    • D
      DIMADUR
      last edited by

      Всем хорошего настроения!!
      Уважаемые гуру , прошу помощи т.к. я как сорт яблока "Грин" зелен в pfSense.. От одного слова "pfSense" в дрожь бросает..
      Во общем проблема следующая, Стоит в офисе 1  pfSense (2.4.3) на нем поднят L2tp сервер.
      На другой стороне офис 2 зухель кенеетик как клиент.
      Сеть внутри офиса 1 10.168.45.0 сеть внутри офиса 2 10.168.49.0
      Прописаны маршруты на обоих девайсах туда и обратно.  Все работает на ура, пинги летят из обоих сетей.
      НО!!!
      Стоит pfSense  перезагрузить  как маршрут на нем не работает!
      Лечится после того как зайти во вкладку Routing - Gateways открыть вкладку шлюза закрыть нажать Apply или зайти в кладку Static Routes открыть маршрут и обратно закрыть нажать Apply  все начинает работать.
      Странно это .
      Может маршрут не может заработать т.к. тунель еще не успел подняться во время загрузки?
      Чувствую что это какая то мелочь про которую я просто не знаю..

      1 Reply Last reply Reply Quote 0
      • P
        pigbrother
        last edited by

        А что указано мониторить в настройках шлюза?
        Попробуйте временно поставить галку на "Disable Gateway Monitoring"

        1 Reply Last reply Reply Quote 0
        • D
          DIMADUR
          last edited by

          Эта галка стоит не помогло..

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

            Добрый.
            Попробуйте использовать OpenVPN. Кинетик умеет его при перепрошивке в Padavan https://4pda.ru/forum/index.php?showtopic=714487.
            Или использовать ipsec. Кинетик умеет его из коробки в прошивке 2.x

            1 Reply Last reply Reply Quote 0
            • D
              DIMADUR
              last edited by

              Да дело в том, что моя зона ответственности закачивается в офис 1 где pfSense , и проблема именно на моей стороне. т.к. после перезагрузки на той стороне где стоит зуксель все ок.
              При этом я так понял что там стоит кинетик первого поколения  и ipsec нет. Да и собственно озадачиваться там никто этим не хочет.
              Да и странно такая ситуация, когда поднимается после перезапуска pfSense , IP адрес кенетика который он получает в результате подъема тунеля пингуется. Т.е. шлюз после перезагрузки работает. но маршрут который использует этот шлюз, нет.
              Совсем не понимаю логики

              1 Reply Last reply Reply Quote 0
              • P
                pigbrother
                last edited by

                Да дело в том, что моя зона ответственности закачивается в офис 1 где pfSense
                Если так…
                Попробуйте pfSense ветки 2.3.x. Она будет поддерживаться еще приблизительно год.
                И да. Так как официально импорт конфига с более высокой версии не поддерживается, лучше поднять 2.3.х на отдельной машине и настроить все с нуля. Для теста подойдет практически любой ПК или виртуальная машина.

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

                  Внимательно просмотреть таблицу марш-ции на пф во время проблемы. И на кинетике бы тоже.

                  1 Reply Last reply Reply Quote 0
                  • D
                    DIMADUR
                    last edited by

                    @werter:

                    Внимательно просмотреть таблицу марш-ции на пф во время проблемы. И на кинетике бы тоже.

                    А на что нужно обратить внимание?

                    1 Reply Last reply Reply Quote 0
                    • D
                      DIMADUR
                      last edited by

                      Значит во время проблемы и во время рабочего состояния в таблицах ничего не меняется.
                      Destination Gateway Flags Use Mtu Netif Expire
                      10.168.49.0/24 10.168.45.6 UGS 0 1500 re1
                      10.168.49.1 10.168.45.6 UGHS 1655 1500 re1

                      А если есть другой сервис который может работать с маршрутами??

                      1 Reply Last reply Reply Quote 0
                      • D
                        DIMADUR
                        last edited by

                        @DIMADUR:

                        Значит во время проблемы и во время рабочего состояния в таблицах ничего не меняется.
                        Destination Gateway Flags Use Mtu Netif Expire
                        10.168.49.0/24 10.168.45.6 UGS 0 1500 re1
                        10.168.49.1 10.168.45.6 UGHS 1655 1500 re1

                        А если есть другой сервис который может работать с маршрутами??

                        А вот и не одинаковые.  оказывается при нерабочем интерфейс после перезапуска re1 , после того как зайти во вкладку шлюзы открыть нажать сейв и применить интерфейс в таблице становится l2tp1 !!  Вот проблема…. почему то после перезагрузки таблицы маршрутов не тот интерфейс ставит..

                        1 Reply Last reply Reply Quote 0
                        • D
                          DIMADUR
                          last edited by

                          Во общем для себя проблему закрыл как мне кажется кастылем.
                          Удалил в пф (веб интерфейс) все шлюз и маршрут.
                          Написал скрипт с добавлением статического маршрута.
                          Сделал его загрузочным.
                          Перезагрузил сначало машинку из консоли и ВСЕ РАБОТАЕТ!!
                          Потом перезагрузил пф из веб интерфейса ииии НЕРАБОТАЕТ!!
                          Ну пока что этого результата достаточно. Мне не страшны перезагрузки по питанию.
                          Но вопрос открыт, что это баг или руkи не от туда!! :)
                          Пока что довольный пошол спать.

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

                            Добрый.
                            А если выдавать подключающемуся по л2тп кинетику постоянный ip? Тогда и маршрут можно привязать правильно.

                            Написал скрипт с добавлением статического маршрута.
                            Сделал его загрузочным.

                            С этого места подробнее, пож-та.

                            1 Reply Last reply Reply Quote 0
                            • D
                              DIMADUR
                              last edited by

                              По поводу статического IP для зукселя это само сабой сделанно. не в этом дело.
                              Я так понимаю что когда пф загружается они пишет в таблицу маршрут до того как поднимается тунель.
                              Поэтому получается что интерфейс не тунеля задается а интерфейса что смотрит в LAN.
                              Адресация следующая LAN пф 10.168.45.0/24 , зуксель 10.168.49.0/24
                              Тунель работает так адрес шлюза тунеля пф 10.168.45.5 <–----> зукселя 10.168.45.6
                              Маршрут значит route add 10.168.49.0/24 10.168.45.6
                              Вот он и задает интерфейс не l2tp т.к. после перезагрузки  он не успевает подняться . Вот и проблема.
                              Может не правильно с адресацией в тунеле ?
                              Что косается скрипта.
                              Кстати вчера полностью все заработало с костылем.
                              Как ни перезагружай пф все работает.
                              Сделал скрипт script.sh

                              #!/bin/sh
                              sleep 45
                              /sbin/route add -net 10.168.49.0 10.168.45.6 -netmask 255.255.255.0

                              sleep это задержка выполнения скрипта 45 сек. хватает что бы все загрузилось и поднялось.
                              запихиваю его в папку в моем случае /usr/local/etc/rc.d/ 
                              делаю его исполнительным через консоль chmod +x /usr/local/etc/rc.d/script.sh
                              даю права chmod 755 /usr/local/etc/rc.d/script.sh
                              перезапускаю железку. все ОК..

                              1 Reply Last reply Reply Quote 0
                              • P
                                pigbrother
                                last edited by

                                Тут описаны варианты
                                Executing commands at boot time:
                                https://doc.pfsense.org/index.php/Executing_commands_at_boot_time
                                IMHO, удобнее использовать пакет shellcmd.

                                я как сорт яблока "Грин" зелен в pfSense.. От одного слова "pfSense" в дрожь бросает..
                                Кто-то явно лукавит ;)

                                1 Reply Last reply Reply Quote 0
                                • D
                                  DIMADUR
                                  last edited by

                                  @pigbrother:

                                  Тут описаны варианты
                                  Executing commands at boot time:
                                  https://doc.pfsense.org/index.php/Executing_commands_at_boot_time
                                  IMHO, удобнее использовать пакет shellcmd.

                                  я как сорт яблока "Грин" зелен в pfSense.. От одного слова "pfSense" в дрожь бросает..
                                  Кто-то явно лукавит ;)

                                  За подсказку большое спасибо!! .
                                  хороший инструмент.
                                  А по поводу зелен в pfSense так и есть. Это первая железка с этим  зверем.

                                  Ооооочень давно как-то все делали на freebsd поэтому есть кое каие навыки прикручивания костылей )))

                                  1 Reply Last reply Reply Quote 0
                                  • D
                                    derwin
                                    last edited by

                                    @pigbrother:

                                    Тут описаны варианты
                                    Executing commands at boot time:
                                    https://doc.pfsense.org/index.php/Executing_commands_at_boot_time
                                    IMHO, удобнее использовать пакет shellcmd.

                                    я как сорт яблока "Грин" зелен в pfSense.. От одного слова "pfSense" в дрожь бросает..
                                    Кто-то явно лукавит ;)

                                    ёпт! есть же стандартный пакет CRON

                                    1 Reply Last reply Reply Quote 0
                                    • P
                                      pigbrother
                                      last edited by

                                      А ведь да!

                                      Хотя для целей ТС sleep достаточно.

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

                                        Добрый.

                                        2 DIMADUR
                                        Спасибо за объяснение по скрипту.

                                        IP адрес кенетика который он получает в результате подъема тунеля пингуется. Т.е. шлюз после перезагрузки работает. но маршрут который использует этот шлюз, нет.

                                        оказывается при нерабочем интерфейс после перезапуска re1  , после того как зайти во вкладку шлюзы открыть нажать сейв и применить интерфейс в таблице становится l2tp1 !!

                                        Может в скрипт добавить доступность по icmp? Т.е., если есть пинг и в таблице марш-ции нет роута в удаленную сеть - добавляем роут. И скрипт в cron на каждые 5 мин, напр.

                                        Навскидку :

                                        #!/bin/sh
                                        if [[ $(ping -c 4 -i 1 10.168.45.6 | grep -wc "100.0%") -eq 0 && $(netstat -r | grep -w "10.168.49.0/24" | grep -c "l2tp" ) -eq 0 ]] ; then /sbin/route add -net 10.168.49.0/24 10.168.45.6; fi
                                        

                                        Попробуйте.

                                        1 Reply Last reply Reply Quote 0
                                        • D
                                          DIMADUR
                                          last edited by

                                          @werter:

                                          Добрый.

                                          2 DIMADUR
                                          Спасибо за объяснение по скрипту.

                                          IP адрес кенетика который он получает в результате подъема тунеля пингуется. Т.е. шлюз после перезагрузки работает. но маршрут который использует этот шлюз, нет.

                                          оказывается при нерабочем интерфейс после перезапуска re1  , после того как зайти во вкладку шлюзы открыть нажать сейв и применить интерфейс в таблице становится l2tp1 !!

                                          Может в скрипт добавить доступность по icmp? Т.е., если есть пинг и в таблице марш-ции нет роута в удаленную сеть - добавляем роут. И скрипт в cron на каждые 5 мин, напр.

                                          Навскидку :

                                          #!/bin/sh
                                          if [[ $(ping -c 4 -i 1 10.168.45.6 | grep -wc "100.0%") -eq 0 && $(netstat -r | grep -w "10.168.49.0/24" | grep -c "l2tp" ) -eq 0 ]] ; then /sbin/route add -net 10.168.49.0/24 10.168.45.6; fi
                                          

                                          Попробуйте.

                                          Это уже мы занимаемся допливанием пф, так должно быть по хорошему реализованно в самом ПФ :) :)
                                          Спасибо за скрипт.. попробую , но тут как бы он не ругался при добавлении существующего маршрута. Во общем надо пробовать.

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

                                            Добрый.

                                            как бы он не ругался при добавлении существующего маршрута.

                                            Внимательнее еще раз всмотритесь в код скрипта.

                                            Маршрут будет добавляться, если выполняются оба условия (условие_1 && условие_2).

                                            Итого:
                                            Если нет пинга на 10.168.45.6, то скрипт завершит работу сразу и без проверки на 2-ое условие, т.к. первое не выполнено.
                                            Если есть пинг на 10.168.45.6 и нет маршрута в 10.168.49.0/24 через l2tp, то  маршрут добавится.
                                            Если есть пинг на 10.168.45.6 и есть маршрут в 10.168.49.0/24 через l2tp, то скрипт просто завершит работу без попытки добавления маршрута.

                                            P.s. Одно но. Обязательно убедитесь в том, что зюхел постоянно будет получать адрес 10.168.45.6 в l2tp-туннеле. Иначе "ахалай-махалай"(с) не выйдет.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post
                                            Copyright 2025 Rubicon Communications LLC (Netgate). All rights reserved.