
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 list
salida, 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-local
y InternalDHCP
para mis contenedores LXD), mi interfaz inalámbrica wlp59s0
y 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-local
enlace 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
InternalDHCP
enlace 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
docker0
enlace de red con la fuente de 10.74.0.1. El mismo enlace de red también acepta tráfico para169.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
wlp59s0
enlace 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 list
resultados como el anterior. Podemos ayudarlo a analizar su ip route list
resultado 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
tun0
interfaz 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).