Если у меня есть несколько сетевых интерфейсов (здесь: 2) на машине Linux (здесь: Debian Lenny). Как узнать, по какому сетевому интерфейсу (NIC) идет маршрут к конкретному узлу назначения и какой исходный IP-адрес используется по умолчанию?
Я думаю об использовании
ping -I nic1 desthost.example.com
ping -I nic2 desthost.example.com
тоже посмотрим, возможны ли оба пути. (Здесь: возможны оба способа)
Я посмотрел таблицу маршрутизации
ip route show
Но это довольно сложно, поэтому я подумал, что должен быть небольшой простой инструмент, чтобы просто сказать мне:
"Для целевого хоста desthost.example.com требуется интерфейс nicX и исходный IP-адрес 10.0.0.1"
Как проще всего получить эту информацию?
(И я бы предпочел не использовать tcpdump и устанавливать интерфейсы в неразборчивом режиме.)
Спасибо.
Использовать ip route get <ip>
.
я использую netstat -Wcatnp
. Вам следует попробовать эту команду.
что о route -C
Я бы сказал, даже проще nm-tool
и если вам нужна только соответствующая строка nm-tool | grep Device
. Это должно вывести:
- Device: wlan0 [My router name] -----------------------------------------------