I'm trying to configure my firewall (PF) on FreeBSD to let NFS traffic through.
I know that NFS uses both TCP and UDP to connect to the client along with a bunch of daemons that use random port numbers. Both the NFS server and client are Ubuntu 10.04. Instead of using port numbers for the filtering, I simply used the IP addresses of the client and server to allow the connection. The pf.conf rules pertaining to NFS are:
pass in log quick from external to NFS
pass out log quick from NFS to external
As you can see, the external name is the client and NFS is the server. Both are resolved to their IP addresses. The problem is that some of the packets are being stopped by PF with the following error:
11:38:52.440123 IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto TCP (6), length 60)
NFS-lan0.sunrpc > External-lan1.38390: tcp 40 [bad hdr length 0 - too short, < 20]
What do I need to change to let these packets through?