pf blocking nfs
Roland Smith
rsmith at xs4all.nl
Thu Dec 1 00:53:52 GMT 2005
On Wed, Nov 30, 2005 at 05:42:30PM -0600, Aaron Martinez wrote:
> On Wednesday 30 November 2005 11:02, Roland Smith wrote:
> > On Tue, Nov 29, 2005 at 08:58:48PM -0600, Aaron P. Martinez wrote:
> > > I am running FreeBSD 6.0-release and setting up a very basic firewall
> > > using pf on my workstation. The ruleset is as follows:
> > >
> > > block in log all
> > > pass quick on lo0 all
> > > #pass in on $ext_if proto tcp from any to $ext_if port 22 keep state
> > > pass out on fxp0 proto { tcp, udp, icmp } all keep state
> >
> > <snip>
> >
> > > I can't tell why this isn't working. I know that udp is stateless, but i
> > > was inclined to believe that you could still use state tracking with pf.
> > > I'd really like to have the firewall in place when this machine is
> > > connected to the internet...
> >
> > Reading the pf manuals, it is supposed to work.
> >
> > Have you tried explicitly letting the required traffic through?
> >
> > pass out on fxp0 proto { tcp, udp } to $nfsserver port { sunrpc,
> > nfsd-status, nfsd, lockd } keep state
> >
> > Where $nfsserver is the server's IP address.
> >
> > If that still doesn't work, try:
> >
> > pass out on fxp0 proto { tcp, udp } from any to $nfsserver port { sunrpc,
> > nfsd-status, nfsd, lockd } pass in on fxp0 proto { tcp, udp } from
> > $nfsserver to any port { sunrpc, nfsd-status, nfsd, lockd }
> >
> >
> > Roland
>
> I thought for sure the last example here would solve the issue, but i'm still
> stumped. My current ruleset is as follows:
>
> block in log all
> pass quick on lo0 all
> #pass in on $ext_if proto tcp from any to $ext_if port 22 keep state
> pass out on fxp0 proto { tcp, udp, icmp } all keep state
> pass out on fxp0 proto { tcp, udp } to 192.168.3.94 port { sunrpc, nfsd,
> nfsd-status, lockd } keep state
> pass in on fxp0 proto { tcp, udp } from 192.168.3.94 port { sunrpc, nfsd,
> nfsd-status, lockd } keep state
>
> That didn't work so i tried:
>
> block in log all
> pass quick on lo0 all
> #pass in on $ext_if proto tcp from any to $ext_if port 22 keep state
> pass out on fxp0 proto { tcp, udp, icmp } all keep state
> pass out on fxp0 proto { tcp, udp } to 192.168.3.94 port { sunrpc, nfsd,
> nfsd-status, lockd }
> pass in on fxp0 proto { tcp, udp } from 192.168.3.94 port { sunrpc, nfsd,
> nfsd-status, lockd }
I think this should be
pass in on fxp0 proto { tcp, udp } from 192.168.3.94 to any port { sunrpc, nfsd, nfsd-status, lockd }
You could also try:
pass in on fxp0 proto { tcp, udp } from 192.168.3.94 to $workstation
pass out on fxp0 proto { tcp, udp } from $workstation to 192.168.3.94
If that doesn't work, I don't know what will.
> which was even worse, with this setup i couldn't even switch to the /home
> directory.
>
> Still no go. I'm not sure if i have to reboot after changing the pf.conf
> ruleset, i have just been stopping pf with pfctl -d, flushing the rules with
> pfctl -F rules, loading the modified rules from /etc/pf.con with, pfctl
> -f /etc/pf.conf and then re-enabling pf with, pfctl -e. Hope someone can
> shed some light on this. Part of my whole reason for switcing to the BSDs
> was my interest in pf, but this not keeping state is really letting me down.
I think the best way is to use '/etc/rc.d/pf reload'.
> I've said this before but i feel like it's worth mentioning again, even with
> the single line:
> pass out on fxp0 proto { tcp, udp, icmp } all keep state
>
> i can switch to the /usr/home directory and even go into any directory that
> doesn't have a lot of files/folders in it. I only seem to have problem with
> one home directory that is really loaded up.
In your original post, there was something about a short packet. I'm
guessing this might screw things up. You might try adding 'scrub in all'
before the filtering rules.
Roland
--
R.F.Smith (http://www.xs4all.nl/~rsmith/) Please send e-mail as plain text.
public key: http://www.xs4all.nl/~rsmith/pubkey.txt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-questions/attachments/20051201/fc8e68ba/attachment.bin
More information about the freebsd-questions
mailing list