Hello all, may you give me any advices to my PF settings according to FTP client behind PF.
Just one simple aim
My freebsd base and jails can ftp/fetch smoothly behind PF during installing ports.
It do not provide any ftpd service.
Networking enviroment
1. 7.2R-p4 FreeBSD is behind router's NAT
2. FreeBSD have one NIC only
3. FreeBSD have three service jails for web, pgsql, sendmail
4. I put FreeBSD base and all jails behind base's PF by ip base rules on the NIC
5. Outside world connect to my web, sendmail by router's port forwarding feature.
Hence, my base ,serivce jails are behind PF and router' NAT
Disable PF it can ftp, but fail after enable PF
This prove me that networking is ok. The problem is PF configuration.
I want to use ftp-proxy but never success
OpenBSD PF FAQ, Issues with FTP, section FTP Client behind the firewall
http://www.openbsd.org/faq/pf/ftp.html
I follow this instrustion but never success. I guess it is casued by my
networking environment, only One NIC and the FreeBSD is behind router's NAT.
The sample config code from this FAQ is not suitable to my scenario.
Using rdr + filter rule, I can ftp with PF
Now, I redirect ftp port from FreeBSD base / jails to router ip directly.
Adding outcoming filter to permit ftp ports out from target
Adding incoming filter to accept remote ftp come to target
PF code according to FTP
With above list, rdr rules and filter rules, I can passive ftp from base
or from jails which are behind PF as well as router' NAT
Some questions
1. question about ftp-proxy
Can ftp-proxy solve my ftp problem too ?
2. question about ip.port.range
My FreeBSD 7.2R-p4 amd64 portrange values
Is it safe to rdr / pass in 49152:65535 port range ?
Just one simple aim
My freebsd base and jails can ftp/fetch smoothly behind PF during installing ports.
It do not provide any ftpd service.
Networking enviroment
1. 7.2R-p4 FreeBSD is behind router's NAT
2. FreeBSD have one NIC only
3. FreeBSD have three service jails for web, pgsql, sendmail
4. I put FreeBSD base and all jails behind base's PF by ip base rules on the NIC
5. Outside world connect to my web, sendmail by router's port forwarding feature.
Hence, my base ,serivce jails are behind PF and router' NAT
Disable PF it can ftp, but fail after enable PF
This prove me that networking is ok. The problem is PF configuration.
I want to use ftp-proxy but never success
OpenBSD PF FAQ, Issues with FTP, section FTP Client behind the firewall
http://www.openbsd.org/faq/pf/ftp.html
I follow this instrustion but never success. I guess it is casued by my
networking environment, only One NIC and the FreeBSD is behind router's NAT.
The sample config code from this FAQ is not suitable to my scenario.
Using rdr + filter rule, I can ftp with PF
Now, I redirect ftp port from FreeBSD base / jails to router ip directly.
Adding outcoming filter to permit ftp ports out from target
Adding incoming filter to accept remote ftp come to target
PF code according to FTP
Code:
my_if="em0"
my_router="192.168.1.1"
base_ip="192.168.1.7"
jail_httpd="192.168.1.50"
rdr pass on $my_if inet proto { tcp udp } from $base_ip to \
any port ftp -> $my_router port 55021
rdr pass on $my_if inet proto { tcp udp } from $base_ip to \
any port ftp-data -> $my_router port 55020
rdr pass on $my_if inet proto { tcp udp } from $jail_httpd to \
any port ftp -> $my_router port 55031
rdr pass on $my_if inet proto { tcp udp } from $jail_httpd to \
any port ftp-data -> $my_router port 55030
pass out quick on $my_if inet proto tcp from \
{ $my_ip, $jail_httpd } to any port { ftp, ftp-data }
pass in quick on $my_if inet proto tcp from any to \
{ $my_ip, $jail_httpd, $jail_pgsql, $jail_mail } \
port >49152
or from jails which are behind PF as well as router' NAT
Some questions
1. question about ftp-proxy
Can ftp-proxy solve my ftp problem too ?
2. question about ip.port.range
My FreeBSD 7.2R-p4 amd64 portrange values
Code:
net.inet.ip.portrange.randomtime: 45
net.inet.ip.portrange.randomcps: 10
net.inet.ip.portrange.randomized: 1
net.inet.ip.portrange.reservedlow: 0
net.inet.ip.portrange.reservedhigh: 1023
net.inet.ip.portrange.hilast: 65535
net.inet.ip.portrange.hifirst: 49152
net.inet.ip.portrange.last: 65535
net.inet.ip.portrange.first: 49152
net.inet.ip.portrange.lowlast: 600
net.inet.ip.portrange.lowfirst: 1023