Проблема: iptables сбрасывает настройки по умолчанию после перезагрузки сервера.
Я пытаюсь установить правило так:
iptables -I INPUT -p tcp --dport 3000 -j ACCEPT
после этого я делаю:
service iptables save
и он пишет что-то вроде этого
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
и после этого я просто побежал (это было сделано один раз):
chkconfig iptables on
(Я читал, что это нужно сделать, чтобы восстановить настройки после перезагрузки)
После этого я перезагружаюсь и запускаю эту команду:
systemctl list-unit-files | grep iptables
и я вижу, что iptables.service включен, однако правило (открыть порт 3000) больше не работает.
Как мне сохранить эти настройки?
Ответы:
CentOS 7 использует FirewallD сейчас!
Пример:
перезагрузить правила:
источник
--zone=trusted
) с помощью firewalld-cmd, но он не работает (работает в--zone=public
). Этоsudo /sbin/iptables -t nat -I PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8180 ; sudo /sbin/iptables -t nat -I OUTPUT -o lo -p tcp --dport 80 -j REDIRECT --to-port 8180
работает с iptables (но каждыйfirewalld --reload
проигрывает при этом)Отключите firewalld с помощью следующей команды:
Затем установите iptables-service, выполнив следующую команду:
Затем включите iptables как сервисы:
Теперь вы можете сохранить ваши правила iptable, выполнив следующую команду:
источник
В CentOS 7 Minimal вам может понадобиться установить
iptables-services
пакет (спасибо @RichieACC за предложение ):А затем включите сервис, используя
systemd
:И запустите initscript, чтобы сохранить правила брандмауэра:
источник
Может быть, такой сценарий был бы полезен для всех?
Остерегайтесь того, что вы потеряете все, что настроено в данный момент, потому что оно удаляет firewalld и сбрасывает все текущие правила в таблице INPUT :
Я предполагаю, что вы хотите то же самое в случае, если ваша система может быть достигнута (сейчас или в любое время позже) трафиком IPv6:
источник
Вы можете изменить файл / etc / sysconfig / iptables напрямую. Перезагрузите службу iptables, чтобы перезагрузить правила из этого файла. Тем не менее, как вам уже сказали, firewalld - это новая система межсетевого экрана по умолчанию для Centos, и это хороший шанс узнать, как ее использовать, не так ли?
источник
/etc/sysconfig/iptables
, для меня тоже не существует. Тем/etc/sysconfig/iptables-config
не менее, существует. Но у него нет правил брандмауэров внутри него, как уiptables
файла раньше.сохранит текущую конфигурацию без необходимости устанавливать какие-либо другие библиотеки или службы.
источник