Tabela de rotas no Ubuntu

Tabela de rotas no Ubuntu

Sou novo em rede e não sei configurar corretamente.

Eu posso fazer ping para o servidor

ping -I 192.168.42.1 42.112.178.185

mas não consegui pingar

ping 42.112.178.185

42.112.178.185 só é permitido aceitar para 192.168.42.0/24.

Como eu poderia adicionar tabela de rotas? eu gostaria de usar

ping 42.112.178.185 

Em vez de

ping -I 192.168.42.1 42.112.178.185

estou tentando ligarhttp://42.112.178.185com curl e precisa rotear de 192.168.42.1.

Responder1

ATUALIZARComo desejado, aqui está uma solução para o problema específico: use curlo IP de origem correto ao conectar, informando-o para vincular-se a ele com a --interfaceopção antes de conectar.

Deenrolar página de manual:

--interface

Execute uma operação usando uma interface especificada. Você pode inserir o nome da interface, endereço IP ou nome do host.

Portanto, o problema pode ser resolvido apenas usando este curlcomando para chegar a 42.112.178.185 com o IP correto:

curl --interface 192.168.42.1 http://42.112.178.185/

Claro que você também pode especificar a interface.


Ainda estou deixando a solução de roteamento abaixo, caso possa ajudar alguém.


De fato, pode ser adicionada uma rota que dirá para usar um IP de origem diferente do IP padrão (aquele pertencente à rede do gateway) ao atingir o destino.

nota: Como algumas informações necessárias não foram fornecidas: o IP do gateway padrão e a interface para acessá-lo, alguns scripts adicionais são necessários para descobrir seu valor. Também porque pode haver um túnel que pode não ter substituído a rota padrão, mas pode ter adicionado duas "rotas meio padrão" 0.0.0.0/1 e 128.0.0.0/1, vou pegar a rota para 42.112.178.185 para ter o valor correto.

Então, vamos atribuir o IP gw a gw:

gw=$(ip -o route get 42.112.178.185 | sed -n 's/^.* via \([^ ][^ ]*\) *.*$/\1/p')

Agora, aqui está o comando de roteamento simples:

ip route add 42.112.178.185 src 192.168.42.1 via $gw

Se por exemplo o gateway fosse 10.0.8.1, com o suposto ip 10.0.8.2 do suposto tun0 do Ubuntu, antes da mudança, consultar a rota para 42.112.178.185 daria:

# ip route get 42.112.178.185
42.112.178.185 via 10.0.8.1 dev tun0 src 10.0.8.2 
    cache 

Após a mudança que se tornaria:

# ip route get 42.112.178.185
42.112.178.185 via 10.0.8.1 dev tun0 src 192.168.42.1
    cache

O ip routecomando pode ser alterado para afetar mais do que este único IP, mas o que fazer depende das outras rotas já presentes.

informação relacionada