5/5
(1 opinión)
|2892 alumnos|Fecha publicación: 19/11/2004
Si deseamos usar NAT en alguna interface
(ed0, tun0, etc.) el procedimiento es algo mas
largo.
Primeramente debemos compilar nuestro FreeBSD para que soporte
firewall, en este caso ipfw (IP Firewall). La verdad es que
las ultimas versiones de FreeBSD (>=4.x) ya traen un modulo
compilado para el uso de ipfw, pero por desgracia no viene
activado con IPDIVERT, así que la única solución será
compilar un nuevo kernel. Para ello deberéis compilar un kernel con
las siguientes opciones:
options IPFIREWALL
options IPDIVERT
Una vez compilado el kernel con estas opciones, haremos uso del programa natd y de unas reglas que ahora pondremos:
/sbin/ipfw -f flush
/sbin/ipfw add divert natd all from any to any via
<interface> (Cambiad <interface> por el
interface que tengáis para salir a internet, ed0, tun0,
etc.)
/sbin/ipfw add pass all from any to any
Y ahora pondremos en marcha el natd:
natd -interface <interface> (Cambiad <interface> por el interface que tengáis para salir a internet, ed0, tun0, etc.)
Y eso es todo. Las reglas obviamente activan el 'divert' para el interface que le indiquemos, y el programa natd será el encargado de estar a la escucha en el interface indicado para ir 'traduciendo' la información que le llega desde internet y desde los ordenadores clientes.
Todo esto es únicamente lo que necesitamos para hacer este tipo de NAT, pero como podemos ver, el tener que teclear todas estas reglas y demás cada vez que iniciemos nuestro FreeBSD lo hacen una tarea pesada. Para hacerlo mas cómodo usaremos los scripts de inicio. Primeramente tocaremos el archivo
/etc/rc.conf:
firewall_enable="YES"
firewall_type="/etc/firewall.rules"
firewall_logging="YES"
firewall_script="/etc/rc.firewall"
natd_enable="YES"
natd_interface="ed0"
Intenta colocar las líneas con este orden, a mi me ha funcionado bien. Quizá lo mas importante a comentar sea la segunda línea, que especifica el archivo donde estarán ubicadas las anteriores reglas que habíamos tecleado a mano, y la ultima línea que especifica el interface del programa natd. Cambia ed0 por el que te corresponda. Las restantes activan el firewall y el programa natd
Una vez hechos estos cambios en /etc/rc.conf crearemos el archivo /etc/firewall.rules para poner las anteriores reglas del ipfw. Quedaría algo así:
-f flush
add divert natd all from any to any via
<interface> (Cambiad <interface> por el
interface que tenga para salir a internet, ed0, tun0,
etc.)
add pass all from any to any
Y guardamos el archivo.
Ahora cada vez que reiniciemos nuestro FreeBSD todo será automático
y no nos tendremos que preocupar de activar natd ni agregar
ninguna regla ipfw
Antes de acabar este apartado me gustaría comentar una cosa para
todos aquellos que esten usando modem con PPP (interface
tun0) y esten probando este procedimiento.
Ya que nosotros usamos PPP para conectar a internet, no
podemos hacer uso de estos scripts de inicio para que todo sea
automático. La IP de internet solo
la tenemos después de ejecutar PPP y por lo tanto las reglas
de ipfw y la activación de natd *SOLO* funcionarán si
ya hemos arrancado PPP y disponemos de una IP
previamente.
Soluciones?
Para empezar modificar ligeramente nuestro /etc/rc.conf y colocar solo las opciones siguientes:
firewall_enable="YES"
firewall_type="open"
firewall_logging="YES"
firewall_script="/etc/rc.firewall"
Y ahora nos hacemos la pregunta .. como activamos las reglas
ipfw automaticamente? Una de las opciones seria hacer uso
del archivo ppp.linkup. Este archivo esta destinado a
ejecutar lo que nosotros queramos justamente después de
establecerse la conexión PPP. Por lo tanto nos viene muy
bien.
Solo necesitamos crear el archivo /etc/ppp/ppp.linkup y
poner lo siguiente:
inet:
!bg /sbin/ipfw -f flush
!bg /sbin/ipfw add divert natd all from any to any via
tun0
!bg /sbin/ipfw add pass all from any to any
!bg natd -interface tun0
Asegurense sobre todo de respetar los espacios, enters, enters dobles, y sangrado. Es decir, debería de estar el archivo tal como este texto, sino posiblemente dará algún error de script failed. También asegurarse de substituir inet: por la etiqueta que use nuestro /etc/ppp/ppp.conf para conectar a internet. Y finalmente el interface tun0 si te diera el caso de usar otro.
Y creo que eso es todo ahora tras ejecutar PPP y establecerse la conexión, el archivo que hemos creado (/etc/ppp/ppp.linkup) se encargará de establecer las reglas ipfw
Hay 1 opinión. Opina sobre este curso.
| Cursos | Valoración | Alumnos | Vídeo | |
|---|---|---|---|---|
|
La cibernética La Cibernética se presenta como un nuevo paradigma científico, y como tal capaz de abordar y brindar solución global a la compleja problemática actual. Los protagonist... [09/03/06] |
|
1.469 | ||
|
Cómo enseñar con un curso en Internet El uso de Internet como parte de los programas educativos es ya una nueva, y muy eficaz, herramienta pedagógica, por las grandes posibilidades de difusión que ofrece y po... [27/10/08] |
|
576 | ||
|
Primeros pasos con XML y XSL XML es el acrónimo del inglés eXtensible Markup Language cuyo objetivo principal es conseguir una página web más semántica. Inicialmente nace como sucesor del HTML, separ... [10/09/04] |
|
6.786 | ||
Publicar en
del.icio.us
digg
meneame