
Hola a todos,
Mi servidor dedicado tiene algunas direcciones IP asignadas a cuentas específicas. Y puedo acceder por SSH a la cuenta a través de una IP secundaria. Pero una vez dentro, la IP es siempre la IP principal (lo intenté con el comando "curl wtfismyip.com/text")
Tengo algunos scripts de shell que deben ejecutarse en diferentes instancias de ssh y deberían usar diferentes direcciones IP (diferentes cuentas) para las salidas.
¿Alguien tiene alguna sugerencia o solución para este asunto? Apreciaría tu ayuda.
Gracias
Respuesta1
La IP de su servidor que ven los sitios externos (por ejemplo, whatismyip, ...) es la IP que su servidor obtiene de su tabla de enrutamiento.
$ ip route
default via x.x.x.x dev ethX ...
10.0.0.0/16 dev ethY ...
....
Si el sitio al que intenta conectarse tiene su IP en una subred especificada en la tabla de enrutamiento, tanto la IP de origen (la suya) como la interfaz de salida se tomarán de esta ruta específica. Por ejemplo: la IP de whatismyip.net es 10.0.0.1, cuando le envíe tráfico, su servidor utilizará la interfaz ethY y la IP ethY.
De lo contrario, si el sitio no coincide con ninguna subred, se utiliza la ruta predeterminada. En el ejemplo, el servidor enviará tráfico a través de la interfaz ethX con la IP ethX como fuente.
En su contexto, parece que su ruta predeterminada es a través de eth0.
Para utilizar otra interfaz/IP:
puede especificar para algún comando, la interfaz saliente y luego su IP de origen, por ejemplo.
ping -I ethY whatever.net ping -I eth0.Y whatever.net curl --interface eth0.Y wtfismyip.com/text
o puede agregar una nueva ruta para MY_REMOTE_IP, que impondrá el uso de una determinada interfaz o IP de origen al comunicarse con ella. En el ejemplo anterior, MY_SECOND_IP es la IP de la interfaz 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
De lo contrario, en algunos comandos, puede imponer la IP de origen, por ejemplo.
ssh -b MY_SECOND_IP user@MY_REMOTE_IP