Como configurar o Ipset para bloquear IPs de países inteiros

1

Eu preciso bloquear alguns países usando ipset e iptables.

O que eu fiz até agora (crie um novo conjunto de ipset 'geoblock'):

sudo ipset create geoblock hash:net,port

criei o seguinte script /usr/sbin/ipsetfirewall.sh

#!/bin/bash
for IP in $(wget -O – http://www.ipdeny.com/ipblocks/data/countries/{cn,iq,af,ir,ae,sg,hk,kw,kg}.zone)
do
# ban everything – block countryX
sudo ipset add geoblock $IP
done

Como explicado aqui eu também tentei:

wget -O – http://www.ipdeny.com/ipblocks/data/countries/{cn,iq,af,ir,ae,sg,hk,kw,kg}.zone --header "Referer: www.ipdeny.com"

e eu tentei isso também (já que estou usando o ipv4)

wget -4 http://www.ipdeny.com/ipblocks/data/countries/{cn,iq,af,ir,ae,sg,hk,kw,kg}.zone

Para todas as minhas tentativas, recebo o mesmo erro:

/usr/sbin$ sudo sh ipsetfirewall.sh
--2016-04-21 15:40:58--  http://www.ipdeny.com/ipblocks/data/countries/%7Bcn,iq,af,ir,ae,sg,hk,kw,kg%7D.zone
Resolving www.ipdeny.com (www.ipdeny.com)... 192.241.240.22
Connecting to www.ipdeny.com (www.ipdeny.com)|192.241.240.22|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2016-04-21 15:40:59 ERROR 404: Not Found.

Qual é o problema?

    
por NineCattoRules 21.04.2016 / 18:31

1 resposta

1

Provavelmente mais eficiente para pegar todas as zonas

wget http://www.ipdeny.com/ipblocks/data/countries/all-zones.tar.gz
tar -xzf all-zones.tar.gz

Caso contrário, um por vez

for C in cn iq af ir ae sg hk kw kg ; do
   wget -4 http://www.ipdeny.com/ipblocks/data/countries/${C}.zone
done
    
por 23.05.2017 / 18:45