You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
639 B
Bash
28 lines
639 B
Bash
#!/bin/bash
|
|
# fanta <fanta@56k.es>
|
|
# ru block - Para bloquear toda Rusia con iptables. Ejecutar como root
|
|
# dependencies: bash wget curl iptables
|
|
|
|
ipListUrl="https://www.ipdeny.com/ipblocks/data/countries/ru.zone"
|
|
|
|
function main(){
|
|
checkURL
|
|
downloadIPList
|
|
blockIP
|
|
}
|
|
|
|
function checkURL(){
|
|
errorCode=$(curl -kiss $ipListUrl | head -1 | cut -d " " -f 2)
|
|
if [ $errorCode != 200 ]; then echo "URL not found $ipListUrl"; exit; fi
|
|
}
|
|
|
|
function downloadIPList(){
|
|
wget -q "$ipListUrl" -O /tmp/.ips > /dev/null 2>&1
|
|
}
|
|
|
|
function blockIP(){
|
|
while read -r ip; do echo "DROP $ip"; iptables -A INPUT -s $ip -j DROP; done < /tmp/.ips
|
|
}
|
|
|
|
main
|