Я не хочу, чтобы служба запускалась после перезагрузки. Мой код делает это:
service iptables stop
service iptables save
chkconfig --level 123456 iptables off
service iptables status
iptables: Firewall is not running.
но после перезагрузки:
[root@cteraportal ~]# service iptables status
Table: filter
Chain INPUT (policy ACCEPT)
num target prot opt source destination
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
почему он запускается при загрузке даже после отключения chckonfig?
решение1
почему он запускается при загрузке даже после отключения chckonfig?
SysVв этом(что подразумевает использование команды service
) не отслеживает сами службы, а просто выполняет команды из "скриптов инициализации", которые должны выполнять любые проверки, характерные для службы. Вам следует взглянуть на скрипт инициализации (вероятно, /etc/init.d/iptables
или аналогичный) и на то, что он делает в ответ на status
. Вероятно, он просто вызывает это:
iptables -L
Обратите внимание, это делаетнетзарегистрируйтесь с помощью демона пользовательского пространства, поскольку WRT iptables не имеет такого понятия; основная работа фактически обеспечивается ядром, а инструменты пользовательского пространства предназначены только для настройки или запросовядраправила фильтрации сети.
В этом смысле его нельзя "выключить", потому что он изначально не включен — установка брандмауэра — это просто вопрос передачи ядру набора правил фильтрации сетевых пакетов. Однако если нет никаких правил, то и фильтрация не происходит. Это то, что вы service iptables status
отражаете.