Cómo obtener la interfaz de red a través de la cual se enruta el tráfico

Cómo obtener la interfaz de red a través de la cual se enruta el tráfico

Estoy tratando de averiguar a través de qué interfaz se enruta mi tráfico y obtener la dirección IP local asociada con esa interfaz. Esto me hará diferenciar entre los casos en los que el acceso vpn está deshabilitado (todo pasa por wlan0 -> leer ip desde esa interfaz) o cuando vpn está activado (todo pasa por tun0, obtiene ip de esa interfaz).

Conozco el comando de ruta, pero realmente no veo cómo analizarlo para extraer la información que necesito.

Esta es mi lista de rutas IP sin VPN:

default via 192.168.26.1 dev wlp0s20f3 proto dhcp metric 600 
169.254.0.0/16 dev wlp0s20f3 scope link metric 1000 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
192.168.26.0/23 dev wlp0s20f3 proto kernel scope link src 192.168.26.254 metric 600 

y después de conectarse a la vpn

default via 192.168.31.1 dev tun0 proto static metric 50 
default via 192.168.26.1 dev wlp0s20f3 proto dhcp metric 600 
10.0.0.0/8 via 192.168.31.1 dev tun0 proto static metric 50 
13.224.73.0/24 via 192.168.31.1 dev tun0 proto static metric 50 
18.135.151.3 via 192.168.31.1 dev tun0 proto static metric 50 
40.114.41.40 via 192.168.31.1 dev tun0 proto static metric 50 
52.95.0.0/16 via 192.168.31.1 dev tun0 proto static metric 50 
104.18.4.20 via 192.168.31.1 dev tun0 proto static metric 50 
104.18.5.20 via 192.168.31.1 dev tun0 proto static metric 50 
104.18.25.245 via 192.168.31.1 dev tun0 proto static metric 50 
104.27.148.109 via 192.168.31.1 dev tun0 proto static metric 50 
104.27.149.109 via 192.168.31.1 dev tun0 proto static metric 50 
143.204.190.0/24 via 192.168.31.1 dev tun0 proto static metric 50 
149.11.92.90 via 192.168.26.1 dev wlp0s20f3 proto static metric 600 
150.2.20.0/24 via 192.168.31.1 dev tun0 proto static metric 50 
150.2.22.0/24 via 192.168.31.1 dev tun0 proto static metric 50 
150.2.34.0/24 via 192.168.31.1 dev tun0 proto static metric 50 
169.254.0.0/16 dev wlp0s20f3 scope link metric 1000 
172.16.0.0/12 via 192.168.31.1 dev tun0 proto static metric 50 
172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
192.168.0.0/16 via 192.168.31.1 dev tun0 proto static metric 50 
192.168.26.0/23 dev wlp0s20f3 proto kernel scope link src 192.168.26.254 metric 600 
192.168.26.1 dev wlp0s20f3 proto static scope link metric 600 
192.168.31.0/24 dev tun0 proto kernel scope link src 192.168.31.56 metric 50 

¿Sería seguro asumir que la ruta predeterminada superior es la que se está utilizando?

Respuesta1

Hay dos partes para encontrar estos datos: primero, determinar qué subredes salen directamente a través de una interfaz específica; y luego, en segundo lugar, determinar cuál es la 'ruta predeterminada' de su tráfico hacia Internet.

(salte a la sección Sus rutas para ver mi disección del resultado de sus rutas)

En ambos casos necesitamos la ip route listsalida, pero en mi caso miraremos mi computadora portátil (actualmente NO tengo VPN porque estoy en mi red doméstica):

default via 172.18.0.1 dev wlp59s0 proto dhcp metric 600 
10.10.0.0/16 dev static-local proto kernel scope link src 10.10.0.1 
10.73.252.0/24 dev InternalDHCP proto kernel scope link src 10.73.252.1 
10.74.0.0/24 dev docker0 proto kernel scope link src 10.74.0.1 linkdown 
169.254.0.0/16 dev docker0 scope link metric 1000 linkdown 
172.18.0.0/16 dev wlp59s0 proto kernel scope link src 172.18.2.0 metric 600

Como puedes ver tengo varias cosas diferentes aquí en mi red. Tengo dos subredes acoplables, otras dos redes ( static-localy InternalDHCPpara mis contenedores LXD), mi interfaz inalámbrica wlp59s0y la 'ruta predeterminada' en la parte superior.

Analicemos esto en las partes que lo componen. Empiece por buscar rutas no predeterminadas. Esto se leería de la siguiente manera:

  • Todo el tráfico a 10.10.0.0/16 (10.10.0.0-10.10.255.255) pasa directamente por el static-localenlace de red con la IP de origen 10.10.0.1.
  • Todo el tráfico a 10.73.252.0/24 (10.73.252.0-10.73.252.255) pasa directamente por el InternalDHCPenlace de red con la fuente de 10.73.252.1
  • Todo el tráfico a 10.74.0.0/24 (10.74.0.0-10.74.0.255) pasa directamente por el docker0enlace de red con la fuente de 10.74.0.1. El mismo enlace de red también acepta tráfico para 169.254.0.0/16, sin embargo, este enlace está fuera de línea y no funciona.
  • Todo el tráfico a 172.18.0.0/16 (172.18.0.0-172.18.255.255) pasa directamente por el wlp59s0enlace de red con la IP de origen 172.18.2.0.

Ahora la ruta predeterminada:

  • Todo el resto del tráfico que no coincida con una de las otras rutas antes mencionadas debe enrutarse a través de la dirección de puerta de enlace/enrutador 172.18.0.1 a través del dispositivo wlp59s0(que es mi tarjeta wifi).

Así es como se analizarían ip route listresultados como el anterior. Podemos ayudarlo a analizar su ip route listresultado si lo desea; sin embargo, así es como debe leer el resultado.


Tus Rutas

Esta es mi disección de tus rutas, tanto cuando tu VPN está conectada como cuando no.

Primero, cuando no estás en la VPN:

  • El tráfico a 192.168.26.0/23 (192.168.26.0-192.168.27.255) sale directamente a través del enlace de interfaz wlp0s20f3 (wifi). Esto incluye ir directamente a 192.168.26.1 (la ruta predeterminada)
  • El tráfico a 149.11.92.90 sale a través de 182.168.26.1 directamente a través del enlace de su interfaz wifi.
  • El tráfico a 172.17.0.0/16 (172.17.0.0-172.17.255.255) pasa directamente por el enlace de red docker0 con la dirección IP de origen 172.17.0.1.
  • Algo estaba mal con su enlace de red, por lo que 169.254.0.0/16 (169.254.0.0-169.254.255.255) se apaga a través del enlace del dispositivo wifi.
  • Para cualquier otra designación de subred cuando no esté en la VPN, su tráfico fluye a través de su interfaz wifi a través de la IP de puerta de enlace de 192.168.26.1 (su enrutador).

Ahora, cuando usas la VPN, agrega MUCHAS rutas a tu tabla que no tienen sentido, pero podemos condensarlas en una manera fácil de evaluar las reglas. Tenga en cuenta que las reglas anteriores sin conexión VPN aún se aplican:

  • Cuando se conecta a la VPN, todo el tráfico no abordado por las reglas de enlace anteriores (que incluyen las reglas de cuando no estás en la VPN) se enruta a través del dispositivo tun0 y el enlace VPN, a través de 192.168.31.1 a través del túnel. . Por lo tanto, todo el tráfico a Internet (aparte de las direcciones de enlace especificadas anteriormente) pasará primero por el túnel VPN. Si el enlace del túnel VPN falla y el tráfico no puede atravesar ese túnel, volverá a utilizar su conexión wifi estándar (sin embargo, esto solo sucederá cuando el túnel VPN falle y NO se vuelva a conectar, por lo que la tun0interfaz desaparecerá).

  • El tráfico entre su sistema y el punto final de VPN pasa a través del enlace wifi predeterminado para llegar al servidor VPN remoto. (Este es el comportamiento 'predeterminado' ya que para conectarse al servidor VPN utilizará su enlace wifi predeterminado).

información relacionada