Не работают правила iptables на VPS

verfaa

Профессор
Регистрация
29 Янв 2007
Сообщения
417
Реакции
49
Всем привет. Имеется VPS (OpenVZ) с установленными iptables v1.4.21
Появилась необходимость заблокировать несколько ip которые нещадно парсят сайт.
Добавил правила в iptables, сохранил их, перезагрузил сервер. В итоге получил нечто подобное в /etc/sysconfig/iptables

Код:
# Generated by iptables-save v1.4.21 on Wed Jun 10 16:24:09 2019
    *filter
    :INPUT ACCEPT [0:0]
    :FORWARD ACCEPT [0:0]
    :OUTPUT ACCEPT [131:11369]
    -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
    -A INPUT -p icmp -j ACCEPT
    -A INPUT -i lo -j ACCEPT
    -A INPUT -p udp -m udp --dport 53 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT
    -A INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 31985 -j ACCEPT
    -A INPUT -p tcp -m tcp --dport 51985 -j ACCEPT
    -A INPUT -j REJECT --reject-with icmp-host-prohibited
    -A INPUT -s 176.122.14.0/24 -j REJECT --reject-with icmp-port-unreachable
    -A INPUT -s 141.98.82.104/32 -j REJECT --reject-with icmp-port-unreachable
    -A FORWARD -j REJECT --reject-with icmp-host-prohibited
    COMMIT
    # Completed on Wed Jun 10 16:24:09 2019

После перезагрузки VPS проверил статус iptables - active

Код:
    # systemctl status iptables
    ● iptables.service - IPv4 firewall with iptables
       Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
       Active: active (exited) since
    ...

Но правила iptables по блокировке IP упорно отказываются работать. Перезагружал VPS несколько раз, и при статусе iptables - activе в логи nginx продолжают сыпаться запросы от перечисленных IP в iptables.
Никак не могу понять в чем тут дело. Раньше делал подобные операции на выделенном сервере, все работало...
 
всё правильно. правила применяются по цепочке. у вас accept-ы стоят, соответственно когда правило совпадает и применяется, то все остальные будут игнорироваться, и до дропа пакеты уже просто не доходят. если default policy стоит accept, то всё пропускается и идёт по цепочке до первого совпадения.
iptables -D INPUT -s IPADDRESS -j DROP
в самое начало правил, если хотите, что бы заработало))
 
Последнее редактирование:
Перенес в самое начало сразу после :OUTPUT ACCEPT [131:11369] - не заработало (systemctl restart iptables выполнялся с ошибкой, сервис не стартовал).
Заработало после того как я вставил их перед
Код:
-A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
 
сделайте iptables-save > iptables

и дайте вывод файла
 
лучше вывод команды iptables -nvL
и куда нибудь на Для просмотра ссылки Войди или Зарегистрируйся лучше залей. там читать удобнее будет.
 
Назад
Сверху