Jeśli mam wiele interfejsów sieciowych (tutaj: 2) na komputerze z systemem Linux (tutaj: Debian Lenny). Jak mogę zobaczyć, przez jaki interfejs sieciowy (NIC) prowadzi trasa do określonego hosta docelowego i jaki źródłowy adres IP jest domyślnie używany?
Myślałem o użyciu
ping -I nic1 desthost.example.com
ping -I nic2 desthost.example.com
też sprawdź, czy oba sposoby są możliwe. (Tutaj: możliwe są oba sposoby)
Spojrzałem na tablicę routingu
ip route show
Ale to dość skomplikowane, więc pomyślałem, że przy pomocy małego prostego narzędzia wystarczy mi powiedzieć:
„Do docelowego hosta desthost.example.com potrzebny jest interfejs nicX i źródłowy adres IP 10.0.0.1”
Jaki jest najprostszy sposób na uzyskanie tych informacji?
(I wolałbym nie używać tcpdump i ustawiać interfejsy w trybie promis).
Dzięki.
linux
networking
linux-networking
sandoz
źródło
źródło
ip -o route get $ipaddress | perl -nle 'if(/dev\s+(\S+)/) {print $1}'
ip -o route get $ipaddress | awk '{ print $5 }'
co powiesz na
route -C
źródło
Używam
netstat -Wcatnp
. Powinieneś spróbować tego polecenia.źródło
Jeszcze łatwiejsze, powiedziałbym
nm-tool
i jeśli chcesz tylko odpowiednią linięnm-tool | grep Device
. To powinno dać:źródło