Столкнулся с тем, что не запускались стартовые скрипты пакетов, установленных через ipkg:
Оказалось, за это отвечает скрипт /usr/sbin/app_init_run.sh
Он, если проследить все остальные скрипты, делает следующее (на примере dnsmasq):
- последовательно вычитывает все файлы из [/i]/opt/etc/init.d/[/i];
- вычленяет из их имени имя пакета, т.е. из S56dnsmasq получает просто dnsmasq;
- проверяет наличие файла - /opt/lib/ipkg/info/dnsmasq.control, и в нем записи вида:
Если все выполнено - стартует скрипт.
По умолчанию такой файл создается при скачивании пакета.
Чтобы не прописывать параметр Enabled: yes руками, можно воспользоваться скриптом app_set_enabled.sh.
Формат запуска: app_set_enabled.sh dnsmasq yes.
Для отключения: app_set_enabled.sh dnsmasq no.
Но не для всех пакетов имя стартового скрипта соответствует имени пакета (к примеру openssh - имя пакета, стартовый скрипт sshd).
Тут решать вам - переименовывать стартовый скрипт, или добавлять контрольный файл.
Собственно вот. возможно баян, но для меня - открытие
.
Теперь вопрос - кто знает, как запретить роутеру при потере интернета вписывать правила redirect_rules.
Ну, или как минимум вот эти строки
Code:
-A PREROUTING -d ! 192.168.1.1/255.255.255.0 -p tcp --dport 80 -j DNAT --to-destination 192.168.1.1:18017
-A PREROUTING -p udp --dport 53 -j DNAT --to-destination 192.168.1.1:18018
А то пропадает даже локальный днс-резолвинг, ну и ссылки в браузере "портятся", заменяясь на левые.
З.Ы. Кстати, вот еще что нашел нехорошее - при исправление "Переадресации портов" похоже не происходит (или не всегда) flush таблиц iptables (как минимум nat), и я удивился, увидев в выводе iptables -t nat -L, правила, введенные и удаленные пару дней назад.