Compartir conexion con wifi y Ethernet ¿Bridge?¿bonding? ¿?

Hola a todos,

A ver si alguien puede orientarme, no consigo configurar la red en mi casa para que funcione como quiero.

Tengo un cable-modem conectado al PC principal a traves de una tarjeta Ethernet (eth0), tengo otra tarjeta Ethernet (eth1) con la que quiero compartir la conexión de Internet. Bien, usando "ipmasq" y "dnsmasq" todo funciona sin problemas.

El problema es que ahora también quiero compartir la conexión a traves de un dispositivo wifi en modo ad-hoc (rausb0). Es decir, que los dispositivos que estén conectados a eth1 y rausb0 se vean entre ellos y además puedan usar la conexión a Internet de eth0. Además, si fuera posible (aunque no es esencial) me gustaría que tanto los dispositivos conectados a eth1 como los conectados a rausb0 vieran al PC principal con la misma IP (192.168.0.1)

En Windows he probado a hacerlo y funciona sin problemas con la opción de compartir conexión. Pero en Linux no soy capaz de hacerlo, intentando montar un "bridge" con "brctl" no puedo añadir el interfaz wifi rausb0. He estado buscando y he visto algo de "bonding", pero creo que tampoco es lo que me hace falta.

¿Alguien sabe como se podría hacer o orientarme?

Muchas gracias.
Buenas.

La configuración que pides ya es algo mas complicada, y te va a tocar usar iptables, aunque realmente son 4 comandos.

En cuanto a que todos los equipos vean al "router" (la maquina conectada al cable-modem con la misma ip se puede hacer con el "bounding", pero esto esta mas bien pensado para maquinas que necesitan alta disponibilidad (Si una tarjeta de red se casca, esta la otra para responder) y no se hasta que punto te interesa...

Para lo que pides, seria algo tal que asi (te doy la clave, investiga el resto del script):

ip route add default via 192.168.0.1 dev eth1
ip route add default via 192.168.0.1 dev rausb0


Y en el iptables tendras que hacer la NAT de ambos... asi de simple ( o de complicado :P ).

Teniendo en cuenta que 192.168.0.1 es la direccion de tu eth0...
Hola.

Gracias por la respuesta.

Pero he estado mirando y he encontrado algo que parece más sencillo. IPtables no quiero tocar mucho más que nada porque ahora mismo es ipmasq quien tiene cargadas un montón de reglas para dar acceso a la red interna.

Según he hecho la prueba y funciona es poniendo a una tarjeta de red la IP 192.168.0.1 y a la otra 192.168.1.1 y activando el proxy_arp con:

echo 1 > /proc/sys/net/ipv4/conf/rausb0/proxy_arp
echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arp


De esa forma no hace falta tocar nada de IP Tables para que funcione (aunque tampoco tienen las 2 tarjetas la misma IP).

También hice una prueba con "route" dividiendo el rango 192.168.0.0 en 2, pero me parecía más engorroso.

Sin embargo, con lo que pones tú, ¿se puede? ¿se pueden añadir 2 puertas de enlace "default"? Yo creía que no funcionaría bien.
Para hacer un bridge entre eth1 y rausb0 tienes que poner la direccion de estas interfaces en modo promiscuo (0.0.0.0) y asignar una direccion IP a la interface correspondiente al bridge que formas entre ellas (br0). Tambien tienes que tener habilitado en el Kernel la opcion de 802.x bridge (creo que se llama asi). En distribuciones basadas en Debian se puede hacer todo desde el fichero /etc/network/interfaces

He encontrado un howto que lo explica para cualquier distribucion de linux pero seguramente encuentres alguno más especifico:
Ethernet Bridge + Netfilter HOWTO
Si, sí ese tutorial ya lo había visto. El problema es que con el wifi intenta ponerlo en un modo que no soporta. Según leí tenía que soportar WDS y no es mi caso.

Es lo primero que pensé, pero no, un bridge para mi caso no sirve :-(
WDS es para conectar dos (o mas) puntos de acceso INALAMBRICOS. No tiene nada que ver con tu caso. Deberias poder hacer un bridge entre eth1 y rausb0 sin problemas.
el_Salmon escribió:WDS es para conectar dos (o mas) puntos de acceso INALAMBRICOS. No tiene nada que ver con tu caso. Deberias poder hacer un bridge entre eth1 y rausb0 sin problemas.


Lo de WDS lo leí en un FAQ de las "bridge-utils", yo por si acaso lo intente. Pero no, no me deja añadir la wifi al bridge. Yo creo que debe intentar ponerlo en ese modo aunque no hiciera falta.

En Windows sí que me deja crear una "conexión de puente" con la wifi y la ethernet. Pero supongo que más que un bridge real lo que hace es estilo lo de proxy_arp. No se, la verdad es que no se porque según el FAQ necesita que el adaptador wifi esté en modo WDS.
6 respuestas