Нужно ли повторять параметры правил в iptables?

Предположим, нам нужны некоторые правила ssh в iptables. Но мы также хотим указать другую цепочку для всех правил. Мы могли бы использовать что-то вроде этого:

iptables -t filter -N ssh iptables -t filter -N tcp iptables -t filter -A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j tcp iptables -t filter -A tcp -p tcp --dport 22 -m conntrack --ctstate NEW -j ssh iptables -t filter -A ssh -p tcp --dport 22 -m conntrack --ctstate NEW -s 10.10.10.10/32 -m mac --mac-source 10:10:10:10:10:10 -j ACCEPT iptables -t filter -A ssh -p tcp --dport 22 -m conntrack --ctstate NEW -s 11.11.11.11/32 -m mac --mac-source 11:11:11:11:11:11 -j ACCEPT 

Нужно ли указывать все варианты в каждом правиле, или это можно опустить в нижних цепочках? Например, окончательные правила ssh могут выглядеть так:

 iptables -t filter -A ssh -s 10.10.10.10/32 -m mac --mac-source 10:10:10:10:10:10 -j ACCEPT iptables -t filter -A ssh -s 11.11.11.11/32 -m mac --mac-source 11:11:11:11:11:11 -j ACCEPT 

2 Solutions collect form web for “Нужно ли повторять параметры правил в iptables?”

Если вы хотите этого избежать, вам нужна новая цепочка:

 iptables -N sshgroup1 # or reset with iptables -F sshgroup1 if it already exists iptables -t filter -A ssh -s 10.10.10.10/32 -m mac \ --mac-source 10:10:10:10:10:10 -j sshgroup1 iptables -t filter -A sshgroup1 ... -j ACCEPT iptables -t filter -A sshgroup1 ... -j ACCEPT 

Если вы хотите разрешить ssh-подключения только из двух хостов в вашей локальной сети, вы должны сохранить эти правила сверху, чтобы iptables работали быстрее.

 iptables -I INPUT -p tcp -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -I INPUT -p tcp --dport 22 -s 10.10.10.10/32 -m mac --mac-source 10:10:10:10:10:10 -j ACCEPT iptables -I INPUT -p tcp --dport 22 -s 11.11.11.11/32 -m mac --mac-source 11:11:11:11:11:11 -j ACCEPT 

В противном случае существует множество комбинаций в зависимости от вашей сети, политик и трафика.

Правило большого пальца: старайтесь избегать повторения правил и минимизации уровня соответствия для более быстрой работы.

  • Рекомендации: применение правил брандмауэра iptables для SSH
  • маршрутизация трафика с помощью DNS
  • Использование VPN для определенных приложений через сетевое пространство имен
  • установленное приложение сохраняет открытый порт
  • Как полностью блокировать ssh и pings на сервере под управлением Oracle Linux 6.7
  • Перенаправление всего нелокального трафика с определенного ip на внешний прокси
  • netstat не показывает порт, открытый через ufw
  • -o в iptables для указания интерфейса для OUTPUT, FORWARD и POSTROUTING? Правильно?
  • iptables маршрутизация входящего IP на другой IP-адрес назначения
  • NAT с прозрачным прокси
  • Формирование исходящего трафика с помощью iptables
  • Linux и Unix - лучшая ОС в мире.