Read txt file, add to iptables not working on new host

JackM notreal at earthlink.net
Thu May 23 22:44:38 EDT 2013


First, let me say that I have no knowledge of or experience with Python 
or Linux/Unix. I have a script which was written by a host tech person 
that ran via cron on my old server. It was designed to read IP addresses 
from a text file and add them to be blocked on iptables. That way, we 
could add or remove IPs without involving tech support daily. It worked 
great.

Then we changed hosts and this script is now throwing errors on the new 
server. This host runs Python 2.6.6. This is the script:

#!/usr/bin/python
import os,time

##Input, Output, and TimeStamp
inFile = open('/var/www/html/mydomain.com/banlist.txt','r')
logFile = open('/var/log/banList.log','w')
stamp = time.asctime(time.localtime())


##Daily Flush of blockList rules before re-applying Blocks
os.popen('/sbin/iptables -F INPUT')
logFile.write(stamp), logFile.write('\n'), logFile.write('Flushing 
Rules..\n')

##Loop to read in file and Apply rules to IPtables
for line in inFile.readlines():
	tmp = line.split(';')
  	IP = tmp[0]
	outPut = os.popen( '/sbin/iptables -A INPUT -s' + ' ' + IP + ' ' + '-j 
REJECT' )
	logFile.write(IP), logFile.write(' - Has been blocked '), 
logFile.write(stamp),logFile.write


The errors we're getting are like these:

Bad argument `174.37.65.204'
  Try `iptables -h' or 'iptables --help' for more information.
  Bad argument `94.159.162.182'
  Try `iptables -h' or 'iptables --help' for more information.
  Bad argument `95.134.132.98'
  Try `iptables -h' or 'iptables --help' for more information.
  etc.

Entries from the banlist.txt are like these:

200.193.54.138; February 9, 2013, 7:42 am <br>
87.120.57.4; February 9, 2013, 7:42 am <br>
82.206.129.160; February 9, 2013, 7:43 am <br>
etc.

I know the error points to a bad iptables command.
Can someone tell me what change(s) I need to make to this script to get 
it working again? Thanks.



-- 
My email address on the header is a non-monitored spam catching account. 
I can be reached via http://www.wvnh.net/contact.htm




More information about the Python-list mailing list