我有以下ip阻止列表:
123.151.149.222#China Telecom TIANJIN, CN
91.188.124.0/23#Hosting Company, PL
134.145.0.0/16#Shell Information Technology International, CN
134.146.0.0/15#Shell Information Technology International, CN
我想用iptables阻止那些ips:
BANNED_IPS=$(egrep -v -E "^#|^$" /etc/blocked.ips.list)
for ip in $BANNED_IPS
do
iptables -A INPUT -s $ip -m comment --comment "$comment" -j DROP
done
示例: $ ip 应为123.151.149.222
, $ comment 应为China Telecom TIANJIN, CN
。是的,我知道上面的脚本不起作用。我希望脚本与上面的脚本一样。
问题:我如何实现这一目标?
答案 0 :(得分:1)
IFS='#'
egrep -v '^#|^$' /etc/blocked.ips.list |
while read ip comment
do
$BANNED_IPS =A INPUT -s $ip -m comment --comment "$comment" -j DROP
done
说明:
IFS='#'
更改read
使用的shell的字段分隔符和变量扩展后的字拆分。