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>
