Я установил CentOS 7 с минимальной конфигурацией (инструменты os + dev). Я пытаюсь открыть 80 порт для httpd
обслуживания, но что-то не так с моей службой iptables ... что с ней не так? Что я делаю не так?
# ifconfig/sbin/service iptables save
bash: ifconfig/sbin/service: No such file or directory
# /sbin/service iptables save
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.
# sudo service iptables status
Redirecting to /bin/systemctl status iptables.service
iptables.service
Loaded: not-found (Reason: No such file or directory)
Active: inactive (dead)
# /sbin/service iptables save
The service command supports only basic LSB actions (start, stop, restart, try-restart, reload, force-reload, status). For other actions, please try to use systemctl.
# sudo service iptables start
Redirecting to /bin/systemctl start iptables.service
Failed to issue method call: Unit iptables.service failed to load: No such file or directory.
networking
centos
iptables
systemd
Meiblorn
источник
источник
Ответы:
С RHEL 7 / CentOS 7 был представлен firewalld для управления iptables. ИМХО, firewalld больше подходит для рабочих станций, чем для серверных сред.
Можно вернуться к более классической настройке iptables. Сначала остановите и замаскируйте службу firewalld:
Затем установите пакет iptables-services:
Включите сервис во время загрузки:
Управление сервисом
Сохранение правил брандмауэра можно сделать следующим образом:
или
источник
RHEL и CentOS 7 используют firewall-cmd вместо iptables . Вы должны использовать такую команду:
Затем вы можете перезагрузить правила, чтобы убедиться, что все в порядке
Это лучше, чем использование iptable-save, особенно если вы планируете использовать контейнеры lxc или docker. Запуск сервисов Docker добавит некоторые правила, которые будет запрашивать команда iptable-save. Если вы сохраните результат, у вас будет много правил, которые НЕ должны быть сохранены. Потому что контейнеры Docker могут изменить их IP-адреса при следующей перезагрузке.
Firewall-cmd с постоянной опцией лучше для этого.
Проверьте "man firewall-cmd" или посмотрите официальные документы firewalld, чтобы увидеть варианты. Есть много опций для проверки зон, конфигурации, как это работает ... man-страница действительно завершена.
Настоятельно рекомендую не использовать iptables-сервис начиная с Centos 7
источник
У меня была проблема, что перезагрузка не запустит iptables.
Это исправило это:
источник
# systemctl start iptables
даетFailed to start iptables.service: Unit not found.
и# systemctl start ip6tables
даетFailed to start ip6tables.service: Unit not found.
Попробуйте следующую команду
iptables-save
.источник
iptables-save > /etc/sysconfig/iptables
Я изменил
/etc/sysconfig/ip6tables-config
изменение файла:Для того, чтобы:
И это:
Для того, чтобы:
Это, казалось, сохранило изменения, которые я сделал, используя команды iptables после перезагрузки.
источник
Поместите конфигурацию IPtables в традиционный файл, и он будет загружен после загрузки:
/ И т.д. / sysconfig / Iptables
источник
В прошлом месяце я пытался настроить iptables на контейнере виртуальной машины LXC, но каждый раз после перезагрузки конфигурация iptables не загружалась автоматически.
Единственный способ заставить его работать - выполнить следующую команду:
источник
И чтобы добавить, вы также должны быть в состоянии сделать то же самое для ip6tables после выполнения
systemctl mask firewalld
команды:источник
Если вы это сделаете и используете fail2ban, вам нужно будет включить соответствующие фильтры / действия:
Поместите следующие строки в
/etc/fail2ban/jail.d/sshd.local
Включите и запустите fail2ban:
Ссылка: http://blog.iopsl.com/fail2ban-on-centos-7-to-protect-ssh-part-ii/
источник