#!/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列表中,如果它已在内部,则继续循环。
检查声明是这样的:
iptables -L INPUT -v -n | grep $i
我怎么把它放在这里?
答案 0 :(得分:3)
那么,问题是什么?如何继续或休息?
iptables -L INPUT -v -n | grep $i && continnue
例如。
答案 1 :(得分:1)
尝试以下方法:
for i in $IPS
do
sudo iptables -L INPUT -v -n | grep $i
if [ $? -eq 0 ]
then
sudo iptables -A INPUT -s $i -j DROP
sudo iptables -A OUTPUT -d $i -j DROP
fi
done