Is this what you want?
---
#!/bin/bash
if [ -f badips.txt ]
then
for BAD_IP in `cat badips.txt`
do
iptables -A INPUT -s $BAD_IP -j DROP
done
else
echo "Can't read badips.txt"
fi
---
However I would prefer that you set default policy to DROP and then only accept the god ones.
Something like this.
This asumes that your network is 192.168.0.x
---
iptables -F
iptables -t nat -F
iptables -t mangle -F
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -i eth1 -p udp --dport bootps --sport bootpc -j DROP
iptables -A INPUT -i eth0 -p udp --dport bootps --sport bootpc -j ACCEPT
iptables -A OUTPUT -o eth1 -p udp --dport bootps --sport bootpc -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -m state --state RELATED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED -j ACCEPT
iptables -A FORWARD -m state --state RELATED -j ACCEPT
iptables -A INPUT -s 192.168.0.0/24 -j ACCEPT
if [ -f godips.txt ]
then
for GOD_IP in `cat godips.txt`
do
iptables -A INPUT -s $GOD_IP -j ACCEPT
done
else
echo "Can't read godips.txt"
fi
---
Main Topics
Browse All Topics





by: ahoffmannPosted on 2003-07-20 at 01:48:47ID: 8961126
# using a netmask:
iptables -A INPUT -s x.y.z.0/24 -j DROP
# using bash:
for i in `seq 5 1 8`; do iptables -A INPUT -s x.y.z.$i -j DROP; done