
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 curl
o IP de origem correto ao conectar, informando-o para vincular-se a ele com a --interface
opção antes de conectar.
--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 curl
comando 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 route
comando pode ser alterado para afetar mais do que este único IP, mas o que fazer depende das outras rotas já presentes.