come trovare il gateway utilizzato per il routing


45

Questo è in ambiente unix. Ho più percorsi in un host (visibile con il comando 'ip route show'). Se eseguo il ping di un indirizzo, come posso sapere quale gateway è stato utilizzato per instradare il tracffic?

Ho provato ad usare il comando traceroute, ma non mostra il gateway immediato.

Da sotto l'output, 10.58.227.1 è il mio gateway predefinito.

# ip r l
10.58.227.0/24 dev front_eth1  proto kernel  scope link  src 10.58.227.231
169.254.0.0/17 dev bond0  proto kernel  scope link  src 169.254.0.4
default via 10.58.227.1 dev front_eth1  proto gated

Quando eseguo il traceroute verso un indirizzo esterno, il gateway utilizzato (gateway predefinito 10.58.227.1) non viene mostrato nell'output.

# traceroute -n -I 10.63.21.118
traceroute to 10.63.21.118 (10.63.21.118), 30 hops max, 40 byte packets
 1  10.58.112.1  0.507 ms  1.008 ms  1.017 ms
 2  10.63.21.118  0.228 ms  0.233 ms  0.234 ms

C'è qualche opzione per visualizzare le stesse informazioni fornite dal comando traceroute, incluso il gateway utilizzato per il routing?

Risposte:


73

Puoi usare il ip route get <address>comando per chiedere al kernel di segnalare il percorso che userebbe per inviare un pacchetto all'indirizzo specificato:

$ ip route get 4.2.2.1
4.2.2.1 via 192.168.0.1 dev eth0  src 192.168.0.121 
    cache 
$ 

192.168.0.1è il mio percorso predefinito. Se chiedo un indirizzo che non superi il percorso predefinito:

$ ip route get 192.168.0.116
192.168.0.116 dev eth0  src 192.168.0.121 
    cache 
$ 

Grazie mille. :) Questo risolve il problema.

Domanda a margine casuale - Se 192.168.0.1è "route predefinita" o "gateway" ... a quale nome verrebbe utilizzato 192.168.0.121? Solo "fonte"?
dtmland,

@sarnold, per favore conferma se ha bisogno di internet su quel server.
kd12

@ kd12 hai solo bisogno di una connessione Internet su quel server se vuoi instradare i pacchetti verso Internet. È possibile configurare reti IP senza essere connessi a Internet, se lo si desidera; le tabelle di routing non lo sanno e non gliene importa, funziona tutto allo stesso modo. :)
sarnold,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.