Actualmente tengo un problema con RHEL 7.0 con respecto a la opción ssh -g (es decir, conexión de hosts remotos a puertos reenviados locales).
Estoy estableciendo una conexión con reenvío de puertos, desde un servidor en la dirección myserver_ip, con la línea de comando habitual:
ssh -o StrictHostKeyChecking=no user@server_fqn -L9090:other_server_ip:9080 -g
Cuando apunto mi navegador (o intento buscar algo con curl, aparece una excepción de conexión rechazada):
curl -X GET "http://myserver_ip:9090"
curl: (7) Failed to connect to myserver_ip port 9090: No route to host
Si hago lo mismo en un servidor Ubuntu funciona perfectamente, sin embargo en RHEL simplemente no funciona.
Sospeché del firewall, selinux e incluso de la conectividad de red.
Para resolver/solucionar este problema, intenté lo siguiente:
- deshabilitó el firewall (
service firewalld stop
) - Verifiqué que Selinux administra el 9090 como puerto http válido (
semanage port -l | grep 9090
), estaba bien - Verifiqué que el puerto esté abierto a través de netstat(
netstat -alptn | grep 9090
), parece estar bien, tengo un proceso ssh escuchando en 9090 - comprobé que el servidor recibe los paquetes en el puerto 9090 de la interfaz ehternet (
tcpdump -i ens192 'port 9090' -v
), y efectivamente se reciben los paquetes...
Básicamente, se conformó con que el sistema recibe las solicitudes en la interfaz, un proceso ssh está escuchando en todas las interfaces en el puerto dado, sin embargo, el proceso ssh no reenvía paquetes al otro lado...
Realmente no tengo pistas para solucionar problemas, así que si tiene alguna sugerencia, no lo dude, realmente agradecería algo de ayuda.
Gracias,
Respuesta1
Curl ya te ha dicho la respuesta. No se trata de SSH, no se trata de firewalls, no se trata de selinux.
no route to host
La máquina donde está ejecutando curl no sabe dónde debe enviar los paquetes destinados (la dirección IP a la que se asocia) my server_ip