Here are my updated rules.
It's still not working though.
Code:
nat on xl1 from 192.168.1.0/24 to any -> (xl1)
nat on xl1 from 192.168.2.0/24 to any -> (xl1)
rdr pass on xl1 inet proto tcp from any to xl1 port 666 \
-> 192.168.1.20
pass proto tcp from 192.168.1.20 to any port 666 \
flags S/SA keep state
pass out quick on xl0 inet proto tcp from any to 192.168.1.20 port 666
I have printed the PF User guide and read it multiple times. I've also looked at past threads and the list Daemon Forums PF guide list sticky thread.
I was going to resort to using pflog but I figured I would come here first.