Не работает Routing после перезагрузки.
-
Добрый.
Попробуйте использовать OpenVPN. Кинетик умеет его при перепрошивке в Padavan https://4pda.ru/forum/index.php?showtopic=714487.
Или использовать ipsec. Кинетик умеет его из коробки в прошивке 2.x -
Да дело в том, что моя зона ответственности закачивается в офис 1 где pfSense , и проблема именно на моей стороне. т.к. после перезагрузки на той стороне где стоит зуксель все ок.
При этом я так понял что там стоит кинетик первого поколения и ipsec нет. Да и собственно озадачиваться там никто этим не хочет.
Да и странно такая ситуация, когда поднимается после перезапуска pfSense , IP адрес кенетика который он получает в результате подъема тунеля пингуется. Т.е. шлюз после перезагрузки работает. но маршрут который использует этот шлюз, нет.
Совсем не понимаю логики -
Да дело в том, что моя зона ответственности закачивается в офис 1 где pfSense
Если так…
Попробуйте pfSense ветки 2.3.x. Она будет поддерживаться еще приблизительно год.
И да. Так как официально импорт конфига с более высокой версии не поддерживается, лучше поднять 2.3.х на отдельной машине и настроить все с нуля. Для теста подойдет практически любой ПК или виртуальная машина. -
Внимательно просмотреть таблицу марш-ции на пф во время проблемы. И на кинетике бы тоже.
-
Внимательно просмотреть таблицу марш-ции на пф во время проблемы. И на кинетике бы тоже.
А на что нужно обратить внимание?
-
Значит во время проблемы и во время рабочего состояния в таблицах ничего не меняется.
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А если есть другой сервис который может работать с маршрутами??
-
Значит во время проблемы и во время рабочего состояния в таблицах ничего не меняется.
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 !! Вот проблема…. почему то после перезагрузки таблицы маршрутов не тот интерфейс ставит..
-
Во общем для себя проблему закрыл как мне кажется кастылем.
Удалил в пф (веб интерфейс) все шлюз и маршрут.
Написал скрипт с добавлением статического маршрута.
Сделал его загрузочным.
Перезагрузил сначало машинку из консоли и ВСЕ РАБОТАЕТ!!
Потом перезагрузил пф из веб интерфейса ииии НЕРАБОТАЕТ!!
Ну пока что этого результата достаточно. Мне не страшны перезагрузки по питанию.
Но вопрос открыт, что это баг или руkи не от туда!! :)
Пока что довольный пошол спать. -
Добрый.
А если выдавать подключающемуся по л2тп кинетику постоянный ip? Тогда и маршрут можно привязать правильно.Написал скрипт с добавлением статического маршрута.
Сделал его загрузочным.С этого места подробнее, пож-та.
-
По поводу статического 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.0sleep это задержка выполнения скрипта 45 сек. хватает что бы все загрузилось и поднялось.
запихиваю его в папку в моем случае /usr/local/etc/rc.d/
делаю его исполнительным через консоль chmod +x /usr/local/etc/rc.d/script.sh
даю права chmod 755 /usr/local/etc/rc.d/script.sh
перезапускаю железку. все ОК.. -
Тут описаны варианты
Executing commands at boot time:
https://doc.pfsense.org/index.php/Executing_commands_at_boot_time
IMHO, удобнее использовать пакет shellcmd.я как сорт яблока "Грин" зелен в pfSense.. От одного слова "pfSense" в дрожь бросает..
Кто-то явно лукавит ;) -
Тут описаны варианты
Executing commands at boot time:
https://doc.pfsense.org/index.php/Executing_commands_at_boot_time
IMHO, удобнее использовать пакет shellcmd.я как сорт яблока "Грин" зелен в pfSense.. От одного слова "pfSense" в дрожь бросает..
Кто-то явно лукавит ;)За подсказку большое спасибо!! .
хороший инструмент.
А по поводу зелен в pfSense так и есть. Это первая железка с этим зверем.Ооооочень давно как-то все делали на freebsd поэтому есть кое каие навыки прикручивания костылей )))
-
Тут описаны варианты
Executing commands at boot time:
https://doc.pfsense.org/index.php/Executing_commands_at_boot_time
IMHO, удобнее использовать пакет shellcmd.я как сорт яблока "Грин" зелен в pfSense.. От одного слова "pfSense" в дрожь бросает..
Кто-то явно лукавит ;)ёпт! есть же стандартный пакет CRON
-
А ведь да!
Хотя для целей ТС sleep достаточно.
-
Добрый.
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
Попробуйте.
-
Добрый.
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 && условие_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-туннеле. Иначе "ахалай-махалай"(с) не выйдет.