pf + ftp troubles.

Andrey A. Belashkov virus at virus.org.ua
Thu Mar 6 14:19:17 UTC 2008


Hello.
I need setup non standart nat rules by pf for ftp.
All outgoing ftp connections must nat behind 172.16.5.10 address
assigned by mpd to ng0.

I setup mpd, interface is up and if i use as source address 172.16.5.10
for ftp all is fine. But ftp function in php cant choose source address,
so i need use nat.

When i setup pf with rules:
set optimization normal
set block-policy return
scrub in all
nat on em0 from any to any port { 20 21 } -> 172.16.5.10
nat-anchor "ftp-proxy/*"
rdr-anchor "ftp-proxy/*"
rdr on ng0 proto tcp from any to any port 21 -> 127.0.0.1 port 8021
anchor "ftp-proxy/*"
pass out quick on em0 route-to { (ng0 172.16.5.1) } from 172.16.5.10 to any keep state
pass in all
pass out all

and start ftp-proxy with keys "-a 172.16.5.10 -r -vv -m 500" and try to
connect any ftp server - server respond and show me his login prompt.
But when i try list files on ftp, client cant setup data connection. 
In passive and in active modes.

How i can fix this problem?

OS: FreeBSD 7.0-RELEASE

Thanks,
Andrey.


More information about the freebsd-pf mailing list