Программа временно блокировать IP с iptables

есть ли в Debian программа для блокировки IP-адреса временно просто запустив команду (указав IP и продолжительность)?

только с iptables/ip6tables я могу создать правило, но тогда мне придется удалить вручную. Я также использую fail2ban, но я не думаю, что могу заблокировать произвольный IP-адрес, который не удовлетворял ни одному из правил fail2ban.

29
задан JoeWhite
06.03.2023 0:53 Количество просмотров материала 2826
Распечатать страницу

2 ответа

вам нужно создать ipset так iptables может соответствовать против него. Примечание тайм-аут 0 значит по умолчанию это никогда не истекает.

ipset create temp_hosts hash:ip timeout 0
iptables -I INPUT 1 -m set -j DROP  --match-set temp_hosts src
iptables -I FORWARD 1 -m set -j DROP  --match-set temp_hosts src

Теперь, когда наш набор создан, мы можем начать добавлять ip-адреса (единица тайм-аута: секунды).

ipset add temp_hosts 1.1.1.2 timeout 400

Примечание Если вам это нужно, чтобы пережить перезагрузку, вам нужно сохранить и загрузить правила.

ipset save -f /path/ipset.save
ipset restore -f /path/ipset.save

Они могут быть автоматизированы с помощью cron или с помощью systemd.

5
отвечен cybernard 2023-03-07 08:41

попробуйте этот сценарий, вдохновленный комментарием Дэна:

#!/bin/bash
iptables -I INPUT -s  -j DROP
at ${2:-now+1hour} <<<"iptables -D INPUT -s  -j DROP"

Сохранить как /usr/local/sbin/blockip и работать blockip 1.2.3.4 или blockip 1.2.3.4 now+2hours. По умолчанию IP блокируется на 1 час.

вы можете заменить DROP на REJECT, если вы предпочитаете семантику REJECT.

2
отвечен user49740 2023-03-07 10:58

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх