Tengo dos dispositivos de red a bordo de mi macbook pro:
- WIFI (en1): Utilizado para tráfico general. Se conecta a una ip de 192.168.19. * A través de DHCP
- LAN (en0): utilizado para tráfico específico. Se conecta a una ip de 192.168.2.10 como una IP estática. No se conecta a un enrutador, solo un interruptor para la conexión de
enrutamientodirecto .
Tengo 4 direcciones IP a las que necesito acceder en la LAN:
- 192.168.2.1
- 192.168.2.21
- 192.168.2.20
- 192.168.2.30
El resto del tráfico debe ir a WIFI. Intenté configurar una tabla de enrutamiento para las direcciones IP específicas, pero solo logré estropear mi red. No me aventuro en el mundo de las redes con demasiada frecuencia, pero este fue el último comando que he estado intentando:
sudo route add -host 192.168.2.30 -interface en0
Este comando mató mi capacidad de usar ping. Me dijo que ping no podía asignar memoria (¿es eso posible?) También mató mi acceso wifi. Cerrar sesión y volver a iniciarlo solucionó el problema. Realmente no me importa hacer que esta solución sea permanente, así que estoy bien con un enrutamiento temporal.
EDITAR:
Si actualmente he estado intentando:
sudo route flush
sudo route add default 192.168.19.1
Esto hace que todo funcione durante aproximadamente un minuto. Pero después de ese minuto "olvida" el enrutamiento a WiFi mientras retiene el enrutamiento de LAN (en0). Si desconecto y vuelvo a conectar mi cable LAN (en0), el proceso funciona durante otro minuto.
EDITAR 2:
Estos fueron algunos de los comandos ingresados como solicitud por d34dh0r53.
$ netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.2.1 UGSc 4 0 en0
default 192.168.19.1 UGScI 0 0 en1
127 127.0.0.1 UCS 0 1 lo0
127.0.0.1 127.0.0.1 UH 5 1429023 lo0
169.254 link#4 UCS 0 0 en0
192.168.2 link#4 UCS 4 0 en0
192.168.2.1 0:27:22:2e:5f:1a UHLWIi 2 0 en0 1199
192.168.2.10 127.0.0.1 UHS 0 0 lo0
192.168.2.30 90:a2:da:0:f5:63 UHLWIi 1 1433 en0 1191
192.168.2.255 ff:ff:ff:ff:ff:ff UHLWbI 0 7 en0
192.168.19 link#5 UCS 2 0 en1
192.168.19.1 3e:d0:f8:aa:28:56 UHLWIi 0 2 en1 1192
192.168.19.3 127.0.0.1 UHS 1 0 lo0
192.168.19.255 ff:ff:ff:ff:ff:ff UHLWbI 0 5 en1
Internet6:
Destination Gateway Flags Netif Expire
::1 link#1 UHL lo0
fe80::%lo0/64 fe80::1%lo0 UcI lo0
fe80::1%lo0 link#1 UHLI lo0
fe80::%en0/64 link#4 UCI en0
fe80::226:4aff:fe00:b68a%en0 0:26:4a:0:b6:8a UHLI lo0
fe80::%en1/64 link#5 UCI en1
fe80::226:bbff:fe03:cbd%en1 0:26:bb:3:c:bd UHLI lo0
ff01::%lo0/32 fe80::1%lo0 UmCI lo0
ff01::%en0/32 link#4 UmCI en0
ff01::%en1/32 link#5 UmCI en1
ff02::%lo0/32 fe80::1%lo0 UmCI lo0
ff02::%en0/32 link#4 UmCI en0
ff02::%en1/32 link#5 UmCI en1
$ traceroute -n 192.168.2.1
traceroute to 192.168.2.1 (192.168.2.1), 64 hops max, 52 byte packets
1 192.168.2.1 2.499 ms 3.392 ms 3.829 ms
$ traceroute -n google.com
traceroute: unknown host google.com
fuente
Respuestas:
No debería necesitar crear ninguna regla de enrutamiento a mano para esa configuración, siempre que todas las direcciones 192.168.2.x con las que desea comunicarse estén en la interfaz con la dirección 192.168.2.x.
Una vez hecho esto,
netstat -rn
aún debe mostrar las rutas para ambas subredes, pero solo una ruta de "enlace # 4" en lugar de la ruta predeterminada a través de 192.168.2.1.Si no desea una ruta predeterminada, deje el cuadro del enrutador en blanco. El valor en el cuadro del enrutador solo se usa para configurar una ruta predeterminada a través de esta interfaz de red, y no se usa para nada más.
fuente
192.168.2.1
en el campo del enrutador para que coincida con un "enrutador" en el lado LAN. Pensé que era necesario, pero ahora veo que se hizo cargo de la ruta predeterminada para el tráfico general.El problema es que su
en0
interfaz está agregando una ruta predeterminada que tiene prioridad sobre la ruta predeterminada establecida por la interfaz 802.11. No estoy exactamente seguro de por qué, pero es el hecho de que BSD prefiere una interfaz con cable en lugar de una inalámbrica, o prefiere una interfaz configurada estáticamente en lugar de una configurada dinámicamente. Puede decir queen0
laRefs
columna está utilizando la ruta predeterminada ;Refs
es una métrica que indica el número actual de usos activos de la ruta, por lo que podemos ver que está recibiendo todo el tráfico.La solución es eliminar esa ruta, preferible permanentemente de la tabla de enrutamiento para que el tráfico destinado a hosts distintos de los de sus redes locales atraviese la puerta de enlace predeterminada establecida por DHCP
en1
. Lo primero que verificaría es en el panel de configuración paraen0
asegurarme de que no haya ingresado nada en elrouter
campo. La información en ese campo se agrega como una puerta de enlace predeterminada. Si eso no funciona, necesitamos eliminar manualmente la ruta, la razón por la queroute flush
no funciona es que creo que le dice a OS X que vuelva a cargar su información de enrutamiento desde los archivos de configuración de la interfaz, por lo tanto, revierte su cambio después de un corto tiempo. El siguiente comando debería eliminar la ruta predeterminada paraen0
interfaz hasta que se reinicie la red o el sistema tenga IPL:Si desea que este cambio sea permanente, puede a) crear un servicio en el
/Library/StartupItems
que me parezca demasiado trabajo ob) agregar esa línea/etc/rc.local
con un comando como:Es posible que deba agregar un
sleep <number_of_seconds>
comando antes de esa línea/etc/rc.local
para evitar ejecutar el comando antes de que las interfaces estén completamente activas y la tabla de enrutamiento establecida.Espero que esto ayude y buena suerte!
fuente
192.168.2.1
era el problema, pero @rakslice descubrió que cometí un error al ingresar mi información de enrutamiento para la conexión en0. Puse la dirección IP192.168.2.1
en el campo del enrutador creyendo que era necesario. Después de eliminar la IP predeterminada del enrutador, también eliminé la ruta predeterminada incorrecta a192.168.2.1
. Otra vez, gracias por tu ayuda.Desea configurar su IP Wifi como su puerta de enlace predeterminada y eliminar cualquier puerta de enlace predeterminada (o ruta a 0.0.0.0) conectada a la LAN o 192.168.2.0/24.
Por supuesto, esto es más fácil si puede configurar su en1 a una IP fija que funcione con el wifi.
Es posible que deba agregar 192.168.2.10 como ruta a la red 192.168.2.0/24. Sin embargo, esto debería ser automático ya que puede decir que 192.168.2.0/24 está directamente conectado por virtual de lo que asignó a la interfaz.
Por lo tanto, el tráfico que vaya a cualquier 192.168.2.X saldrá de 192.168.2.10, y el tráfico que vaya a cualquier otro lugar saldrá de la dirección IP de su en1.
fuente
remove any default gateway connected to the LAN
.sudo route del default 192.168.2.10
¿ quizás ?, no estoy seguro de cómo hacerlo en freebsd / mac osx pero debería ser similar.sudo route delete default 192.168.2.10
. Ping todavía está activo. Sin embargo, cierra el acceso al tráfico wifi, excluyendo la dirección IP del enrutador.