Мне нужно создать файл для фильтрации трафика.

Это должно работать так:

  • Входящий трафик от 192.168.5.0/24 должен быть заблокирован, если это не ICMP или от 192.168.5.200
  • Выходной трафик на 192.168.5.0/24 должен быть заблокирован, если это не ICMP или 192.168.5.200
  • Оставшийся трафик должен быть разрешен.

Это мое решение:

iptables -P INPUT DROP
iptables -F INPUT
iptables -A INPUT -i eth0 -p ICMP -s 192.168.5.200 -j ACCEPT
iptables -A INPUT -i eth0 -s 192.168.5.0 -j DROP
iptables -A OUTPUT -o eth0 -p ICMP -d 192.168.5.200 -j ACCEPT
iptables -A OUTPUT -o eth0 -d 192.168.5.0 -j DROP
iptables -A OUTPUT ACCEPT
iptables -A INPUT ACCEPT

Я новичок в iptables, поэтому ценю любую помощь, которую могу получить.

0
Daniela Maia 17 Окт 2015 в 18:42

2 ответа

Лучший ответ

Попробуйте такие правила:

iptables -P INPUT ACCEPT
iptables -A INPUT -s 192.168.5.200 -j ACCEPT
iptables -A INPUT -s 192.168.5.0/24 -p icmp -j ACCEPT
iptables -A INPUT -s 192.168.5.0/24 -j DROP
iptables -P OUTPUT ACCEPT
iptables -A OUTPUT -d 192.168.5.200 -j ACCEPT
iptables -A OUTPUT -d 192.168.5.0/24 -p icmp -j ACCEPT
iptables -A OUTPUT -d 192.168.5.0/24 -j DROP
1
Joel C 18 Окт 2015 в 17:29

Вам необходимо разрешить входящий SSH. Добавьте это в свой сценарий:

iptables -A INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -i eth0 -p icmp -j ACCEPT

Вы также можете посмотреть здесь, по этой ссылке: Linux Iptables - заблокировать весь входящий трафик, но разрешить SSH

1
Chun 17 Окт 2015 в 23:11