iptables — заблокировать ip

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

Первым делом, мы берем ip будущей жертвы, и пробиваем по who.is, в выдаче выискивая строку вида:

% Note: this output has been filtered.
%       To receive output for a database update, use the "-B" flag.
% Information related to '111.111.111.0 - 111.111.111.255'
% Abuse contact for '111.111.111.0 - 111.111.111.255' is [email protected]'

Как раз 111.111.111.0 - 111.111.111.255 — то нам и нужно. Открываем CIDR конвертер, и вбиваем в него полученный диапазон:

111.111.111.0,111.111.111.255

Получая на выходе, например: 111.111.111.0/24. Этот диапазон остается лишь добавить в iptables:

$ iptables -A INPUT -s 111.111.111.0/24 -j DROP
$ service iptables save

Подробнее под катом