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

Тема в разделе "Администрирование серверов", создана пользователем verfaa, 12 июн 2019 в 21:28.

Метки:
Модераторы: mefish
  1. verfaa

    verfaa

    Регистр.:
    29 янв 2007
    Сообщения:
    386
    Симпатии:
    47
    Всем привет. Имеется 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.
    Никак не могу понять в чем тут дело. Раньше делал подобные операции на выделенном сервере, все работало...
     
  2. stooper

    stooper

    Регистр.:
    14 апр 2006
    Сообщения:
    578
    Симпатии:
    366
    всё правильно. правила применяются по цепочке. у вас accept-ы стоят, соответственно когда правило совпадает и применяется, то все остальные будут игнорироваться, и до дропа пакеты уже просто не доходят. если default policy стоит accept, то всё пропускается и идёт по цепочке до первого совпадения.
    iptables -D INPUT -s IPADDRESS -j DROP
    в самое начало правил, если хотите, что бы заработало))
     
    Последнее редактирование: 13 июн 2019 в 00:33
    verfaa и metsys нравится это.
  3. verfaa

    verfaa

    Регистр.:
    29 янв 2007
    Сообщения:
    386
    Симпатии:
    47
    Перенес в самое начало сразу после :OUTPUT ACCEPT [131:11369] - не заработало (systemctl restart iptables выполнялся с ошибкой, сервис не стартовал).
    Заработало после того как я вставил их перед
    Код:
    -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
     
    stooper нравится это.
  4. Tommass

    Tommass Писатель

    Регистр.:
    12 ноя 2016
    Сообщения:
    8
    Симпатии:
    2
    сделайте iptables-save > iptables

    и дайте вывод файла