4. ftp-proxy: para usar ftp desde la red interna

Las características del protocolo ftp hacen que sea difícil emplearlo desde una red interna con un cortafuegos que hace NAT. pf ofrece facilidades para lograrlo en conjunto con el programa /usr/sbin/ftp-proxy que redirige conexiones ftp a su destino y automáticamente agrega reglas a pf que permitan la conexión.

El siguiente ejemplo ejemplifica parte del archivo /etc/pf.conf para esto:

# En la sección nat/rdr
pass on $int_if proto tcp from $lan to any port 21 
match in on $int_if proto tcp from $lan to any port 21 rdr-to 127.0.0.1 port 8021

# En la sección de reglas de filtrado
pass out proto tcp from $ext_ip to any port 21

[Aviso]Aviso

Para emplear ftp-proxy asegurese que entre las reglas de su cortafuegos no esté:

set skip $int_if
	

porque esto impediría la redirección al puerto 8021 (por defecto usado por ftp-proxy) del cortafuegos cuando se hacen peticiones de ftp.

Además de las reglas del cortafuegos (recuerde reiniciar pf con pfctl -f /etc/pf.conf para que surtan efecto) debe iniciar el proxy con:

	/usr/sbin/ftp-proxy

y para que se efectúe en cada arranque del servidor agregar a /etc/rc.conf.local:

ftpproxy_flags=""

4.1. Referencias y lecturas recomendadas

Las siguientes páginas man: ftp-proxy(8), pf(4).

Guía del usuario de PF [PF].