I'm trying to setup pf to allow one machine on my network to play (and
even host) Age of Empires III.
I've tried a myrid of different settings in my pf.conf with the
following as present.
....
rdr on $ext_if proto tcp from any to $ext_if port 2300 tag AOE -> $gamer
port 2300
rdr on $ext_if proto udp from any to $ext_if port 2300:2310 tag AOEUDP
-> $gamer
block log all
pass in quick on $ext_if tagged AOEUDP keep state
pass in quick on $ext_if tagged AOE keep state
pass out quick on $int_if tagged AOE keep state
pass out quick on $int_if tagged AOEUDP keep state
....
With

pass out on $ext_if proto tcp all keep state

thrown in the last line for good measure.

With this I can at least join a game (sort of, it will still kick me out
once in a while).  However I can't host a game.  I have to use a crappy
netgear (reboot my router which kills all my web services) to host a
game.  When I try  to host pf blocks UDP, even though it's allowed. 


tcpdump -ttt -eni pflog0
tcpdump: WARNING: pflog0: no IPv4 address assigned
tcpdump: listening on pflog0, link-type PFLOG
Jan 17 23:50:12.654480 rule 0/(match) block in on xl0: 24.83.xx.xxx.2300
> my.ip.ad.dr.63973:  udp 40 [tos 0x20]
Jan 17 23:50:12.767156 rule 0/(match) block in on xl0: 24.83.xx.xxx.2300
> my.ip.ad.dr.63973:  udp 40 [tos 0x20]
Jan 17 23:50:12.810197 rule 0/(match) block in on xl0: 24.83.xx.xxx.2300
> my.ip.ad.dr.63973:  udp 10 [tos 0x20]

With my.ip.ad.dr being the IP on $ext_if


Rule 0 is the block log all.

Is there some kind of game UDP proxy like FTP has?  It seems silly to me
that I can get this to work on a POS netgear, but not in pf.  Any ideas,
suggestions, cursing, or scolding's would be greatly appreciated.  I'm
at the end of what I know how to do, I've spent almost a month on this
(and learned a lot about pf in the process)

Reply via email to