Questa guida spiega come usare lo script import-ip-blocklists.sh per scaricare una o piu liste IP pubbliche, estrarre IPv4/CIDR validi, deduplicare i risultati e usarli come blocklist firewall.
Esegui con URL passate direttamente:
./import-ip-blocklists.sh https://example.org/list1.txt https://example.org/list2.txt
Esegui usando un file di sorgenti (una URL per riga):
./import-ip-blocklists.sh --url-file ip-to-ban-sources.txt
In entrambi i casi, lo script:
Output su file personalizzato:
./import-ip-blocklists.sh --url-file ip-to-ban-sources.txt --output my-ip-blocklist.txt
Merge con lista esistente + deduplica:
./import-ip-blocklists.sh --url-file ip-to-ban-sources.txt --merge-existing --output ip-to-ban.txt
Applicazione diretta al firewall (richiede root):
sudo ./import-ip-blocklists.sh --url-file sources.txt --apply --set-name antispam_ext_block
Escludere IP affidabili con una whitelist:
./import-ip-blocklists.sh --url-file ip-to-ban-sources.txt --whitelist ip-to-ban-whitelist.txt
Uso combinato di whitelist e apply:
sudo ./import-ip-blocklists.sh --url-file ip-to-ban-sources.txt --whitelist ip-to-ban-whitelist.txt --apply
Il file whitelist usa lo stesso formato dell’output: una voce per riga, IPv4 o CIDR, con supporto ai commenti #.
Esempio ip-to-ban-whitelist.txt:
# IP di servizi legittimi da non bloccare
203.0.113.5
198.51.100.0/24
Lo script rimuove dalla blocklist tutte le voci presenti nella whitelist prima di scrivere il file di output. A schermo vengono segnalati il numero di entry whitelist caricate e quelle effettivamente rimosse.
Quando usi --apply, lo script:
match-set <set-name> src -j DROPControlla contenuto set:
sudo ipset list antispam_ext_block
Controlla regola INPUT:
sudo iptables -S INPUT | grep antispam_ext_block
Esempio aggiornamento ogni giorno alle 03:15 con applicazione automatica:
15 3 * * * /bin/bash /percorso/assoluto/import-ip-blocklists.sh --url-file /percorso/assoluto/sources.txt --apply --set-name antispam_ext_block >> /var/log/import-ip-blocklists.log 2>&1
Errore: No URLs provided
Errore: –apply requires root privileges
Errore download di una sorgente
Errore: No valid IPv4/CIDR entries extracted
Whitelist file not found