Wenn ich mehrere Netzwerkschnittstellen (hier: 2) auf einem Linux-Rechner habe (hier: Debian Lenny). Wie sehe ich, über welche Netzwerkschnittstelle (NIC) eine Route zu einem bestimmten Zielhost verläuft und welche Quell-IP-Adresse standardmäßig verwendet wird?
Ich habe aber davon Gebrauch gemacht
ping -I nic1 desthost.example.com
ping -I nic2 desthost.example.com
zu sehen, ob beide möglich sind. (Hier: beide möglich)
Ich habe die Routing-Tabelle nachgeschlagen
ip route show
Aber es ist ziemlich komplex, also dachte ich, es muss mit einem kleinen einfachen Tool einfach gesagt werden:
"Zum Ziel-Host desthost.example.com werden die Schnittstelle nicX und die Quell-IP-Adresse 10.0.0.1 benötigt."
Was ist der einfachste Weg, um diese Informationen zu erhalten?
(Und ich würde lieber nicht tcpdump verwenden und die Schnittstellen in den Promiscous-Modus versetzen.)
Vielen Dank.
quelle
ip -o route get $ipaddress | perl -nle 'if(/dev\s+(\S+)/) {print $1}'
ip -o route get $ipaddress | awk '{ print $5 }'
wie wäre es mit
route -C
quelle
Ich benutze
netstat -Wcatnp
. Sie sollten diesen Befehl versuchen.quelle
Noch einfacher würde ich sagen
nm-tool
und wenn du nur die entsprechende Leitung willstnm-tool | grep Device
. Das sollte ausgeben:quelle