CentOS / Redhat Iptables настройка брандмауэра (firewall)

Как настроить брандмауэр Netfilter (Iptables) под CentOS / RHEL / Fedora / RedHat Enterprise Linux?

Netfilter является брандмауэр для систем Linux. Он включен в качестве части распределения Linux, и она включена по умолчанию. Этот брандмауэр контролирует программу Iptables. Netfilter фильтрация происходит на уровне ядра, прежде чем программа может даже обрабатывать данные из сети пакетов.
Iptables файла конфигурации

По умолчанию конфигурационные файлы для RHEL / CentOS / Fedora Linux является:
/etc/sysconfig/iptables — Система сценариев, которые активируют брандмауэр, читая этот файл.
Задача: Отображения правил по умолчанию

Введите следующую команду:
iptables --line-numbers -n -L

Введите следующие команды для включения межсетевого экрана:
chkconfig iptables on
service iptables start

# перезагрузка брандмауэра service iptables restart
# остановка брандмауэра service iptables stop
Понимание брандмауэра

Есть в общей сложности 4 цепи:
INPUT — по умолчанию цепи используется для пакеты, адресованные к системе.Используйте это, чтобы открыть или закрыть входящие порты (например, 80,25, 110 и т.д.) и IP-адреса, подсети (например, 202.54.1.20/29).
OUTPUT — по умолчанию используется цепь, когда пакеты создают из системы.Используйте этот открыть или закрыть исходящие порты и IP-адреса, подсети.
FORWARD — по умолчанию сети используется, когда пакеты отправить через другой интерфейс. Обычно используется при установке Linux в качестве маршрутизатора. Так, например, eth0 подключен к ADSL / кабельного модема и eth1 подключен к локальной сети. Использование цепочки FORWARD отправлять и получать трафик из локальной сети к Интернету.
RH-Firewall-1-INPUT — это определяемый пользователем пользовательские цепочки. Она используется ввод, вывод и FORWARD цепочки.
Пакетные правила соответствия
Каждый пакет начинается с первого правила в цепочке.
Пакет проходит, пока он не соответствует не одному правилу.
Если правило соответствует, то управление перейдет к указанной цели (например, REJECT, ACCEPT, DROP).

Целевые средства позволяют ACCEPT пакет.
Целевых средств REJECT бросить пакет и отправить сообщение об ошибке на удаленном хосте.
Целевых средств DROP падение пакет и не отправить сообщение об ошибке на удаленный хост или хост-отправитель.

Пример использования:
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 81 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

iptables можно включить или выключить следующей командой
system-config-securitylevel
system-config-securitylevel

Конфигурационный файл
/etc/sysconfig/system-config-securitylevel

# Configuration file for system-config-securitylevel
#
#
#
#
#
--enabled
--trust=eth0
--masq=eth0
--port=81:tcp
--port=22:tcp
--port=23:tcp
--port=25:tcp
--port=80:tcp
--port=21:tcp
--port=443:tcp
--port=137:udp
--port=138:udp
--port=139:tcp
--port=445:tcp
--port=2049:tcp
--port=3306:tcp

Посмотреть какой порт необходимо открыть можно командой
service iptables stop
netstat -A inet -lnp
Смотрим на каком порту весит нужный нам сервис и вносим изменения в system-config-securitylevel и iptables