openwrt init : more no running at boot hunting

This commit is contained in:
bolvan 2019-05-14 20:49:33 +03:00
parent f0b4776bf1
commit 7ea288f93a
4 changed files with 32 additions and 6 deletions

View File

@ -607,6 +607,8 @@ ipset можно выкинуть, если не будем пользовать
Создать ссылку на скрипт запуска :
ln -fs /opt/zapret/init.d/openwrt/zapret /etc/init.d
Создать ссылку на скрипт события поднятия интерфейса :
ln -fs /opt/zapret/init.d/openwrt/90-zapret /etc/hotplug.d/iface
Настроить параметры согласно разделу "Выбор параметров".
@ -619,9 +621,10 @@ ipset можно выкинуть, если не будем пользовать
crontab -e
Создать строчку "0 12 */2 * * /opt/zapret/ipset/get_config.sh"
Включить автозапуск службы и запустить ее :
/etc/init.d/zapret enable
Запустить службу :
/etc/init.d/zapret start
ПРИМЕЧАНИЕ : не нужно включать службу командой enable. Ее запускает скрипт из /etc/hotplug.d/iface
после поднятия интерфейса lan.
Если не включен параметр DISABLE_IPV4 :
В зависимости от выбранного в файле config MODE создать ссылку на нужный файл настроек фаервола :

7
init.d/openwrt/90-zapret Normal file
View File

@ -0,0 +1,7 @@
#!/bin/sh
ZAPRET=/etc/init.d/zapret
[ -x "$ZAPRET" ] && [ "$INTERFACE" = "lan" ] && {
[ "$ACTION" = "ifup" ] && $ZAPRET start
[ "$ACTION" = "ifdown" ] && $ZAPRET stop
}

View File

@ -646,8 +646,16 @@ remove_openwrt_firewall()
openwrt_fw_section_del 6
}
install_openwrt_iface_hook()
{
echo \* installing ifup hook
ln -fs "$OPENWRT_IFACE_HOOK" /etc/hotplug.d/iface
}
install_sysv_init()
{
# $1 - "0"=disable
echo \* installing init script
[ -x "$INIT_SCRIPT" ] && {
@ -655,7 +663,7 @@ install_sysv_init()
"$INIT_SCRIPT" disable
}
ln -fs "$INIT_SCRIPT_SRC" "$INIT_SCRIPT"
"$INIT_SCRIPT" enable
[ "$1" != "0" ] && "$INIT_SCRIPT" enable
}
service_start_sysv()
@ -675,13 +683,14 @@ install_openwrt()
INIT_SCRIPT_SRC=$EXEDIR/init.d/openwrt/zapret
FW_SCRIPT_SRC_DIR=$EXEDIR/init.d/openwrt/firewall.zapret
OPENWRT_FW_INCLUDE=/etc/firewall.zapret
OPENWRT_IFACE_HOOK=$EXEDIR/init.d/openwrt/90-zapret
check_location copy_minimal
select_ipv6
check_prerequisites_openwrt
install_binaries
ask_config
install_sysv_init
install_sysv_init 0
# can be previous firewall preventing access
remove_openwrt_firewall
restart_openwrt_firewall
@ -689,6 +698,7 @@ install_openwrt()
# router system : works 24/7. night is the best time
crontab_add 0 6
service_start_sysv
install_openwrt_iface_hook
install_openwrt_firewall_all
restart_openwrt_firewall
}

View File

@ -109,7 +109,6 @@ timer_remove_systemd()
remove_systemd()
{
INIT_SCRIPT_SRC=$EXEDIR/init.d/sysv/zapret
INIT_SCRIPT=/etc/init.d/zapret
service_stop_systemd
@ -171,6 +170,13 @@ restart_openwrt_firewall()
}
}
remove_openwrt_iface_hook()
{
echo \* removing ifup hook
rm -f /etc/hotplug.d/iface/??-zapret
}
service_remove_sysv()
{
@ -185,13 +191,13 @@ service_remove_sysv()
remove_openwrt()
{
INIT_SCRIPT_SRC=$EXEDIR/init.d/openwrt/zapret
INIT_SCRIPT=/etc/init.d/zapret
OPENWRT_FW_INCLUDE=/etc/firewall.zapret
remove_openwrt_firewall
restart_openwrt_firewall
service_remove_sysv
remove_openwrt_iface_hook
crontab_del
}