Який еквівалент GNU / Linux "маршруту отримати ..."?


16

Команда BSD routeмає функцію, яка покаже, який маршрут буде обраний для даного хоста. Наприклад:

/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 

Я час від часу вважаю це корисним, якщо я вручну возився з таблицями маршрутизації, щоб переконатися, що правила маршрутизації працюють так, як очікувалося.

Версія маршруту GNU не має такої самої підкоманди "дістати". Чи є еквівалент чи альтернатива для GNU / Linux?


1
Я шукав / BSD / еквівалент ip ro, але цієї сторінки все одно вистачає :)
Бенджамін Годакре

Відповіді:


21

існує

ip route get 74.125.137.100

але це не робить дозвіл імені хоста (що, я думаю, це добре). Команда зазвичай доступна в пакетах iproute або iproute2.


3
ip route get "$(dig google.com +short)"для вирішення імені хоста.
jordanm

5
@jordanm, Більше схоже на:dig google.com +short | xargs -tn1 ip route get
Stéphane Chazelas

1
@ StéphaneChazelas, будь ласка, дайте мені знати, що ця команда linux вимагає Інтернету, або вона отримує результат з будь-якої таблиці / кешу маршрутизації?
kd12

Команда 'dig' виконує пошук DNS. Це може зажадати доступу до мережі, якщо запис DNS не знаходиться в локальному кеші.
WillW

> але це не робить дозвіл імені хоста (що, на мою думку, це добре) - будь ласка, уточнити, чому ви вважаєте, що незручності, які він викликає, дійсно варті нічого?
poige
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.