Asumiendo que trabajas con Linux (Raspian, Debian, etc ...):
Estás haciendo dos preguntas diferentes, primero responderé la pregunta del título:
Obliga a Raspberry a obtener internet de una red específica
Voy a bloquear su palabra "red" (en lugar de "interfaz") y responderé en un sentido IP puro:
Si tiene varias conexiones que podrían proporcionar Internet, usted controla cuál se utilizará a través de la tabla de rutas.
A la vista, la tabla de enrutamiento que uso normalmente netstat -rn
( -r
es para "mostrar enrutamiento", -n
es para "mostrarme números, no intente hacer búsquedas de DNS, que podrían bloquearse si mi Internet no está configurado correctamente"). Un ejemplo realmente simple se vería así:
pi@homeServer ~ $ netstat -rn
Kernel IP routing table
Destination Gateway Genmask Flags MSS Window irtt Iface
0.0.0.0 192.168.9.1 0.0.0.0 UG 0 0 0 eth0
192.168.9.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
172.20.10.0 0.0.0.0 255.255.255.240 U 0 0 0 wlan0
pi@homeServer ~ $
La línea en esa salida que muestra en qué dirección irán los paquetes IP es la línea con un destino 0.0.0.0
y una máscara genérica 0.0.0.0
, que normalmente se conoce como default route
(una máscara de 0.0.0.0
es todo comodín, que es realmente el marcador de una ruta predeterminada), y Como actualmente apunta a una dirección específica en el rango '192.168.9', el tráfico de Internet irá a través de la interfaz de Ethernet.
Si quiero cambiar mi internet a la otra red, usaría el route
comando (como root) y, en este caso, dado que mi conexión wifi no es punto a punto, debo conocer la dirección IP del enrutador que pueda reenviar el tráfico fuera de esa red (en mi caso, eso es 172.20.10.1
) así que haría:
Eliminar la ruta predeterminada actual
sudo route del default
Agregar una nueva ruta predeterminada para la otra red
sudo route add default gw 172.20.10.1
Para su información, aunque route
es lo que uso, veo que algunos lo consideran obsoleto y en su lugar recomiendan usar el ip route
comando, vea el comentario de @Fred a continuación para obtener la sintaxis. referencia para desaprobación
¿Hay alguna manera de mantenerse conectado a través de la interfaz del dongle?
Ha pasado un tiempo desde que trabajé con ppp
y wvdial
, y sin configuraciones (o al menos referencias a las guías que siguió para configurarlas) es realmente difícil adivinar con qué problemas se encuentra, pero como algunas ideas:
- ¿La conexión está realmente inactiva o acabas de perder tu ruta predeterminada cuando apareció tu eth0?
- Comprueba esto en ambos
netstat -rn
y ifconfig
.
- ¿Hay una interfaz en
netstat -rn
? Si es así, ¿hay una ruta predeterminada?
- ¿En
ifconfig
ves interfaz para el dongle (probable ppp
)? es eso UP
?
- No recuerdo dónde
ppp
/ wvdial
log, pero eso debería verificarse. Ese registro le indicará el estado de la conexión y debería informarle si el sistema completo se ha apagado por algún motivo.
- Si ve una interfaz, intente
ping
algo (... cualquier cosa ...) en ella y vea si surge la conexión.
- Sé que
ppp
/ wvdial
combo tiene alguna capacidad de conexión automática (dependiendo de la configuración)
- Entonces, si la conexión surgió con un ping (o si la conexión se mantuvo activa todo el tiempo): podría ser que la ruta predeterminada (ppp) se perdiera cuando sacaste el ethernet.
- Si este es el problema, solo necesitará agregar una ruta predeterminada y todo el sistema volverá a estar en línea.