В Centos 7 изменения iptables-config больше ничего не делают (не удается сохранить при остановке / перезапуске)

tl; dr Как я могу сохранить свои iptables на Centos 7?

Согласно документам Centos 5 я должен иметь возможность сохранять мои iptables при перезапуске или остановке службы. Могу подтвердить, что так было раньше, и, если не ошибаюсь, это было давно на Centos 7.

Теперь мне не удастся сохранить какие-либо изменения в iptables, если я не вызову вручную команду service iptables save .

Однако, поскольку я действительно хочу сохранить счетчики (т. Е. Использование), мне нужно убедиться, что при перезапусках сохраняются последние счетчики.

Мой / etc / sysconfig / iptables-config выглядит так:

IPTABLES_MODULES=""
IPTABLES_MODULES_UNLOAD="yes"
IPTABLES_SAVE_ON_STOP="yes"
IPTABLES_SAVE_ON_RESTART="yes"
IPTABLES_SAVE_COUNTER="yes"
IPTABLES_STATUS_NUMERIC="yes"
IPTABLES_STATUS_VERBOSE="no"
IPTABLES_STATUS_LINENUMBERS="yes"

Я использую: yum info iptables iptables-services xtables-addons

Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.coreix.net
 * epel: epel.mirror.wearetriple.com
 * extras: mirrors.coreix.net
 * updates: mirrors.coreix.net
Installed Packages
Name        : iptables
Arch        : x86_64
Version     : 1.4.21
Release     : 18.0.1.el7.centos
Size        : 1.5 M
Repo        : installed
From repo   : base
Summary     : Tools for managing Linux kernel packet filtering capabilities
URL         : http://www.netfilter.org/
License     : GPLv2
Description : The iptables utility controls the network packet filtering code in the
            : Linux kernel. If you need to set up firewalls and/or IP masquerading,
            : you should install this package.

Name        : iptables-services
Arch        : x86_64
Version     : 1.4.21
Release     : 18.0.1.el7.centos
Size        : 25 k
Repo        : installed
From repo   : base
Summary     : iptables and ip6tables services for iptables
URL         : http://www.netfilter.org/
License     : GPLv2
Description : iptables services for IPv4 and IPv6
            :
            : This package provides the services iptables and ip6tables that have been split
            : out of the base package since they are not active by default anymore.

Name        : xtables-addons
Arch        : x86_64
Version     : 2.12
Release     : 1.el7.lux
Size        : 294 k
Repo        : installed
From repo   : lux
Summary     : Extensions targets and matches for iptables
URL         : http://xtables-addons.sourceforge.net
License     : GPLv2 and LGPLv2
Description : Xtables-addons provides extra modules for iptables not present in the kernel,
            : and is the successor of patch-o-matic. Extensions includes new targets like
            : TEE, TARPIT, CHAOS, or modules like geoip, ipset, and account.
            :
            : This package provides the userspace libraries for iptables to use extensions
            : in the xtables-addons-kmod package. You must also install the
            : xtables-addons-kmod package.

Обновление №1:

Я выяснил, что файл iptables-config очень строгий, один пробел разбивает его, а неправильный пробел позволяет синтаксическому анализатору полностью его игнорировать. переустановил и использовал оригинальный файл.

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

Обновление №2:

Первой проблемой определенно был файл iptables-config . Это быстро устранило удаление всех файлов, связанных с iptables, в / etc / sysconfig и повторная установка.

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

Обновление №3:

Мне не хватало изменения уровня безопасности, что я обычно и делаю. Приведенная ниже команда отключает высокий уровень безопасности и позволяет мне сохранять в iptables.

setenforce 0

Работает!

0
09.10.2017, 14:18
1 ответ

Эта проблема по-прежнему актуальна в CentOS 7.8. Здесь отчет об ошибке.

Вы можете отключить SELinux, но это не лучшее решение.
Пока проблема не будет устранена вышестоящим, вы можете добавить пользовательский модуль политики в SELinux, выполнив следующие шаги:

  1. При включенном SELinux сохраните iptables несколько раз, что создаст журналы SELinux для работы последующих команд:
    # /usr/libexec/iptables/iptables.init save
  1. Установить пакеты для ausearch и semodule:
    # yum install audit policycoreutils
  1. (Дополнительно )Просмотр ошибок SELinux:
    # ausearch -m AVC,USER_AVC,SELINUX_ERR,USER_SELINUX_ERR -i|tail -55
  1. Создайте пользовательский модуль политики SELinux на основе ошибок из chmod и импортируйте его в SELinux:
    # ausearch -c 'chmod' --raw | audit2allow -M iptables_save_chmod
    # semodule -i iptables_save_chmod.pp

Ссылки

0
29.05.2020, 01:47

Теги

Похожие вопросы