
Me está bien empleado por leer las cosas deprisa y corriendo y con 36 horas sin dormir... en fin.
Lo que comentas es perfectamente factible desde openwrt, pero olvídate de lo que te puse en los post de antes, que no tienen nada que ver.
En realidad sí que vamos a usar tablas de ruteo, pero no con el comando "route", ya que necesitamos un par más de tablas, y "route" no puede trabajar con multitablas, pero el comando "ip" de iptables sí.
La explicación rápida es:
- Creamos el switch con dos zonas LAN
- Agregamos/Configuramos las dos interfaces LAN
- Agregamos/Configuramos las dos interfaces WAN
- Agregamos las reglas de routeo a dos tablas nuevas de ip mediante un fichero ejecutable
- Agregamos un disparador al evento de WAN1 y WAN2 para que las reglas se autocarguen al levantarse dichas interfaces.
En mi ejemplo voy a usar 2 interfaces WAN con 3G. Uno navegará con Simyo y otro navegará con Yoigo.
Pueden ser mismamente dos wan distintas que sean clientes de otra red, por ejemplo, pero en mi ejemplo voy a poner esas.
El resultado de las interfaces es éste:
Pasos a seguir:Editamos la configuración del switch para tener dos bocas con una LAN y otras dos bocas con la LAN2:
En mi caso con un VH4032H, quedaría así:
Ahora nos vamos a editar la primera LAN. Le ponemos la IP 192.168.1.1 y nos aseguramos de que tenga el DHCP activado y la zona del firewall en la LAN. Esta LAN la he dejado ligada con la Wifi, en Physical Settings.
Ahora agregamos una nueva interfaz, que nombraremos LAN2. Le ponemos IP 192.168.2.1, nos aseguramos de que tenga el DHCP activado y la zona de firewall en la LAN (esto es importante porque no se marca por defecto al crear la interfaz). En Physical Settings la ligaremos con la interfaz eth0.2 que hemos creado antes en el switch.
Agregamos una interfaz wan con protocolo 3G, y la configuramos. Editamos la configuración "firewall" para que se corresponda con la zona wan del firewall.
Agregamos otra interfaz wan2 con protocolo 3G, y la configuramos. Editamos la configuración "firewall" para que se corresponda con la zona wan del firewall (esto es importante porque no se marca por defecto al crear la interfaz).
Ya tenemos las dos interfaces LAN y WAN. Si todo ha ido bien, las interfaces WAN deben tener conexión ya, y las interfaces LAN, deben de darnos una IP distinta, dependiendo de la boca a la que nos conectemos (1/2 - 3/4).
Ahora debemos agregar las dos tablas de ruteo. Para ello nos conectamos mediante PuTTy, por ejemplo y
editamos el fichero
/etc/iproute2/rt_tables.
Al contenido que ya tenga debemos añadirle lo siguiente al final:
151 palawan1
152 palawan2
El nombre de las tablas creo que dice para lo que van a servir...

Ahora
editamos un fichero en
/etc/routes_wan1.bat y tecleamos lo siguiente:
ip rule add from 192.168.1.0/24 table palawan1
ip route add 192.168.1.0/24 table palawan1 dev br-lan
ip route add 192.168.2.0/24 table palawan1 dev eth0.2
ip route add default via 10.64.64.64 table palawan1
lo mismo con el fichero en
/etc/routes_wan2.bat y tecleamos lo siguiente:
ip rule add from 192.168.2.0/24 table palawan2
ip route add 192.168.2.0/24 table palawan2 dev eth0.2
ip route add 192.168.1.0/24 table palawan2 dev br-lan
ip route add default via 10.64.64.65 table palawan2
Con ello agregamos las reglas de ruteo por IP fuente. Las reglas para encontrar a las IP vecinas dentro de nuestra red. Las reglas para encontrar las IP de "la otra red" del switch, y la puerta de internet que se usará para cada IP fuente.
La puerta de internet (
default via) es la IP del router al que nos hemos conectado como cliente, o si estamos conectados directamente con un ISP, la veremos mediante el comando
ifconfig. En mi caso, es la definida en el protocolo P-t-P de la interfaz.
Ejemplo:
root@VH4032N:~# ifconfig
3g-WAN2 Link encap:Point-to-Point Protocol
inet addr:10.42.148.45 P-t-P:10.64.64.65 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:337 errors:0 dropped:0 overruns:0 frame:0
TX packets:348 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:26425 (25.8 KiB) TX bytes:28611 (27.9 KiB)
3g-wan Link encap:Point-to-Point Protocol
inet addr:10.174.220.94 P-t-P:10.64.64.64 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1500 Metric:1
RX packets:3894 errors:0 dropped:0 overruns:0 frame:0
TX packets:2423 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:5053583 (4.8 MiB) TX bytes:155408 (151.7 KiB)
Ahora vamos a hacer las anteriores reglas ejecutables cada vez que una wan se levante.
En primer lugar, hacemos ejecutables los ficheros que acabamos de teclear:
chmod +x /etc/routes_wan1.bat
chmod +x /etc/routes_wan2.bat
Ahora
editamos el fichero
/etc/hotplug.d/iface/99-wanvlan_rules y tecleamos lo siguiente:
if [ "$ACTION" = "ifup" ]; then
if [ "$INTERFACE" = "wan" ]; then
/etc/routes_wan1.bat
fi
if [ "$INTERFACE" = "WAN2" ]; then
/etc/routes_wan2.bat
fi
fi
Con ello ligamos las reglas a nuestras wan, cada vez que éstas se levanten.
Con la configuración anterior, navego por Yoigo en las bocas 1-2 del switch y navego por Simyo en las bocas 3-4 del switch.
La configuración no está comprobada al 100%, así que pueden existir fallos.
La configuración no es muy elegante, pero funciona. No comprueba si las tablas ya están definidas ni nada de eso, ni borro datos antiguos si ya están definidos. Simplemente se redefinen cosas.
Usad esta información bajo vuestra propia responsabilidad...