linux ip route Получение: Шлюз (geteaway), сетевого устройства и др. для данного IP

ip route get Получение шлюза

Используйте команду

ip route get нужныйip

-- она эмулирует получение ip ближайшего устройства в реальном времени
например:

ip route get 8.8.8.8

даста нам что-то вроде:
default via 192.168.1.1 dev enp3s0 proto static metric 100

ip route show to match Получение сетевого устройства (интерфейса) и подсети, на которое уходит запрос к ip

Используйте ip route show to match чтобы получить сетевой интерфейс и ассоциированную с ним подсеть(если таковая имеется), например:

ip route show to match 10.49.21.42

вернёт, например, в частном случае:

default via 192.168.1.1 dev enp3s0  proto static  metric 100 
10.48.0.0/15 dev tun0  scope link 

-- то есть тут по-умолчанию будет работать устройство enp3s0, но есть ещё одно, которому данный адрес соответствует точнее это tun0, с которым ассоциирована подсеть 10.48.0.0/15, к которой и относится ip 10.49.21.42 (устройство для которого мы и запросили).