_____ _____
| |_________________| |____________WAN
|____| |____|
Windows FreeBSD
Lo primero que tuve que hacer fue recompilar mi kernel para añadir dos opciones que son las siguientes:
options IPFIREWALL
options IPDIVERT
Pero donde rayos pongo eso??

Bien nos vamos hasta este directorio
Código:
cd /usr/src/sys/i386/conf
Ahi encontraremos un archivo llamado GENERIC pues bien vamos a sacar una copia de ese srchivo que es el que modificaremos
Código:
cp GENERIC ALFA
En este caso le puse ALFA, podeis llamarle como quieras pero recordad ese nombre.
Abrimos el archivo para editarlo:
Código:
ee ALFA
y añadimos las dos opciones que mencione al principio:
Código:
options IPFIREWALL
options IPDIVERT
options IPDIVERT
Bien ahorita toca compilar primero nos vamos al directorio /usr/src
Código:
cd /usr/src
Ahora compilamos nuestro kernel, recordad yo le llame ALFA aqui ustedes poned el nombre que habreis puesto antes.
Código:
make buildkernel KERNCONF=ALFA
Este proceso tardara un poco de tiempo podras ver como por tu pantalla pasan cientos y cientos de lineas rapidamente al estilo matrix
que no cunda el panico que seguimos en el mundo real.Cuando todo ese show termina sigue poner nuestro nuevo kernel como el bueno, el master, el chicho o sea que ese sea el funcional a la hora de arrancar nuestro BSD
Código:
make installkernel KERNCONF=ALFA
Aqui tambien se repetira el efecto anterior y no no es un dejavu no es una falla de la matrix XD.
bien hasta aqui todo bien ahora editamos nuestro archivo rc.conf
Código:
ee /etc/rc.conf
dejo una copia de mi archivo, mas que una copia es solo la informacion relevante que servira para hacer el puente. Poned lo mismo es su propio archivo claro sustituyendo los datos de su BSD, como el nombre de las interfaces.
Código:
# -- sysinstall generated deltas -- # Sat Oct 25 10:04:51 2008
# Created: Sat Oct 25 10:04:51 2008
# Enable network daemons for user convenience.
# Please make all changes to this file, not to /etc/defaults/rc.conf.
# This file now contains just the overrides from /etc/defaults/rc.conf.
hostname="miserver.local"
#Configuracion de firewall IPFW
firewall_logging="YES"
firewall_enable="YES" #habilitamos al cargar el sistema
firewall_type="open" #tipo de proteccion
firewall_quiet="NO"
#configuracion de la red
gateway_enable="YES" #habilitar el gateway o sysctl net.inet.ip.forwarding=1
natd_enable="YES"
natd_interface="rl0" #interfaz q se conecta al modem
natd_flags="-u -m -dynamic"
network_interfaces="rl0 rl1 lo0"
defaultrouter="NO"
static_routes="NO"
router_enable="NO"
router="routed"
router_flags="-q"
forward_sourceroute="NO"
accept_sourceroute="NO"
# Created: Sat Oct 25 10:04:51 2008
# Enable network daemons for user convenience.
# Please make all changes to this file, not to /etc/defaults/rc.conf.
# This file now contains just the overrides from /etc/defaults/rc.conf.
hostname="miserver.local"
#Configuracion de firewall IPFW
firewall_logging="YES"
firewall_enable="YES" #habilitamos al cargar el sistema
firewall_type="open" #tipo de proteccion
firewall_quiet="NO"
#configuracion de la red
gateway_enable="YES" #habilitar el gateway o sysctl net.inet.ip.forwarding=1
natd_enable="YES"
natd_interface="rl0" #interfaz q se conecta al modem
natd_flags="-u -m -dynamic"
network_interfaces="rl0 rl1 lo0"
defaultrouter="NO"
static_routes="NO"
router_enable="NO"
router="routed"
router_flags="-q"
forward_sourceroute="NO"
accept_sourceroute="NO"
si se dan cuenta aqui habilito el ipfw (firewall) al inicio y le doy el el tipo "open" es decir que sea abierto sin reglas, hay mas opciones "simple", "unknow", etc para mas informacion sobre IPFW recomiendo leer de la pagina de freebsd.
http://www.freebsd.org/doc/en/books/handbook/firewalls-ipfw.html
pues bien ahora toca reiniciar.
.
.
.
.
Estamos nuevamente arriba y toca configurar nuestras tarjetas una para salir a internet y la otra para controlar lo que entra y sale de nuestra lan ( en este caso una pc con windows. linux, bsd, o tambien conectar un switch y controlar mas de una pc).
La interfaz que sale a internet es decir la que se conecta a l modem le he dejado direcciones dinamicas. y a la otra direcciones estaticas de la siguiente manera:
_____ _____
| |_________________| |____________WAN
|____| |____|
Windows FreeBSD
ip: 192.168.0.2 ip:192.168.0.1 ip:dinamica
NM:255.255.255.0 NM:255.255.255.0
gateway:192.168.0.1
y ahora a probar con lo mas basico recuerda por si acaso deshabilitar firewall para hacer las pruebas de conectividad en tu cliente. ya cuando todo funcione poner las reglas pertinentes para que todo fluya de manera segura.
Por si tienes problemas del tipo que no puedes tener internet en tu pc cliente prueba poner una regla (en BSD por supuesto ) que permita fluir trafico desde y hacia cualquier interfaz algo como esto
Código:
ipfw -q add pass all from any to any
Esto que acabo de poner es una aberracion yo lo se pero recuerda solo es para probar que tu puente esta funcionando una vez q lo hayas probado ahora si a ponerse serios y a poner restricciones, bloqueando direcciones entrantes, salientes, cerrando puertos, etc.
Puedes probar deteniendo y reiniciando tu firewall y empezar a jugar con las reglas.
Código:
/etc/rc.d/ipfw stop
Código:
/etc/rc.d/ipfw start
Código:
/etc/rc.d/ipfw restart
Pues bien espero que esto le sirva a alguien. fue una experiencia muy personal fruto de andar leyendo de varias paginas. Esta explicacion no esta excenta de errores asi que pido por favor si alguien encuentra alguna inconsistencia o alguna recomendacion que lo postee para mejorar esto y que pueda servir a mas gente.
saludos a todos y thanks a mi compa vikhtor++ por los tips
m4st3rcr4zy










Autor




En línea



