Co to jest odpowiednik GNU / Linux dla BSD „route get…”?


16

Polecenie BSD routema funkcję, która pokaże, która trasa zostanie wybrana dla danego hosta. Na przykład:

/Users/mhaase $ route get google.com
   route to: iad23s07-in-f8.1e100.net
destination: iad23s07-in-f8.1e100.net
    gateway: 10.36.13.1
  interface: en0
      flags: <UP,GATEWAY,HOST,DONE,WASCLONED,IFSCOPE,IFREF>
 recvpipe  sendpipe  ssthresh  rtt,msec    rttvar  hopcount      mtu     expire
       0         0         0         0         0         0      1500         0 

Czasami uważam to za przydatne, jeśli ręcznie popsuję tabele routingu, aby upewnić się, że reguły routingu działają zgodnie z oczekiwaniami.

Wersja trasy GNU nie ma tej samej komendy „get”. Czy istnieje odpowiednik lub alternatywa dla GNU / Linux?


1
Szukałem / BSD / odpowiednika ip ro, ale ta strona wciąż wystarcza :)
Benjamin Goodacre

Odpowiedzi:


21

Jest

ip route get 74.125.137.100

ale nie rozpoznaje nazw hostów (co uważam za dobrą rzecz). Polecenie jest zwykle dostępne z pakietów iproute lub iproute2.


3
ip route get "$(dig google.com +short)"do rozpoznawania nazw hostów.
jordanm

5
@jordanm, Bardziej jak:dig google.com +short | xargs -tn1 ip route get
Stéphane Chazelas

1
@ StéphaneChazelas, proszę dać mi znać, że powyższe polecenie linux wymagało internetu lub pobiera wynik z tabeli routingu / pamięci podręcznej?
kd12

Polecenie „dig” wykonuje wyszukiwanie DNS. Może to wymagać dostępu do sieci, chyba że wpis DNS znajduje się w lokalnej pamięci podręcznej.
WillW

> ale nie rozwiązuje problemu z rozpoznawaniem nazw hostów (co uważam za dobrą rzecz) - starasz się wyjaśnić, dlaczego uważasz, że związane z tym niedogodności są naprawdę warte czegoś?
poige
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.