Hi there,

I have a very simple PF conf that doesn't seem to be working on a fresh install of 4.2. I have 1 network adapter, pcn0 (10.0.0.124), net.inet.ip.forwarding=1, pfctl -e

Rules:
int_if="pcn0"
rdr log (all) on $int_if inet proto tcp from any to any port 7000 -> 127.0.0.1 port 8000 rdr log (all) on $int_if inet proto tcp from any to any port 7001 -> 10.0.0.10 port 8001
pass all

Running:
nc -l 8000 (on openbsd box)
nc -l -p 8001 (on 10.0.0.10, debian box)

Results:
telnet 10.0.0.124 7000 => works just fine, talks to local netcat
telnet 10.0.0.124 7001 => nothing... just times out

Debug:
tcpdump -n -e -ttt -i pflog0
rule 0/(match) rdr in on pcn0: 10.0.0.165.2097 > 127.0.0.1.8000: [|tcp] (DF) rule 0/(match) rdr out on pcn0: 10.0.0.124.7000 > 10.0.0.165.2097: [|tcp] (DF)
 (etc... works fine)
rule 1/(match) rdr in on pcn0: 10.0.0.165.2098 > 10.0.0.10.8001: [|tcp] (DF) rule 1/(match) rdr in on pcn0: 10.0.0.165.2098 > 10.0.0.10.8001: [|tcp] (DF)
 (etc... no reply back)

I can telnet straight to 10.0.0.10 8001 from both testing box (.165) and openbsd box, but as soon as there is the extra hop in the middle it all stops working. tcpdump appears to say its going out properly. Am I missing something really really obvious??

Any help most appreciated, I'm really stumped by this!
Thanks, and apologies if it's a stupid question.
--Michael Adams

Reply via email to