Назад | Перейти на главную страницу

CentOS 6 - Как изменить iptables во время кикстарт-установки?

У меня возникли проблемы с изменением конфигурации 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