1
#!/bin/sh
BLOCKDB="/opt/ip.blocked"
IPS=$(grep -Ev "^#" $BLOCKDB)
for i in $IPS
do
sudo iptables -A INPUT -s $i -j DROP
sudo iptables -A OUTPUT -d $i -j DROP
done
ループ内にIPアドレスがiptablesリスト内にあるかどうかをチェックし、すでに内部に入っているかどうかを確認するには、ループを続行する必要があります。forループのいくつかの要素をスキップできますか?
チェックステートメントは、このようになります:私はここでこれを置くことができますどのように
iptables -L INPUT -v -n | grep $i
?
@Beck:また、 'grep -q $ i'を使って出力を抑制し、値の存在をチェックすることもできます。 – DarkDust
ありがとうございます。それは働いています:) – Somebody
ダーク;) – Somebody