У меня возникли проблемы с изменением конфигурации iptables во время индивидуальной кикстарт-установки CentOS 6. Процесс кикстарта заключается в установке нескольких пользовательских RPM поверх минимального образа ISO. Один из rpms пытается изменить правила iptables, но после того, как Anaconda завершит установку, исходные правила по умолчанию по-прежнему установлены в / etc / sysconfig / iptables.
Я пробовал использовать iptables (save | restore), но модули iptables недоступны во время установки. iptables -L
возвращает ошибку «не удается инициализировать iptables 'filter': таблица не существует», и обе команды сохранения / восстановления не выполняются.
Покопавшись, я понял, что пакет system-config-firewall-base установлен и, похоже, устанавливает правила по умолчанию. Далее я вижу, что мои правила скопированы в /etc/sysconfig/iptables.old
но я не могу понять, что вызывает это. Я пробовал добавить Requires: system-config-firewall-base
в свой пакет в надежде, что я смогу изменить правила в моем посте% после того, как они были установлены, но это не сработало.
Установка этого пакета после первая загрузка устанавливает правила правильно.
Любые советы о том, как правильно настроить iptables во время установки или как настроить что-то для достижения этого автоматически при первой загрузке?
Спасибо.
Лучше всего отредактировать файл / etc / sysconfig / iptables непосредственно в сценарии в разделе% post вашего файла кикстарта. Это запустится после того, как вы установили свои пакеты.
Какие модификации брандмауэра вы пытаетесь сделать?
Вы можете создавать моды для брандмауэра с помощью кикстарта
Ex, чтобы включить ssh (tcp 22) и http (tcp 80), поместите следующую строку в свой кикстарт
брандмауэр --enabled --http --ssh
Отмечу, что существует программный API для редактирования файла конфигурации iptables.
Вот пример:
iptables -I INPUT -p tcp --dport 8880 -j ACCEPT
iptables -I INPUT -p tcp --dport 8443 -j ACCEPT
iptables-save > /etc/sysconfig/iptables
service iptables restart