Introduccion:
Requerimientos:
* Conexion a Internet
* FreeBSD instalado
* Leer este manual
Diagrama:
ISP---(ext_if)-[FreeBSD]-(int_if)---Switch---LAN
\
'-(dmz_if)
El proceso:
Hacer que PF se cargue con el sistema editando /etc/rc.conf
# edit /etc/rc.conf
Agregar las lineas
# Activamos OpenBSD Packet Filter (PF)
pf_enable="YES" # Enable PF (load module if required)
pf_rules="/etc/pf.conf" # rules definition file for pf
pf_flags="" # additional flags for pfctl startup
pflog_enable="YES" # start pflogd(8)
pflog_logfile="/var/log/pflog" # where pflogd should store the logfile
pflog_flags="" # additional flags for pflogd startup
gateway_enable="YES" # Enable as LAN gateway (PF)
Activar el enrutamiento en el FreeBSD
# sysctl net.inet.ip.forwarding=1
Crear el archivo con las politicas usando el de ejemplo
# cp /usr/share/examples/pf/pf.conf /etc
Editelo y ajuste las macros de red
# edit /etc/pf.conf
Debe quedar similar a este
# egrep -v '#|^ *$' /etc/pf.conf
ext_if="bge0"
int_if="bge1"
table <spamd-white> persist
set skip on lo
scrub in
nat-anchor "ftp-proxy/*"
rdr-anchor "ftp-proxy/*"
nat on $ext_if from !($ext_if) -> ($ext_if:0)
rdr pass on $int_if proto tcp to port ftp -> 127.0.0.1 port 8021
no rdr on $ext_if proto tcp from <spamd-white> to any port smtp
anchor "ftp-proxy/*"
block in
pass out
pass quick on $int_if no state
antispoof quick for { lo $int_if }
pass in on $ext_if proto tcp to ($ext_if) port ssh
pass in log on $ext_if proto tcp to ($ext_if) port smtp
pass out log on $ext_if proto tcp from ($ext_if) to port smtp
pass in on $ext_if inet proto icmp from any to ($ext_if) icmp-type { unreach, redir, timex }
Nota:
Al final de este manual esta el link para descargar un pf.conf muy completo
Cargar el modulo PF
# /etc/rc.d/pf start
Los comandos basicos son:
Verifica el archivo sin aplicar las reglas
# pfctl -nf /etc/pf.conf
Verifica el archivo y muestra como si aplicara las reglas sin hacerlo
# pfctl -nvf /etc/pf.conf
Cargar las reglas
# pfctl -f /etc/pf.conf
Muestra las reglas actuales de filtrado
# pfctl -sr
Muestra las reglas actuales de nat
# pfctl -sn
Recuerde que si hace cambios en /etc/pf.conf debe recargar PF
# pfctl -f /etc/pf.conf
Si quiere aqui estan los archivos de configuracion:
Google Drive
No comments:
Post a Comment