-   Linux - Newbie (
-   -   Script file problem (or operator problem) HELP! (

lostone 05-15-2001 08:59 PM

I have installed Red Hat 7.1 on a machine and begun attempting to create a firewall using iptables. I believe I know what I need to do to make it happen but I began to write a script file which does not work as I expect it to. I shortened the file up to try to figure out what's happening. This is my script named rc.firewall

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
exit 0

iptables is the program name, -P means change the default policy of the chain, INPUT is the chain, and DROP is the policy I want.

If I type the lines for iptables from the prompt the policy changes as expected.

When I attempt to run my script by typing sh rc.firewall, from the appropriate directory, I get the following,

iptables: Bad policy name
iptables: Bad policy name
iptables: Bad policy name
'c.firewall: exit: bad non-numeric arg `0

It appears to me that iptables is run from the script, it recognizes the -P to change the policy, I believe it recognizes the chain name but drops the ball on the policy. Yes it is case sensitive and I am using the correct case. I have tried both. Further it does not seem to recognize 0 (zero) as a valid arguement after exit. However, typing sh to enter the shell then exit 0 doesn't generate an error message. Just for more info from the shell I typed exit n , a letter instead of a number and got the error message. Also I edited the script and put a semi-colon after the zero and that error message went away. Okay, what have I done wrong? Thanks in advance to whoever knows whats going on.

All times are GMT -5. The time now is 10:20 AM.