# [Iptables] Ayuda con Subredes (Abierto)

## ZaPa

Hola a todos.

Me gustaria crear una subred, dentro de la red que tengo ya montada, y la verdad es que me gustaria hacerlo manualmente con iptables, puedo hacerlo a la formá fácil, con 2 clicks, ya que tengo una distro para usarla de firewall, pero me gustaria hacerlo con iptables manualmente ya qué actualmente estoy "intentando" aprender iptables.

Veamos..... me he encontrado con 2 comandos para crear subredes, uno de ellos es iptables...

```

ip addr add 192.168.2.1/24 broadcast + dev eth0

iptables -t nat -I POSTROUTING -s 192.168.2.0/24 -o eth1 -j MASQUERADE

```

Veamos... la primera linea.. ip addr? para que se utiliza esto? añadir una ip secundaria a nuestra interfáz? o exáctamente para que? broadcast + dev eth0, que haria esto?

La segunda linea.., con iptables -t nat, actuamos sobre la tabla nat.. pero porqué? no entiendo el porqué? no se podría utilizar mangle mismo?, -I POSTROUTING, esa chain a que se refiere? que hace? -s source, supongo que será la interfaz de entrada, que seria toda la red con rango 2 que vamos a crear,no?... -o seria la interfaz de salida, pero... -j MASQUERADE, a que se refiere MASQUERADE? que es lo que hace?

Espero que me puedan hechar una mano ya qué me gustaria entender lo que voy a utilizar.

Saludos.

----------

## esteban_conde

http://www.alcancelibre.org/staticpages/index.php/introduccion-iptables

Creo que algunas cosas las podras aprencer en ese enlace.

----------

## Coghan

 *ZaPa wrote:*   

> Me gustaria crear una subred, dentro de la red que tengo ya montada, y la verdad es que me gustaria hacerlo manualmente con iptables, puedo hacerlo a la formá fácil, con 2 clicks, ya que tengo una distro para usarla de firewall, pero me gustaria hacerlo con iptables manualmente ya qué actualmente estoy "intentando" aprender iptables.

 

He encontrado este par de manuales en cristiano que me parecen muy bien explicados, igual te valen para tu aprendizaje.

Configuración Segura de IPTABLES

Detección, Control y Contención de tráfico innecesario con IPTABLES

----------

## opotonil

 *Quote:*   

> 
> 
> La segunda linea.., con iptables -t nat, actuamos sobre la tabla nat.. pero porqué? no entiendo el porqué? no se podría utilizar mangle mismo?, -I POSTROUTING, esa chain a que se refiere? que hace? -s source, supongo que será la interfaz de entrada, que seria toda la red con rango 2 que vamos a crear,no?... -o seria la interfaz de salida, pero... -j MASQUERADE, a que se refiere MASQUERADE? que es lo que hace?
> 
> 

 

No soy ningun experto en iptables asi que espero no decir ninguna barbaridad. Las tablas se suelen utilizar de la siguiente manera:

- Tabla mangle: marcado de paquetes.

- Tabla nat: modificacion de IPs, puertos... (Network Address Translation)

- Tabla filter (tabla por defecto): filtrado de paquetes, se aceptan, rechazan...

Yendo al grano:

```

iptables -t nat -I POSTROUTING -s 192.168.2.0/24 -o eth1 -j MASQUERADE 

```

Con esto estas insertando (-I) un regla a la tabla nat (modificacion de IPs, puertos...), concretamente en la chain POSTROUTING (paquetes que van a salir de tu pc, por asi decirlo) en la que dices que se enmascare (modifique la ip de origen) de todo lo que venga (-s) desde la red 192.168.2.0/24 y salga (-o) por la interface eth1.

Salu2.

PD: -s (origen) y -d (destino) se utiliza con IPs o redes (192.168.1.37 o 192.168.1.0/24), mientras que -i (entrada) y -o (salida) se utiliza con interfaces (eth0 o wlan0).

----------

## inconexo

 *ZaPa wrote:*   

> Me gustaria crear una subred, dentro de la red que tengo ya montada, y la verdad es que me gustaria hacerlo manualmente con iptables, puedo hacerlo a la formá fácil, con 2 clicks, ya que tengo una distro para usarla de firewall, pero me gustaria hacerlo con iptables manualmente ya qué actualmente estoy "intentando" aprender iptables.
> 
> Veamos..... me he encontrado con 2 comandos para crear subredes, uno de ellos es iptables...
> 
> ```
> ...

 

Hola!

a ver si te puedo echar una mano; el iptables NO es para crear una subred. Creo que en http://es.wikipedia.org/wiki/Subred tienes bien explicado que es una subred, y para que se usa. Normalmente, se hace para limitar el espacio de colision de una red ethernet, o dicho de otro modo, para que no haya tantos ordenadores conectados a switch/es que decaiga el rendimiento de la red. Date cuenta que hablamos de enlace fisico.. tarjetas de red, cables, switches y routers

En tu post tienes dos comandos, uno "ip" que forma parte del paquete "iproute2", y que sirve para manejar interfaces de red, rutas... como se puede hacer con "ifconfig" o "route" de forma tradicional, aunque con "ip" se pueden hacer mas cosas y manejar funcionalidades nuevas de los kernel. Para esto puedes echar un vistazo a http://lartc.org

Lo que has hecho es crear un alias en una tarjeta de red; por ejemplo, con 

ifconfig eth0:1 192.168.2.1 netmask 255.255.255.0

ifconfig eth0:50 192.168.xxx.xxx netmask 255.255.255.0

Pero no estaras creando una subred, solo añadir una ip nueva a tu tarjeta de red

Esto se puede usar, por ejemplo, donde varias redes compartan un espacio de colision (vamos, que compartar switch)

Para crear subredes necesitaras varias tarjetas de red, y que cada una este en el rango del resto de la red donde este conectada

El iptables, por cierto, no puede manejar alias de red

Un saludo!

Lo que has hecho

----------

## ZeuZ_NG

O, si queres algo mitad-mitad hecho, podes instalar arno-iptables-firewall (que esta bastante perfeccionado, muy seguro per-se, muy configurable, con muchisimas features) que ademas te va a permitir ver como hace uso el script de las reglas de iptables entre otras cosas  :Wink: 

Sieeeempre lo recomiendo  :Smile: 

----------

## ZaPa

Hola de nuevo a todos y gracias por sus respuestas.

Entonces.. inconexo.. utilizando el comando ip, de esta forma:

```

ip addr add 192.168.2.1/24 broadcast + dev eth0 

```

No estaría creando una subred? esto no es una subred?

Si aplicara alguna regla iptables dentro del nuevo alias (192.168.2.x), no tendria efecto? iptables no "haria caso"?

Entonces si eso no es crear una subred.. que es exáctamente crear una subred?

Una 2º tarjeta de red en el mismo rango que otra tarjeta de red?

Si fuera esto asi.. como seria posible hacerlo? si un rango ya es utilizado por otra tarjeta de red?, jugando con la mascara de subred? y fragmentando cada rango para cada tarjeta ethernet? 

o otra tarjeta de red con distinto rango de red? 

Zeus_NG, actualmente ya tengo una distro firewall pero la verdad es que me gustaria trabajarmelo yo con iptables manualmente, lo prefiero asi, la verdad, pero aún asi, muchas gracias por tu recomendación, bajaré arno-firewall y lo testearé  :Razz:  .

Saludos.

Espero respuestas.

Muchas gracias.

----------

## esteban_conde

No se, a lo mejor me equivoco pero las preguntas que haces me encaminan a creer que te falta algo de base en cuestion de redes, no solo en iptables lo cual es algo mas avanzado, si no es asi perdoname y no mires el siguiente enlace.

http://www.gobiernodecanarias.org/educacion/conocernos_mejor/

----------

## ZeuZ_NG

Ehm, para crear una sub-red, primero principal necesitas crear un adaptador virtual conectado a esa red

ifconfig eth0:1 XXX.XXX.XXX.XXX netmask yyy.yyy.yyy.yyy

Despues trabaja con el comando ip, pero guarda que las interfaces virtuales no sirven ni para queuing ni para routeo

----------

