Назад | Перейти на главную страницу

iptables: разрешить диапазон портов, но запретить определенный IP

Я запускаю сервер, которому нужны открытые UDP-порты 1000: 11000, а также TCP 10011 и 30033, открытые для работы.

У меня есть набор правил iptables, разрешающих SSH и эти порты, и я намеренно исключил 2010 год, поскольку меня атакуют на этом порту. Сервер не блокирует входящий IP-адрес, даже когда ему говорят сделать это. IP-адрес, который необходимо отклонить: 194.97.114.3.

Мой скрипт iptables:

service iptables restart
iptables --flush

iptables -P INPUT DROP

iptables -A INPUT -i lo -p all -j ACCEPT

iptables -A INPUT -p tcp -m tcp --dport 10011 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 30033 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 22 -j ACCEPT


iptables -A INPUT -s 194.97.114.3 -j DROP
iptables -I INPUT -p udp --destination-port 1000:2009 -j ACCEPT
iptables -I INPUT -p udp --destination-port 2011:11000 -j ACCEPT
service iptables save

При этом 194.97.114.3 все еще может подключаться к порту 2010. Пожалуйста, помогите мне.

РЕДАКТИРОВАТЬ, iptables -L -v -N вывод:

Chain INPUT (policy DROP 2833 packets, 412K bytes)
 pkts bytes target     prot opt in     out     source               destination
 305K   26M ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpts:2011:11000
 2910  128K ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpts:1000:2009
  145 19881 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0
  303 17915 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:10011
   41  1816 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:30033
  393 28420 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:22
    6   216 DROP       all  --  *      *       194.97.114.3         0.0.0.0/0

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain OUTPUT (policy ACCEPT 415K packets, 37M bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:22

Chain RH-Firewall-1-INPUT (0 references)
 pkts bytes target     prot opt in     out     source               destination

Переместите строку DROP перед строками ACCEPT.

Вы можете попробовать следовать за мной

echo > /etc/sysconfig/iptables
service iptables restart
iptables -I INPUT -p tcp -m state --state NEW -m multiport ! --dports 30033,10011,22 -j DROP
iptables -I INPUT -p udp -m multiport --dports 1000:2009,2011:11000 -j ACCEPT
iptables -I INPUT -p udp -m multiport -s 194.97.114.3 --dports 1000:2009,2011:11000 -j DROP