Qual é o equivalente ao GNU / Linux do “route get…” do BSD?


16

O routecomando BSD possui um recurso que mostra qual rota será selecionada para um determinado host. Por exemplo:

/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 

Ocasionalmente, acho isso útil se estiver mexendo manualmente com as tabelas de roteamento para garantir que as regras de roteamento estejam funcionando conforme o esperado.

A versão GNU da rota não possui esse mesmo subcomando "get". Existe algum equivalente ou alternativa para o GNU / Linux?


11
Eu estava olhando para a / BSD / equivalente de ip ro mas esta página ainda é suficiente :)
Benjamin Goodacre

Respostas:


21

Há sim

ip route get 74.125.137.100

mas não resolve o nome do host (o que eu acho bom). O comando geralmente está disponível nos pacotes iproute ou iproute2.


3
ip route get "$(dig google.com +short)"para resolução de nome de host.
Jordanm #

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

11
@ StéphaneChazelas, por favor, deixe-me saber que o comando linux acima exigia uma internet ou busca o resultado de qualquer tabela / cache de roteamento?
Kd12 3/07

O comando 'dig' faz uma pesquisa de DNS. Isso pode exigir acesso à rede, a menos que a entrada DNS esteja no cache local.
WillW 16/03/19

> mas ele não resolve o nome do host (o que eu acho bom) - lembre-se de explicar por que você acha que a inconveniência que ela causa realmente vale alguma coisa?
poige
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.