consulta pfctl

Luis Sandoval zerox en systat.cl
Mar Ene 22 23:36:54 CLST 2008


hola,


El mar, 22-01-2008 a las 17:42 -0300, Rodrigo Cuevas A. escribió:
> Hola jóvenes, una consulta sobre pf.
> 
> Tenía la duda de como recargar el archivo de reglas de PF, y me encontré 
> con que la "solución" es hacer lo siguiente:
> 
> pfctl -Rf /etc/pf.conf
Depende. Sera solucion "solo" si quieres recargar reglas de filtrado
ignorando otro tipo de reglas y opciones que tengas en /etc/pf.conf
(como las reglas de nat por ejemplo)

Si quieres recargar todo el conjunto de reglas sin perder las tablas de
estados debes usar:

pfctl -f /etc/pf.conf


> sin embargo, esta ejecución me entrega el siguiente error:
> 
> pfctl: Must enable table loading for optimizations

> Entonces la consulta es:
> 
> esto produce algún error?, es muy terrible no tener optimización en las 
> reglas?, alguien ha tenido problemas?
El error se produce ya que en tu archivo /etc/pf.conf incluyes tablas y pfctl te pide recargarlas. Como esto no lo haces, pfctl no carga el resto de reglas y esto si puede ser un problema :(


> Para eliminar el error, en algunos foros recomiendan el uso de otro switch:
> 
> pfctl -R -onone -f /etc/pf.conf

> Lo cual tiene sentido, si únicamente no quiero ver el error, dado que 
> según mi interpretación, de todas formas la optimización no se realizará.

> Algún comentario al respecto?

La optimizacion viene activa por defecto y lo que hace el parametro -onone es  desactivar el optimizador en esa carga sin recargar las tablas y solo cargando las reglas de filtrado ignorando cualquier otra regla.

Una solucion, si lo que quieres es recargar las reglas de filtrado
(ignorando el resto) y ademas tener la optimizacion es recargar ademas
las tablas, esto lo logras ejecutando:
pfctl -Tl -Rf /etc/pf.conf



> Por si alguien me sugiere: "pfctl -d -e /etc/pf.conf", no es la idea. No 
> quiero perder conexiones ni nada parecido.
                         
Si ejecuto eso me da error.                                                                                                                             
pfctl -d -e /etc/pf.conf
pfctl: unknown command line argument: /etc/pf.conf 

El ejecutar pfctl -d desactiva pf, pero no borra las reglas ni tablas de
estados, si lo vuelves a activar con pfctl -e queda todo igual como
antes. 

Para resetear y borrar todo lo mejor es ejecutar:
pfctl -Fa -f /etc/pf.conf



saludos,


Luis Sandoval

Pd: que emocion, la lista esta con vida :)




Más información sobre la lista de distribución BSD