Вы можете попробовать "route" распечатать вашу таблицу маршрутизации, которая покажет вам целевые сети и шлюзы для ваших различных интерфейсов.
Если IP-адреса не помогают вам легко определить интерфейс, запустите «traceroute», после запуска route, посмотрите на первый переход и сравните его со связанными шлюзами из «route», и вуаля - это ваш интерфейс.
#route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
145.67.4.0 switch47 255.255.255.0 U 0 0 eth0
192.168.1.0 localrouter 255.255.255.0 U 0 0 eth1
#traceroute <destination>
1 switch47.ba.foo.com (145.67.4.1) 0.5 ms .....
2 xxxxx.xxx.xxxx (xxx.xxx.xxx.xxx) 0.Xms. ...
Вы можете использовать ip route get
, чтобы найти и вывести маршрут, который будет использоваться для указанного пункта назначения. Вывод должен включать интерфейс и адрес источника.
% ip route get 8.8.8.8
8.8.8.8 via 172.16.4.1 dev eth1 src 172.16.4.36
Я не уверен, что это правильно, но netstat может это сделать. Он показывает локальный адрес установленных соединений.
# netstat -nt
Proto Recv-Q Send-Q Local Address Foreign Address State
...
tcp 0 0 192.168.1.61:44114 64.34.119.101:80 ESTABLISHED
tcp 0 0 192.168.1.61:36036 107.21.205.201:80 ESTABLISHED