Наткнулся на неприятную багофичу в последних версиях OpenWRT. Внешне проявляется она в том, что если на коробке терминируется больше одного IPSec-тоннеля, то какие-то из них начинают работать нестабильно: не подиматься автоматически после обрыва, несвоевременно проводить rekey, подниматься только по пинку с одной из сторон и т.п. Не мог понять в
(
Read more... )
Во-первых, вопрос "зачем". Если всё устраивает, новый функционал не требуется, критических багов класса "Remote Code Execution" и иже с ними не находят, то зачем обновляться? Сам по себе OpenWRT без "навесок" - это настолько простой "кипятильник", что там просто нечего ломать. Разве что DropBear и Luci, но дык не открывай их внаружу, да и всё.
Во-вторых, говоря о "конфигах", то конфиги от чего именно? Linux это жы ж конструктор из десятков-сотен разных приложений. И никто не сможет гарантировать что ни одна софтина из этого набора не перейдёт на другой синтаксис конфига к следующей версии. Даже всякие Cisco и Juniper-ы, являясь "монолитными кирпичами" не могут такого гарантировать. Нет-нет, а временами таки возникает несовместимость конфига при очередном обновлении прошивки.
В-третьих, единственный раз на моей памяти когда в OpenWRT прям серьезно-серьезно что-то ломалось, это переход через версию 21.02, в которой разработчики поменяли сетевой Framework. В остальных случаях оно более-менее нормально подхватывало старые настройки.
В-четвёртых, насчет OPNSense. Я всегда с большим интересом и ведром попкорна наблюдаю как с ним на регулярной основе ***тся соседний отдел у меня на фирме. Я не уверен, что "беспроблемные обновления" того стоят. Ну да, обновляться-то он может и будет, а вот всё остальное...
Reply
> говоря о "конфигах", то конфиги от чего именно?
Да от всего, что коммитится через uci commit. И прочие файлы и скрипты из /etc, /root. К сожалению, тут с новым апдейтом что-то может упасть. Да тот же bird, насколько я помню, в какой-то новой версии резко начал требовать новый формат конфиг-файла.
> что ни одна софтина из этого набора не перейдёт на другой синтаксис конфига к следующей версии
Так для этого, по идее, придумали NixOS, nix, GNU Guix System, ansible, также uci в openwrt. Но я не смог придумать, как это всё использовать.
> Нет-нет, а временами таки возникает несовместимость конфига при очередном обновлении прошивки
Я слышал, что люди на ноутбуке настраивали NixOS на авто-апдейты и потом годами ничего не меняли, всё работало. Надо только было периодически перезагружать ноутбуки, вручную, раз в недельку, например.
Reply
Какие там нафиг RCE для решения, единственная задача которого цеплять Wi-Fi клиентов и перекидывать пакетики с интерфейса на интрерфейс? А если хочется на него навесить что-то сверх того, ну дык "жираф большой", сам должен понимать что творит.
Что касается перечисленных инструментов... ну да, они решают проблему X, но при этом добавляют новых проблем Y, Z, A, B, C. И потом, не надо забывать, что изначально OpenWRT создавался под устройства с лютым дефицитом CPU / RAM / HDD, да и архитектура у них немного не x86_64.
А если речь идет не про embedded-устройства, дык зачем тогда вообще связываться с OpenWRT, когда есть куча других вариантов?
Reply
Reply
Шутку понял. Смешно.
Reply
Reply
OpenWrt меня всегда пугал своей не-декларативностью. Там надо или через gui тыкать мышкой, или через uci вручную вводить команды, потом смотреть uci changes и делать uci commit.
Также надо самому писать файлы демонов, добавлять эти shell-скрипты в автозагрузку.
Вешать хуки на сетевые интерфейсы, чтобы, например, при выключении и включении интерфейса-10 перезапускался также по хуку интерфейс номер 11.
Также через cron пару раз в сутки выкачивать списки "куда нельзя" от российского проекта "antifilter", через nftables применять это всё... Или через BGP получать...
Также раз в 5 минут проверять, что бесплатный тоннель hurricane electric ipv6 работает и всё пингуется. И делать что-то, если перестал работать ipv6.
Также ребутить роутер по cron'у раз в месяц на всякий случай, для профилактики.
Выглядит это всё как детский конструктор для линуксоидов, а не как зрелое решение для продакшена с авто-апдейтами всего.
Reply
Тут уж как в старом анекдоте: "Не нравится - не ешь!" Колхоз - дело добровольное. Чтоб занахаляву где-то предлагали "зрелое решение для продакшена с авто-апдейтами всего"... по-моему, это что-то из области ненаучной фантастики.
Reply
А что Вы думаете про ansible? Если хранить все без исключения конфиги openwrt-софта в виде конфига ansible и деплоить, то, по идее, ничего не сломается, даже если bird или что-то подобное обновит свой внутренний формат своего конфига. Или я ошибаюсь?
Reply
Вот не надо пожалуйста в моём присутствии произносить слово "Ansible" если не хочется услышать поток трёхэтажного мата в ответ.
Reply
Leave a comment