Question about fiewall script....

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I'm in the midst of building VICTORY, my Linux Router/Firewall.

I'm reading the book "Linux Firewalls, Second Edition" by Robert L.
Ziegler, and using a great deal of the 4th chapter to help me protect my
LAN from the 'baddies'.

But I have a question that I can't seem to find an answer for...(beware
this may show extreme newbie stupidity, you've been warned.)

On several occasions, Mr. Ziegler invokes lines simaliar to the
following for IPTABLES rules and I'm not so sure I can follow them.

------------------------------------------------------------------------
if [ "$CONNECTION_TRACKING" = "1" ]; then
	$IPTABLES -A INPUT -i $EXTIF -p tcp --sport 20 \
	-d <Internet Address> --dport $UNPRIVPORTS -m state \
	--state NEW -j ACCEPT
fi
$IPTABLES -A INPUT -i $EXTIF -p tcp --sport 20 -d <Internet Address> \
--dport $UNPRIVPORTS -j ACCEPT
$IPTABLES -A OUTPUT -o $EXTIF -p tcp ! --syn -s <Internet Address> \ 
--sport $UNPRIVPORTS --dport 20 -j ACCEPT
------------------------------------------------------------------------

If I understand his thinking properly, this statement is supposed to
check
to see if the "Connection Tracking" module of IPTABLES/NetFilter is
loaded and if so, use the rule defined inside of the if/fi section.  But
if the "Connection Tracking" module isn't loaded, the firewall will
fallback to the rules that follow, allowing the proper traffic to flow
anyway.  This is supposedly because the "Connection Tracking" module
uses RAM to keep track of it's connections.  And if RAM isn't available,
connections tracking would fail.

So far this makes perfect sense, but I'm not sure that above code does
what he's describing.

My big concern is: No where in the book (that I have yet found) does he
mention that you should or need to set the constant
"CONNECTION_TRACKING"
in the script you're creating.  So, this leads me to believe that the
Connection Tracking module does it as it loads.  It also leads me to
think
that the module controls the state of the constant as it works.

Does someone know if this is the case?  Or maybe be able to point me to
somewhere that I can find out.

Since I'm a newbie, I want to make things as simple as I can - just in
case I screww something up, it'll be easier to find.  But I'm _much_
more concerned With the firewall working and being complete than I am
about syntax.  If my concern isn't valid, someone let me know, and I'll
quit worring about it.  If it _is_ valid, then please diresct me to the
_best_ solution.

Thanks in advance,

Kevin L. Collins, MCSE
Systems Manager
Nesbitt Engineering, Inc.




[Index of Archives]     [Linux Netfilter Development]     [Linux Kernel Networking Development]     [Netem]     [Berkeley Packet Filter]     [Linux Kernel Development]     [Advanced Routing & Traffice Control]     [Bugtraq]

  Powered by Linux