Как отфильтровать диапазоны IP-адресов?

Вам нужно использовать описание файла, отличное от стандартного ввода, если вы хотите запустить что-то интерактивное внутри цикла.

#!/bin/bash

while read -r file <&3; do

  vim "$file"

done 3< <(find . -type f)

В качестве альтернативы, с разделителями нулевого байта для поддержки необычных имен файлов:

#!/bin/bash

while IFS= read -r -d '' file <&3; do

  vim -- "$file"

done 3< <(find . -type f -print0)

Вывод find передается с помощью подстановки процесса в файловый дескриптор 3, который затем передается в прочтите с по <& 3 .

0
05.03.2018, 20:36
3 ответа

Simplemente agregue lo siguiente a/etc/hosts.deny:

ALL: 31.13.76.102
ALL: 216.58.192.0/19
ALL: 173.194.0.0/16
ALL: 74.125.136.0/24
0
28.04.2021, 23:49

Si bien puede usar /etc/hosts.deny, hosts.deny solo funciona con aplicaciones envueltas en TCP como ssh o xinetd. Recomendaría usar iptablesya que es un verdadero cortafuegos para su sistema. Solo usa algo como esto:

iptables -I INPUT -s 31.13.76.102 -j DROP
iptables -I INPUT -m iprange --src-range 216.58.192.0-216.58.223.255 -j DROP
iptables -I INPUT -m iprange --src-range 173.194.0.0-173.194.255.255 -j DROP
iptables -I INPUT -m iprange --src-range 74.125.136.0-74.125.136.255 -j DROP
iptables-save > /etc/sysconfig/iptables

El iprangees un módulo realmente genial para usar en situaciones como esta.

3
28.04.2021, 23:49

Команда ufw(U ncomplicated F ire W all , упрощенный интерфейс -end для iptables, изначально для Ubuntu, теперь также доступно для Debian и других дистрибутивов )принимает спецификации диапазона CIDR , например:

ufw insert 1 deny from 31.13.76.102 # single address
ufw insert 1 deny from 216.58.192.0/18 # range
0
28.04.2021, 23:49

Теги

Похожие вопросы