He considerado ir agregando los enlaces a las páginas a la cuales he recurrido para encontrar la información dado que existen algunos puntos que ustedes pueden detallar directamente.
Habilitando PF (Packet Filter)
- Editar /etc/rc.conf para actualizar o agregar las siguientes líneas:
gateway="YES"pf_enable="YES"pflog_enable="YES"
- ingresar a: /usr/src/sys/amd64/conf ( si es a 32bits /usr/src/sys/i386/conf)
- crear una copia de GENERIC por ejemplo K_ALTQ
cp GENERIC K_ALTQ - Editar K_ALTQ y agregar las siguientes líneas:
Los siguientes pasos hablitarán algunas opciones en el KERNEL por lo que debe recompilarse:device pf
device pflogdevice pfsyncoptions ALTQoptions ALTQ_CBQoptions ALTQ_REDoptions ALTQ_RIOoptions ALTQ_HFSCoptions ALTQ_PRIQoptions ALTQ_NOPCCGrabar y salir.
ejecutar:
config K_ALTQresponderá: Kernel build directory is ../compile/K_ALTQ, Don´t forget to ''make cleandepend && make depend''
ingresar a ../compile/K_ALTQ
make cleandepend && make depend
make
make install
luego reiniciar el equipo para que se active el nuevo kernel con la configuración de PF+ALT
- editar /etc/pf.conf
- definir los valores de: ext_if y int_if, para el caso que estoy trabajando la tarjeta Externa es em0 y la Interna es em1, con ifconfig se puede determinar estos valores, la tarjeta de red que da cara al exterior de la red (puede ser internet) tiene puerta de enlace definida, mientras que la tarjeta interna que da cara a la red LAN, carece de puerta de enlace
para este caso:
ext_if="em0"
int_if="em1" - Para habilitar el NAT desde PF se declara la siguiente regla:nat on $ext_if from ($int_if:network) -> ($ext_if:0)
Para permitir el funcionamiento de NAT previamente hay que activar esta funcion a nivel del FreeBSD editando el archivo /etc/sysctl.conf (requiere reinicio)
hay que agregar la siguiente línea:
net.inet.ip.forwarding=1 - una regla básica puede ser: por defecto bloquear toda la entrada y toda la salida
block in all
block out all - Luego hay que permitir la comunicción hacia loopback
pass quick on lo0 all - Permitir la comunicación con la red lan
pass in on $int_if from ($int_if:network) to any
pass out on $int_if from any to ($int_if:network) - Luego se puede habilitar las reglas de acceso según la necesidad que se tenga:
pass out on $ext_if proto tcp all modulate state flags S/SA#por ejemplo permitir todo el tcp de salida
http://www.openbsd.org/faq/pf/es/index.html
No hay comentarios.:
Publicar un comentario