On Mon, Apr 18, 2005 at 02:09:12PM -0400, Jason Murray wrote:
> I'm trying to set up a tftp server to host the configs of some PIX 
> boxes. The PIXes and the tftp server are separated by a pf box. And 
> before anyone gets smart and says "why not replace the PIXes with PF" 
> that's a non-starter. I'd love to, but it ain't going to happen.
> 
> Anyway onto the the problem. I see the tftp traffic pass in:
> Apr 18 13:46:59.438588 rule 23/0(match): pass in on de3: 
> 172.17.16.250.1034 > 192.168.42.20.69:  32 WRQ "wsg-conf-200504180" [|tftp]
> Apr 18 13:46:59.438727 rule 25/0(match): pass out on xl0: 
> 172.17.16.250.1034 > 192.168.42.20.69:  32 WRQ "wsg-conf-200504180" [|tftp]
> 
> I see the daemon start from inetd and accept the connection.
> 
> Then I get this:
> Apr 18 13:46:59.445133 rule 0/0(match): block in on xl0: 
> 192.168.42.20.34472 > 172.17.16.250.1034:  udp 21 (DF)
> 
> Two questions:
> 1) is this "normal" tftp behaviour? I've not fooled around with it 
> before. I would have expected a trivial file transfer protocol to reuse 
> the existing sockets.

Yes this is the normal, braindead tftp behaviour.

> 2) any suggestions on how to adapt the rules to deal with this? 
> Obviously keep state is not enough, but I'm sure this has been solved 
> before.

Hm, if you are running PF on the tftp box, you can match the
outgoing packets as 'user _tftp'

If your PF box is separate, you would have to use a userland
tftp proxy (no such thing exists afaik) or something like

        pass from $tftp_server proto udp port > 1024 to ...

Can

Reply via email to