I've described the similar problem here already: http://forums.freebsd.org/viewtopic.php?f=7&t=44953 . I did suggest the workaround too.
Recently I shared somewhat big files (~30GB) over http. FreeBSD 10/PF/jails/apache22 under the hood. I encountered the same problem as in VPN connection described above - download was aborted prematurely. When I looked at traffic with tcpdump I saw incoming RST packet from the FreeBSD server just before connection was dropped. Web server itself is working (meaning semi-static html contents is displayed correctly).
I had to move apache out of jail (to avoid using rdr in PF) to make it all work.
I see this behavior in FreeBSD 10. Have any of you encountered the similar problem ?
Setup is the following:
ext_if - some public IP on external interface
int_if / loopback - internal or dummy interface
basic PF skeleton:
As it is vacation period I didn't have much time to do deeper tests on my machine. I will try to do deeper tests before submitting PR. I am, however, curious if somebody else did encounter the same problem.
Recently I shared somewhat big files (~30GB) over http. FreeBSD 10/PF/jails/apache22 under the hood. I encountered the same problem as in VPN connection described above - download was aborted prematurely. When I looked at traffic with tcpdump I saw incoming RST packet from the FreeBSD server just before connection was dropped. Web server itself is working (meaning semi-static html contents is displayed correctly).
I had to move apache out of jail (to avoid using rdr in PF) to make it all work.
I see this behavior in FreeBSD 10. Have any of you encountered the similar problem ?
Setup is the following:
ext_if - some public IP on external interface
int_if / loopback - internal or dummy interface
basic PF skeleton:
Code:
# LOCAL_NET - local net on dummy/internal iface
# IP_PUB - nat-to IP (on ext_if)
# PORT_WWW - port to rdr
# IP_JAIL_WEBSERVER - IP from LOCAL_NET
nat pass on $ext_if from $LOCAL_NET to any -> $IP_PUB
rdr pass on $ext_if proto tcp to $IP_PUB port $PORT_WWW -> $IP_JAIL_WEBSERVER
pass in all
pass out all