Сейчас рассмотрим решение ошибки “Fail to start iptables.service: ‘No such file’“. Данное сообщение появляется в свежеустановленой операционной системе CentOS 7, т.к. по умолчанию используется другой фаервол: firewalld. Далее мы рассмотрим процесс отключения firewalld и установки IPTABLES.
systemctl mask firewalld
systemctl stop firewalld
yum install iptables-services
systemctl enable iptables
systemctl start iptables
После этого редактируем файл конфига:
sudo nano /etc/sysconfig/iptables
И добавляем правила, например, для Apache:
-A INPUT -m state –state NEW -m tcp -p tcp –dport 80 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 443 -j ACCEPT
Основные правила и настройки таковы:
1 2 3 4 5 6 | sudo iptables -F sudo iptables -X sudo iptables -t nat -F sudo iptables -t nat -X sudo iptables -t mangle -F sudo iptables -t mangle -X |
1 2 3 | sudo iptables -P INPUT DROP sudo iptables -P FORWARD ACCEPT sudo iptables -P OUTPUT ACCEPT |
2 3 4 5 6 | sudo iptables -A INPUT -i lo -j ACCEPT sudo iptables -A INPUT -m state –state ESTABLISHED -j ACCEPT sudo iptables -A INPUT -m state –state RELATED,ESTABLISHED -j ACCEPT sudo iptables -A INPUT -p icmp -j ACCEPT |
После этого перезапускаем службу:
sudo service iptables restart или sudo systemctl restart iptables
все это очень хорошо. но после запуска машины у меня загружаются правила по умолчанию. Если я сделаю service iptables restart|reload загружаются правила из /etc/sysconfig/iptables
Откуда система берет конфиг при загрузке ОС?
/sbin/iptables-save > /etc/sysconfig/iptables