Управление входящим трафиком в iptables

Краткая инструкция по конкретизации и ограничению входящих подключений в операционных системах семейства Linux

Разрешение и запрет входящих подключений

с определённого сетевого интерфейса

# iptables -t filter -A INPUT -i eth0 -p tcp -m state --state NEW -m tcp -j ACCEPT

eth0 — сетевой интерфейс

с определённой подсети

# iptables -t filter -A INPUT -p tcp -s 192.168.1.0/24 -m state --state NEW -m tcp -j ACCEPT

192.168.1.0/24 — подсеть с маской 255.255.255.0

с определённого IP-адреса

# iptables -t filter -A INPUT -p tcp -s 192.168.1.225 -m state --state NEW -m tcp -j ACCEPT

192.168.1.225 — IP-адрес машины

с определённого IP-адреса на определённый порт или диапазон портов

# iptables -t filter -A INPUT -p tcp -s 172.16.32.225 -m state --state NEW -m tcp --dport 10050:10051 -j ACCEPT

Запрет прописывается аналогично, только вместо ACCEPT пишется DROP

Ограничение количества входящих подключений с одного IP-адреса (например, 10 соединений):

# iptables -t filter -A INPUT -p tcp --dport 22 -m connlimit --connlimit-above 10 -j DROP
# iptables -t filter -A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 

данное правило прописывается перед основным разрешающим правилом

  • первая строка запрещает входящее соединение, если их количество превысило 10
  • вторая строка разрешает входящее подключение

Здесь можно также добавлять сетевые интерфейсы, подсети и IP-адреса.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *