У меня есть набор правил iptables, определенный на сервере под управлением CentOS. Могу ли я гарантировать / могу ли я гарантировать / как я могу гарантировать, что при подключении к сети (либо при загрузке компьютера, либо после перезапуска сетевой службы) набор правил iptables уже применяется (и если iptables не запускается или не может применить набор правил сетевой интерфейс не подойдет)?
(Я знаю, что это вопрос новичков, но я никогда не запускал сервер ни в чем, кроме доверенных сетей, за маскирующим DHCP NAT и брандмауэром, так что ... ожидайте вопросов новичков от новичков.)
Изначально вам гарантировано, что iptables запустится до того, как интерфейс будет запущен в соответствии с порядком сценариев запуска. Посмотрите на строку «chkconfig» в каждом сценарии запуска, и вы увидите уровни запуска, на которых он находится, когда он активен, порядок запуска и порядок остановки.
Вам не гарантируется, что интерфейс не будет запущен, если набор правил iptables не был применен должным образом (или вообще).
Пример:
chkconfig: 2345 08 92
В этой строке указано, что рассматриваемая служба будет активна на уровнях выполнения 2, 3, 4 и 5 и будет начинаться с 8 и останавливаться на 92. Все, что имеет большее значение «start», будет запускаться только после завершения этого сценария, но это Ошибка сценария считается завершением и не препятствует запуску последующих сценариев.
Обратите внимание, что этот ответ относится к CentOS 6 и ранее, не обязательно к CentOS 7. Я лично недостаточно изучил 7, чтобы ответить на этот вопрос для 7.
Небольшое дополнение: чтобы гарантировать, что необходимые правила будут там при следующей загрузке сервера, сохраните их с помощью
sudo sh -c "iptables-save > /etc/iptables.rules"
Вы также можете использовать опцию ifup-post в centos:
/ и т. д. / sysconfig / сетевые сценарии / ifup-сообщение
Вызывается при подключении любого сетевого устройства, ЗА ИСКЛЮЧЕНИЕМ SLIP-устройства. Вызывает / etc / sysconfig / network-scripts / ifup-routes для вызова статических маршрутов, зависящих от этого устройства. Вызывает / etc / sysconfig / network-scripts / ifup-aliases, чтобы получить псевдонимы для этого устройства. Устанавливает имя хоста, если оно еще не установлено, и имя хоста можно найти для IP для этого устройства. Отправляет SIGIO всем программам, запросившим уведомление о сетевых событиях.
Может быть расширен для исправления конфигурации службы имен, вызова произвольных скриптов и т. Д. По мере необходимости.
Этот скрипт запускается и после вышеуказанного (ifup-route и ifup-aliases) ищет ifup-local
if [ -x /sbin/ifup-local ]; then
/sbin/ifup-local ${DEVICE}
fi
Таким образом, вы можете создать этот файл и убедиться, что он снова вызывает iptables, например, используя iptables-restore:
iptables-restore < /etc/sysconfig/iptables