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.