Update
Tempo fa avevo messo online uno script per bloccare su iptables alcuni paesi europei. Ora che tutto passa a python3, mi hanno chiesto come correggerlo (persone cui non funziona piu'). Ecco qui:
#!/usr/bin/python3
import os
import math
import urllib.request
url = "ftp://ftp.ripe.net/pub/stats/ripencc/delegated-ripencc-latest"
with urllib.request.urlopen(url) as f:
lines = f.read().decode('utf-8').splitlines()
os.system('ipset create rusbiel hash:net')
os.system('iptables -A INPUT -m set --match-set rusbiel src -j LOG')
os.system('iptables -A INPUT -m set --match-set rusbiel src -j DROP')
os.system('ipset flush rusbiel')
for line in lines:
if ('ipv4' in line) and ('RU' in line or 'BY' in line):
s = line.split("|")
net = s[3]
cidr = float(s[4])
final_cidr = f"{net}/{math.floor(32 - math.log2(cidr))}"
ipset_cmd = f"ipset -q -A rusbiel {final_cidr}"
os.system(ipset_cmd)
print(ipset_cmd)
Non dimenticate di installare con apt sia iptables che ipset:
Per Debian:
apt install ipset
apt install iptables
Ecco fatto.
Uriel Fanelli
Il blog e' visibile dal Fediverso facendo il follow a:
Contatti:
- Fediverse: @uriel@fedi.keinpfusch.net
- MATRIX: @uriel:mtrx.keinpfusch.net
- GNU JAMI: ufanelli