Date: Thu, 6 Mar 2003 08:55:13 -0800 (PST) From: Dave McCammon <davemac11@yahoo.com> To: freebsd-questions@FreeBSD.ORG Subject: Re: firewall revisited Message-ID: <20030306165513.86475.qmail@web41404.mail.yahoo.com> In-Reply-To: <20030305223644.GA29314@gothmog.gr>
next in thread | previous in thread | raw e-mail | index | archive | help
--- Giorgos Keramidas <keramida@ceid.upatras.gr> wrote: > On 2003-03-05 09:32, Brian Henning > <b1henning@hotmail.com> wrote: > > Hello- > > currently my rc.conf is set up like this for my > gateway router. > > gateway_enable="YES" > > firewall_enable="YES" > > firewall_type="OPEN" > > natd_enable="YES" > > natd_interface="rl1" # natd -interface rl1, > public interface > > natd_flags="" # sysctl > net.inet.ip.forwarding=1 > > > > how can i have the script /etc/ipfw.rules run > instead of > > /etc/rc.firewall. can i change > > firewall_type="OPEN" to firewall_type="" and > create the entry > > firewall_script="/etc/ipfw.rules"? > > Why are you confused? > > That depends on what you're trying to do and what > the contents of > /etc/ipfw.rules are. There are currently the > following ways to set up > a completely custom set of firewall rules: > > 1. Rewrite /etc/rc.firewall > > This can easily be done, if you replace > /etc/rc.firewall with your > custom script. This isn't recommended though > since you'd have to > carefully track all changes to the official > version of the > rc.firewall script and merge any interesting > stuff back to your > version of the script. > > 2. Add a new firewall "type" to rc.firewall > > Copying one of the existing firewall types you > cann easily add a > new one, and make sure that it loads all (and > only) the ipfw(8) > rules that you want. This can be difficult to > keep up to date > after changes to the rc.firewall script, but not > as difficult to > keep up to date as option #1. > > 3. Write your own version of a firewall script > > Copy `rc.firewall' to a new script (i.e., > `rc.firewall.local') and > make your changes to the new script. Then set > firewall_script to > point to the new script in `/etc/rc.conf'. For > example: > > % cat /etc/rc.firewall.local > fwcmd="/sbin/ipfw" > ${fwcmd} -q flush > ${fwcmd} add 1 pass ip from any to any > > % grep firewall_script /etc/rc.conf > firewall_script="/etc/rc.firewall.local" > > This is a fairly nic way of doing things, but it > doesn't work > correctly if you want to tweak the way ipfw(8) is > called by > settings things like firewall_quiet="YES" in your > `rc.conf' file. > Mostly because the logic for all those > firewall_xxx options is > implemented as part of the existing `rc.firewall' > script. > > 4. Create a ruleset file, and point rc.firewall to > it > > You can always write your own set of firewall > rules, without a > ${fwcmd} prefix, and save it to a file, i.e. > `/etc/ipfw.rules'. > This is a plain text file that contains *only* > firewall rules. > No shell commands. You can use `#' for comments > (as shown in the > sample file below): > > % cat /etc/ipfw.rules > flush > add allow ip from any to any > > Then you just need to make sure that your > `rc.conf' contains the > following two lines: > > firewall_enable="YES" > firewall_type="/etc/ipfw.rules" > > The firewall_type value is the *FULL* path to the > ruleset file. It > is important to include the leading `/' > character. This way, > ipfw(8) will know that this is the path of a rule > file and not the > name of a command (like `add' in `ipfw add ...'). > > This is the way I usually prefer setting ipfw(8) > up. For various > reasons. One of them is that my firewall rules > are not lost in > between the lines of some shell script that I > don't remember I have > edited. Another reason is that having made no > changes to the > original `rc.firewall' script, there is no need > to take care for > merging changes later with mergemaster(8). > > Phew. This was long. > GREAT Explanation. The difference in using firewall_script and firewall_type ought to be outlined in the Handbook. __________________________________________________ Do you Yahoo!? Yahoo! Tax Center - forms, calculators, tips, more http://taxes.yahoo.com/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030306165513.86475.qmail>