iptables rules get deleted...

This is a discussion on iptables rules get deleted... within the Linux Networking forums, part of the Linux Forums category; Hi, I'm setting up a RedHat 8.0 box on the network with a static address. It is a ...


Go Back   Usenet Forums > Linux Forums > Linux Networking

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 06-24-2003
Paul M.
 
Posts: n/a
Default iptables rules get deleted...

Hi,
I'm setting up a RedHat 8.0 box on the network with a static
address. It is a relatively uncustomized box other than running some
security updates and turning off unwanted services. I need to run
portmap, which is why I need to filter network access. I've created a
set of iptables rules, loaded them and saved them into
/etc/sysconfig/iptables using iptables-save. It's a simple setup-- no
NAT/masq, etc, just a simple port filter. I've tested it and it does
what I want. I go home and come back in the morning and run iptables
-L. All my rules are gone. I can reload the rules from
/etc/sysconfig/iptables, but its hard to convince my boss that a port
filter that deletes its own rules is a good thing. Is RedHat trying to
"help" me ala Windows? Is there some daemon that doesn't like my rule
set? I did not have this problem in RedHat 7.2. Thanks for any ideas.

Paul M.
Reply With Quote
  #2 (permalink)  
Old 06-24-2003
Cedric Blancher
 
Posts: n/a
Default Re: iptables rules get deleted...

Dans sa prose, Paul M. nous ecrivait :
> I'm setting up a RedHat 8.0 box on the network with a static
> address. It is a relatively uncustomized box other than running some
> security updates and turning off unwanted services. I need to run
> portmap, which is why I need to filter network access. I've created a
> set of iptables rules, loaded them and saved them into
> /etc/sysconfig/iptables using iptables-save. It's a simple setup-- no
> NAT/masq, etc, just a simple port filter. I've tested it and it does
> what I want. I go home and come back in the morning and run iptables -L.
> All my rules are gone.


Has the box been rebooted during the night ? If so, check your startup
scripts, iptables rules loading must be missing.

--
RG -Ben, non, en français, pas de points de suspension après un etc.,
c'est une redondance pour dire deux fois la même répétition...
CC -Moi j'aime bien la redondance qui dit 2 fois la même répétition.
-+- RG & CC in GNU : On n'efface rien et on recommence -+-

Reply With Quote
  #3 (permalink)  
Old 06-24-2003
George Hewitt
 
Posts: n/a
Default Re: iptables rules get deleted...

I had a similar problem with RH8. It was because iptables wasn't actually
loading as a service so I simply wgetted the latest iptables RPM from
rpmfind.net and installed that.

Then, load your tables from before and:

iptables-save
service iptables save
service iptables restart

Hopefully that should now load it all up on boot.
--

"Paul M." <paul.marquardt@mortgagefamily.com> wrote in message
news:f2137556.0306240412.131d53b3@posting.google.c om...
> Hi,
> I'm setting up a RedHat 8.0 box on the network with a static
> address. It is a relatively uncustomized box other than running some
> security updates and turning off unwanted services. I need to run
> portmap, which is why I need to filter network access. I've created a
> set of iptables rules, loaded them and saved them into
> /etc/sysconfig/iptables using iptables-save. It's a simple setup-- no
> NAT/masq, etc, just a simple port filter. I've tested it and it does
> what I want. I go home and come back in the morning and run iptables
> -L. All my rules are gone. I can reload the rules from
> /etc/sysconfig/iptables, but its hard to convince my boss that a port
> filter that deletes its own rules is a good thing. Is RedHat trying to
> "help" me ala Windows? Is there some daemon that doesn't like my rule
> set? I did not have this problem in RedHat 7.2. Thanks for any ideas.
>
> Paul M.



Reply With Quote
  #4 (permalink)  
Old 06-25-2003
Rick Cooper
 
Posts: n/a
Default Re: iptables rules get deleted...


"Paul M." <paul.marquardt@mortgagefamily.com> wrote in message
news:f2137556.0306240412.131d53b3@posting.google.c om...
> Hi,
> I'm setting up a RedHat 8.0 box on the network with a static
> address. It is a relatively uncustomized box other than running some
> security updates and turning off unwanted services. I need to run
> portmap, which is why I need to filter network access. I've created a
> set of iptables rules, loaded them and saved them into
> /etc/sysconfig/iptables using iptables-save. It's a simple setup-- no
> NAT/masq, etc, just a simple port filter. I've tested it and it does
> what I want. I go home and come back in the morning and run iptables
> -L. All my rules are gone. I can reload the rules from
> /etc/sysconfig/iptables, but its hard to convince my boss that a port
> filter that deletes its own rules is a good thing. Is RedHat trying to
> "help" me ala Windows? Is there some daemon that doesn't like my rule
> set? I did not have this problem in RedHat 7.2. Thanks for any ideas.
>
> Paul M.


Put this script in your /etc/init.d directory under the name iptables (as
root)
then run
chmod u=rwx,g=rwx,o=x /etc/init.d/iptables
chkconfig --add iptables

and it will load everytime the system is booted

The only thing I have changed from the original is the addition of the -n
option to the status section
You will also find the linux firewall module of webmin makes
creating/editing/deleting/ordering rules using iptables-save and
iptables-restore VERY easy.

#!/bin/sh
#
# Startup script to implement /etc/sysconfig/iptables pre-defined rules.
#
# chkconfig: 2345 08 92
#
# description: Automates a packet filtering firewall with iptables.
#
# by bero@redhat.com, based on the ipchains script:
# Script Author: Joshua Jensen <joshua@redhat.com>
# -- hacked up by gafton with help from notting
# modified by Anton Altaparmakov <aia21@cam.ac.uk>:
# modified by Nils Philippsen <nils@redhat.de>
#
# config: /etc/sysconfig/iptables

# Source 'em up
.. /etc/init.d/functions

IPTABLES_CONFIG=/etc/sysconfig/iptables

if [ ! -x /sbin/iptables ]; then
exit 0
fi

KERNELMAJ=`uname -r | sed -e 's,\..*,,'`
KERNELMIN=`uname -r | sed -e 's,[^\.]*\.,,' -e 's,\..*,,'`

if [ "$KERNELMAJ" -lt 2 ] ; then
exit 0
fi
if [ "$KERNELMAJ" -eq 2 -a "$KERNELMIN" -lt 3 ] ; then
exit 0
fi



if /sbin/lsmod 2>/dev/null |grep -q ipchains ; then
# Don't do both
exit 0
fi

iftable() {
if fgrep -qsx $1 /proc/net/ip_tables_names; then
iptables -t "$@"
fi
}

start() {
# don't do squat if we don't have the config file
if [ -f $IPTABLES_CONFIG ]; then
# If we don't clear these first, we might be adding to
# pre-existing rules.
action $"Flushing all current rules and user defined chains:"
iptables -F
action $"Clearing all current rules and user defined chains:"
iptables -X
chains=`cat /proc/net/ip_tables_names 2>/dev/null`
for i in $chains; do iptables -t $i -F; done && \
success $"Flushing all current rules and user defined chains:"
|| \
failure $"Flushing all current rules and user defined chains:"
for i in $chains; do iptables -t $i -X; done && \
success $"Clearing all current rules and user defined chains:"
|| \
failure $"Clearing all current rules and user defined chains:"

for i in $chains; do iptables -t $i -Z; done

echo $"Applying iptables firewall rules: "
grep -v "^[[:space:]]*#" $IPTABLES_CONFIG | grep -v '^[[:space:]]*$' |
/sbin/iptables-restore -c && \
success $"Applying iptables firewall rules" || \
failure $"Applying iptables firewall rules"
echo
touch /var/lock/subsys/iptables
fi
}

stop() {
chains=`cat /proc/net/ip_tables_names 2>/dev/null`
for i in $chains; do iptables -t $i -F; done && \
success $"Flushing all chains:" || \
failure $"Flushing all chains:"
for i in $chains; do iptables -t $i -X; done && \
success $"Removing user defined chains:" || \
failure $"Removing user defined chains:"
echo -n $"Resetting built-in chains to the default ACCEPT policy:"
iftable filter -P INPUT ACCEPT && \
iftable filter -P OUTPUT ACCEPT && \
iftable filter -P FORWARD ACCEPT && \
iftable nat -P PREROUTING ACCEPT && \
iftable nat -P POSTROUTING ACCEPT && \
iftable nat -P OUTPUT ACCEPT && \
iftable mangle -P PREROUTING ACCEPT && \
iftable mangle -P OUTPUT ACCEPT && \
success $"Resetting built-in chains to the default ACCEPT policy" || \
failure $"Resetting built-in chains to the default ACCEPT policy"
echo
rm -f /var/lock/subsys/iptables
}

case "$1" in
start)
start
;;

stop)
stop
;;

restart)
# "restart" is really just "start" as this isn't a daemon,
# and "start" clears any pre-defined rules anyway.
# This is really only here to make those who expect it happy
start
;;

condrestart)
[ -e /var/lock/subsys/iptables ] && start
;;

status)
tables=`cat /proc/net/ip_tables_names 2>/dev/null`
for table in $tables; do
echo $"Table: $table"
iptables -n -t $table --list
done
;;

panic)
echo -n $"Changing target policies to DROP: "
iftable filter -P INPUT DROP && \
iftable filter -P FORWARD DROP && \
iftable filter -P OUTPUT DROP && \
iftable nat -P PREROUTING DROP && \
iftable nat -P POSTROUTING DROP && \
iftable nat -P OUTPUT DROP && \
iftable mangle -P PREROUTING DROP && \
iftable mangle -P OUTPUT DROP && \
success $"Changing target policies to DROP" || \
failure $"Changing target policies to DROP"
echo
iftable filter -F INPUT && \
iftable filter -F FORWARD && \
iftable filter -F OUTPUT && \
iftable nat -F PREROUTING && \
iftable nat -F POSTROUTING && \
iftable nat -F OUTPUT && \
iftable mangle -F PREROUTING && \
iftable mangle -F OUTPUT && \
success $"Flushing all chains:" || \
failure $"Flushing all chains:"
iftable filter -X INPUT && \
iftable filter -X FORWARD && \
iftable filter -X OUTPUT && \
iftable nat -X PREROUTING && \
iftable nat -X POSTROUTING && \
iftable nat -X OUTPUT && \
iftable mangle -X PREROUTING && \
iftable mangle -X OUTPUT && \
success $"Removing user defined chains:" || \
failure $"Removing user defined chains:"
;;

save)
echo -n $"Saving current rules to $IPTABLES_CONFIG: "
touch $IPTABLES_CONFIG
chmod 600 $IPTABLES_CONFIG
/sbin/iptables-save -c > $IPTABLES_CONFIG 2>/dev/null && \
success $"Saving current rules to $IPTABLES_CONFIG" || \
failure $"Saving current rules to $IPTABLES_CONFIG"
echo
;;

*)
echo $"Usage: $0 {start|stop|restart|condrestart|status|panic|save} "
exit 1
esac

exit 0


Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are Off
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT +1. The time now is 09:15 AM.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.0.0