bin/71490: ftp-proxy or rdr@pf not working
Divacky Roman
xdivac02 at stud.fit.vutbr.cz
Wed Sep 8 03:40:24 PDT 2004
>Number: 71490
>Category: bin
>Synopsis: ftp-proxy or rdr at pf not working
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Wed Sep 08 10:40:24 GMT 2004
>Closed-Date:
>Last-Modified:
>Originator: Divacky Roman
>Release: FreeBSD 5.3-BETA3 i386
>Organization:
home
>Environment:
FreeBSD queeg500 5.3-BETA3 FreeBSD 5.3-BETA3 #5: Tue Sep 7 13:01:38 CEST 2004
rdivacky at queeg500:/usr/obj/usr/src/sys/QUEEG i386
>Description:
I've got following problem
with this pf.conf
ext_if="vr0"
int_if="xl0"
#normalize packets
scrub in all
altq on $ext_if bandwidth 256Kb cbq queue {ssh_i web other}
queue ssh_i bandwidth 25% cbq(borrow ecn)
queue web bandwidth 25% cbq(borrow ecn)
queue other bandwidth 50% cbq(borrow default ecn)
#nat
nat on $ext_if from $int_if:network to any -> ($ext_if)
#ftp redirection
rdr on $int_if proto tcp from any to any port 21 -> 127.0.0.1 port 8021
#rules
#default to block all
#block in on $ext_if all
#pass all out while keeping state. and queue it
pass out on $ext_if from any to any keep state queue other
#queuing
pass on $ext_if proto tcp from any to any port ssh keep state queue(ssh_i, other)
pass out on $ext_if proto tcp from any to any port http keep state queue web
#ftp proxy
pass in on $ext_if inet proto tcp from any to any user proxy keep state queue other
#allow icmp
pass in on $ext_if inet proto icmp from any to any
(notice that its in fact pass all configuration)
and properly configured inetd to run ftp-proxy I tried to debug inetd
it waited in this
574 if ((n = select(maxsock + 1, &readable, (fd_set *)0,
(gdb)
then I on the machine behind nat issued ftp command... the select stayed the
same (ie. no packets arrived) and in pfctl -sa I found this:
STATES:
self tcp 127.0.0.1:8021 <- 195.113.15.29:21 <- 10.0.0.2:60059 CLOSED:SYN_SENT
so the connection was established but then died for an unknown reason
so I suppose there's something rotten in pf/ftp-proxy... (since the
configuration is correct)
the fbsd in question is 6-current as of:
witten inetd# uname -a
FreeBSD witten 6.0-CURRENT FreeBSD 6.0-CURRENT #123: Mon Sep 6 15:42:35 CEST
2004 root at witten:/usr/obj/usr/src/sys/NEOLOGISM i386
but I also got it on releng_5
simply said ftp-proxy (used to provide ftp access to outer ftp for machines
behind nat) doesnt work (at least for me)
thnx for looking at it
>How-To-Repeat:
try to set up ftp-proxy using my pf.conf and use the ftp from machines behind
the nat...
>Fix:
I am not aware of any fix
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list