有什么办法可以获得特定ISP的networkingIP,以便我可以使用iptables来允许/阻止IP后面的整个networking。
也许这样的事情可以帮助你。
block_as.sh:
#!/斌/庆典
ASLIST = “$ @”
对于$ ASLIST中的ASNO; 做
后缀= “$ ASNO”;
#SUFFIX =“”#启用它来收集一个链中的所有规则
echo“iptables -N reject_as $ SUFFIX”;
echo“ip6tables -N reject_as $ SUFFIX”;
whois -B -i来源“AS $ ASNO”\
| grep'^ route'\
| 同时阅读proto前缀rest; 做
案例“$ proto”中
路线:) prog = iptables; ;;
route6 :) prog = ip6tables; ;;
*)prog = echo; ;;
ESAC
echo“$ prog -A”reject_as $ SUFFIX“-s $ prefix -j REJECT”;
完成;
DONE
它通过whois获取所有networking并生成适当的ip [6]表规则。 也许你必须调整你的whois-Query,因为我只对成熟的数据库运行testing。
看起来像这样:
$ ./block_as.sh 3320 6724 iptables -N reject_as3320 ip6tables -N reject_as3320 iptables -A reject_as3320 -s 193.103.152.0/22 -j拒绝 [...] iptables -A reject_as3320 -s 134.97.128.0/17 -j拒绝 iptables -A reject_as3320 -s 194.156.246.0/24 -j拒绝 iptables -A reject_as3320 -s 91.222.232.0/22 -j REJECT ip6tables -A reject_as3320 -s 2003:0000 :: / 19 -j拒绝 ip6tables -A reject_as3320 -s 2003:0000 :: / 20 -j拒绝 iptables -N reject_as6724 ip6tables -N reject_as6724 iptables -A reject_as6724 -s 192.67.198.0/24 -j REJECT [...] iptables -A reject_as6724 -s 85.214.0.0/15 -j拒绝 iptables -A reject_as6724 -s 81.169.128.0/17 -j拒绝 ip6tables -A reject_as6724 -s 2a01:238 :: / 32 -j REJECT