Багофича в OpenWRT, связанная с NAT

Sep 01, 2024 02:43


Наткнулся на неприятную багофичу в последних версиях OpenWRT. Внешне проявляется она в том, что если на коробке терминируется больше одного IPSec-тоннеля, то какие-то из них начинают работать нестабильно: не подиматься автоматически после обрыва, несвоевременно проводить rekey, подниматься только по пинку с одной из сторон и т.п. Не мог понять в ( Read more... )

грабли, openwrt, hints, linux

Leave a comment

klink0v September 1 2024, 12:11:54 UTC

Во-первых, вопрос "зачем". Если всё устраивает, новый функционал не требуется, критических багов класса "Remote Code Execution" и иже с ними не находят, то зачем обновляться? Сам по себе OpenWRT без "навесок" - это настолько простой "кипятильник", что там просто нечего ломать. Разве что DropBear и Luci, но дык не открывай их внаружу, да и всё.

Во-вторых, говоря о "конфигах", то конфиги от чего именно? Linux это жы ж конструктор из десятков-сотен разных приложений. И никто не сможет гарантировать что ни одна софтина из этого набора не перейдёт на другой синтаксис конфига к следующей версии. Даже всякие Cisco и Juniper-ы, являясь "монолитными кирпичами" не могут такого гарантировать. Нет-нет, а временами таки возникает несовместимость конфига при очередном обновлении прошивки.

В-третьих, единственный раз на моей памяти когда в OpenWRT прям серьезно-серьезно что-то ломалось, это переход через версию 21.02, в которой разработчики поменяли сетевой Framework. В остальных случаях оно более-менее нормально подхватывало старые настройки.

В-четвёртых, насчет OPNSense. Я всегда с большим интересом и ведром попкорна наблюдаю как с ним на регулярной основе ***тся соседний отдел у меня на фирме. Я не уверен, что "беспроблемные обновления" того стоят. Ну да, обновляться-то он может и будет, а вот всё остальное...

Reply

mnogo_hodovka September 1 2024, 12:48:34 UTC
Ну а с RCE в openwrt как быть? Вручную отслеживать в новостях и накатывать каждый раз вручную обновления для моей квартиры, родственников, друзей и так далее?

> говоря о "конфигах", то конфиги от чего именно?

Да от всего, что коммитится через uci commit. И прочие файлы и скрипты из /etc, /root. К сожалению, тут с новым апдейтом что-то может упасть. Да тот же bird, насколько я помню, в какой-то новой версии резко начал требовать новый формат конфиг-файла.

> что ни одна софтина из этого набора не перейдёт на другой синтаксис конфига к следующей версии

Так для этого, по идее, придумали NixOS, nix, GNU Guix System, ansible, также uci в openwrt. Но я не смог придумать, как это всё использовать.

> Нет-нет, а временами таки возникает несовместимость конфига при очередном обновлении прошивки

Я слышал, что люди на ноутбуке настраивали NixOS на авто-апдейты и потом годами ничего не меняли, всё работало. Надо только было периодически перезагружать ноутбуки, вручную, раз в недельку, например.

Reply

klink0v September 1 2024, 13:35:55 UTC

Какие там нафиг RCE для решения, единственная задача которого цеплять Wi-Fi клиентов и перекидывать пакетики с интерфейса на интрерфейс? А если хочется на него навесить что-то сверх того, ну дык "жираф большой", сам должен понимать что творит.

Что касается перечисленных инструментов... ну да, они решают проблему X, но при этом добавляют новых проблем Y, Z, A, B, C. И потом, не надо забывать, что изначально OpenWRT создавался под устройства с лютым дефицитом CPU / RAM / HDD, да и архитектура у них немного не x86_64.

А если речь идет не про embedded-устройства, дык зачем тогда вообще связываться с OpenWRT, когда есть куча других вариантов?

Reply

mnogo_hodovka September 1 2024, 15:01:55 UTC
RCE могут выкрасть пароли от Wi-Fi. А потом хулиган подойдёт к двери моей квартиры с антенной, подключится по паролям к Wi-Fi и комментами в поддержку Украины сфабрикует против меня дело. Фантастика?

Reply

klink0v September 1 2024, 15:14:42 UTC

Шутку понял. Смешно.

Reply

kvazimoda24 September 1 2024, 17:59:06 UTC
Целеноправленную атаку направленную на конкретно вас вы не отразите. И дело не в RCE.

Reply

mnogo_hodovka September 1 2024, 13:01:53 UTC
OPNSense я не использовал, просто читал про это как про альтернативу OpenWrt.

OpenWrt меня всегда пугал своей не-декларативностью. Там надо или через gui тыкать мышкой, или через uci вручную вводить команды, потом смотреть uci changes и делать uci commit.

Также надо самому писать файлы демонов, добавлять эти shell-скрипты в автозагрузку.

Вешать хуки на сетевые интерфейсы, чтобы, например, при выключении и включении интерфейса-10 перезапускался также по хуку интерфейс номер 11.

Также через cron пару раз в сутки выкачивать списки "куда нельзя" от российского проекта "antifilter", через nftables применять это всё... Или через BGP получать...

Также раз в 5 минут проверять, что бесплатный тоннель hurricane electric ipv6 работает и всё пингуется. И делать что-то, если перестал работать ipv6.

Также ребутить роутер по cron'у раз в месяц на всякий случай, для профилактики.

Выглядит это всё как детский конструктор для линуксоидов, а не как зрелое решение для продакшена с авто-апдейтами всего.

Reply

klink0v September 1 2024, 13:31:59 UTC

Тут уж как в старом анекдоте: "Не нравится - не ешь!" Колхоз - дело добровольное. Чтоб занахаляву где-то предлагали "зрелое решение для продакшена с авто-апдейтами всего"... по-моему, это что-то из области ненаучной фантастики.

Reply

mnogo_hodovka September 13 2024, 11:28:04 UTC
> И никто не сможет гарантировать что ни одна софтина из этого набора не перейдёт на другой синтаксис конфига к следующей версии

А что Вы думаете про ansible? Если хранить все без исключения конфиги openwrt-софта в виде конфига ansible и деплоить, то, по идее, ничего не сломается, даже если bird или что-то подобное обновит свой внутренний формат своего конфига. Или я ошибаюсь?

Reply

klink0v September 13 2024, 12:08:02 UTC

Вот не надо пожалуйста в моём присутствии произносить слово "Ansible" если не хочется услышать поток трёхэтажного мата в ответ.

Reply


Leave a comment

Up