
Olá pessoal,
Meu servidor dedicado possui alguns endereços IP atribuídos a contas específicas. E posso fazer SSH para a conta via IP secundário. Mas uma vez dentro, o IP é sempre o IP primário (tentei com o comando "curl wtfismyip.com/text")
Eu tenho alguns scripts de shell que precisam ser executados em diferentes instâncias de ssh e eles devem usar endereços IP diferentes (contas diferentes) para saída.
Alguém tem alguma sugestão, solução para este assunto? Gostaria muito de receber sua ajuda.
Obrigado
Responder1
O IP do seu servidor que sites externos (por exemplo, whatismyip, ...) veem é o IP que o seu servidor obtém da sua tabela de roteamento.
$ ip route
default via x.x.x.x dev ethX ...
10.0.0.0/16 dev ethY ...
....
Se o site que você está tentando conectar tiver seu IP em uma sub-rede especificada na tabela de roteamento, tanto o IP de origem (seu) quanto a interface de saída serão retirados desta rota específica. Por exemplo: o IP de whatismyip.net é 10.0.0.1, quando você envia tráfego para ele, seu servidor usará a interface ethY e o IP ethY.
Caso contrário, se o site não corresponder a nenhuma sub-rede, a rota padrão será usada. No exemplo, o servidor enviará tráfego através da interface ethX com o IP ethX como origem.
No seu contexto, parece que sua rota padrão é via eth0.
Para usar outra interface/IP:
você pode especificar para algum comando, a interface de saída e então seu IP de origem, por exemplo.
ping -I ethY whatever.net ping -I eth0.Y whatever.net curl --interface eth0.Y wtfismyip.com/text
ou você pode adicionar uma nova rota para MY_REMOTE_IP, que imporá o uso de uma determinada interface ou IP de origem ao se comunicar com ele. No exemplo acima, MY_SECOND_IP é o IP da interface ethY
$ ip route add MY_REMOTE_IP dev ethY src MY_SECOND_IP $ ip route add MY_REMOTE_IP dev eth0.Y src MY_SECOND_IP
Caso contrário, em alguns comandos, você pode impor o IP de origem, por exemplo.
ssh -b MY_SECOND_IP user@MY_REMOTE_IP