¿Cómo ver en Linux qué interfaz de red y dirección IP de origen se utiliza para una ruta a un host de destino específico?


16

Si tengo varias interfaces de red (aquí: 2) en una máquina Linux (aquí: Debian Lenny). ¿Cómo veo a través de qué interfaz de red (NIC) se dirige una ruta a un host de destino específico y qué dirección IP de origen se usa de manera predeterminada?

He pensado en usar

ping -I nic1 desthost.example.com
ping -I nic2 desthost.example.com

También vea si ambas formas son posibles. (Aquí: Ambas formas son posibles)

Miré la tabla de enrutamiento

ip route show

Pero es bastante complejo, así que pensé, debe haber una pequeña herramienta simple, solo para decirme:

"Para el host de destino desthost.example.com se necesita la interfaz nicX y la dirección IP de origen 10.0.0.1"

¿Cuál es la forma más sencilla de obtener esta información?

(Y prefiero no usar tcpdump y configurar las interfaces en modo promisorio).

Gracias.

Respuestas:


39

Uso ip route get <ip>.


1
Y para obtener solo la interfaz:ip -o route get $ipaddress | perl -nle 'if(/dev\s+(\S+)/) {print $1}'
mivk

2
oip -o route get $ipaddress | awk '{ print $5 }'
ShadowFlame


0

Yo uso netstat -Wcatnp. Deberías probar este comando.


0

Incluso más fácil, diría yo, nm-tooly si solo quieres la línea relevante nm-tool | grep Device. Eso debería dar salida:

- Device: wlan0  [My router name] -----------------------------------------------
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.