Я использую CentOS версии 6.5 (Final) и не могу понять, почему мой iptables не запускается. Возможно, я выполнил какую-то другую команду, чтобы навсегда предотвратить запуск iptables; Я не помню. Однако сейчас мне нужно запустить iptables, но я не могу его запустить.

Какие-либо предложения?

[root@server1 log]# chkconfig iptables --list
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off

[root@server1 log]# service iptables status
iptables: Firewall is not running.


[root@server1 log]# service iptables start


[root@server1 log]# service iptables status
iptables: Firewall is not running.

ОБНОВИТЬ:

Я посмотрел на это немного больше и сразу /etc/init.d/iptables start и увидел это сообщение об отсутствии такого файла или каталога.

stat("/var/lock/subsys/iptables", 0x7ffff80481d0) = -1 ENOENT (No such file or directory)

Таким образом, я создал этот файл, изменил завивки и затем запустил iptables. iptables все еще не запускался, но теперь я получаю сообщение о том, что «модули брандмауэра не загружены».

На этом сервере было сделано много изменений, направленных на усиление безопасности. Может ли это быть проблемой?

touch /var/lock/subsys/iptables
chmod 640 /var/lock/subsys/iptables

service iptables start
service iptables status
iptables: Firewall modules are not loaded.

ОБНОВЛЕНИЕ 2:

Я перезагрузился после создания subsys/iptables и его там больше не было. Все остальные мои службы работают нормально и запускаются / останавливаются без проблем.


ОБНОВЛЕНИЕ 3:

Чтобы убедиться, что iptables волшебным образом вылечил себя, я перезагрузил сервер. Однако после перезагрузки служба больше не работает.

- ДО того, как я перезагрузился -

[root @ server1 ~] # who -r run-level 5 2014-09-10 13:47

[root @ server1 ~] # chkconfig --list iptables iptables 0: выкл. 1: выкл. 2: вкл. 3: вкл. 4: вкл. 5: вкл. 6: выкл.

[root @ server1 ~] # service iptables status Таблица: цепочка фильтров INPUT (policy ACCEPT) num target prot opt источник назначения

Цепочка FORWARD (политика ПРИНЯТЬ) num target prot opt источник назначения

Цепной ВЫХОД (политика ПРИНЯТЬ) num target prot opt источник назначения

[root @ server1 ~] # shutdown -r сейчас

- После того, как я перезагрузился -

[root @ server1 ~] # service iptables status iptables: брандмауэр не работает.

[root @ server1 ~] # chkconfig --list iptables iptables 0: выкл. 1: выкл. 2: вкл. 3: вкл. 4: вкл. 5: вкл. 6: выкл.

3 ответа3

2

Я столкнулся с той же проблемой, и я нашел простой способ ее решения:

  1. Убедитесь, что ваша система имеет конфигурационный файл iptables:

    ls -l /etc/sysconfig/iptables
    
  2. В моем случае я нашел два файла в этой папке:

    iptables-config  iptables.old
    
  3. Вам следует переименовать iptables.old в iptables (или создать новый), потому что будут приниматься только iptables .

  4. Попробуйте запустить iptables снова.

    service iptables start
    iptables: Applying firewall rules:                         [  OK  ]
    
1

Я столкнулся с той же проблемой сегодня. Оказалось, проблема в том, что используется правило с именем домена вместо IP-адреса. Я подозреваю, что сервер пытается запустить iptables, прежде чем доступное сетевое соединение. Таким образом, разрешение имен доменов невозможно, и, следовательно, iptables не запускается, даже несмотря на то, что нет проблем с запуском службы iptables, когда система работает и работает, когда сеть работает, и поиск DNS в это время завершается успешно.

Мораль это:

1) Никогда не используйте доменные имена вместо IP-адресов в правилах iptable. Я знал правило, но игнорировал его бездумно. :-/

2) Сконфигурируйте и правильно протестируйте резервные таблицы /etc/sysconfig/iptables.fallback и /etc/sysconfig/ip6tables.fallback, которые будут применяться, если первичная таблица конфигурации не будет применена (см. Https://access.redhat.com/documentation. /en-US/Red_Hat_Enterprise_Linux/6/html/Security_Guide/sect-Security_Guide-Firewalls-Basic_Firewall_Configuration.html). Это может спасти вашу систему от открытия для всех.

0

В нашем случае

перезапуск сервисной сети

yum переустановить -y iptables.x86_64

Перезапуск службы iptables - теперь работает.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .