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.
    • 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.