Atualmente estou enfrentando um problema com um RHEL 7.0 em relação à opção ssh -g (ou seja, conexão de hosts remotos com portas encaminhadas locais).
Estou estabelecendo uma conexão com encaminhamento de porta, de um servidor em myserver_ip address , com a linha de comando usual:
ssh -o StrictHostKeyChecking=no user@server_fqn -L9090:other_server_ip:9080 -g
Quando aponto meu navegador (ou tento buscar algo com curl, recebo uma exceção de conexão recusada):
curl -X GET "http://myserver_ip:9090"
curl: (7) Failed to connect to myserver_ip port 9090: No route to host
Se eu fizer o mesmo em um servidor Ubuntu ele funciona perfeitamente, porém no RHEL simplesmente não funciona.
Suspeitei do firewall, do selinux e até da conectividade de rede.
Para resolver/solucionar isso, tentei o seguinte:
- desativou o firewall (
service firewalld stop
) - verifiquei que o selinux gerencia o 9090 como porta http válida (
semanage port -l | grep 9090
), estava tudo bem - verifiquei se a porta está aberta via netstat(
netstat -alptn | grep 9090
), parece ok, tenho um processo ssh escutando em 9090 - verifiquei se o servidor recebe os pacotes na porta 9090 da interface ehternet (
tcpdump -i ens192 'port 9090' -v
) , e de fato os pacotes são recebidos ...
Então basicamente conformou que o sistema recebe as solicitações na interface, um processo ssh está escutando em todas as interfaces na porta determinada, porém o processo ssh não encaminha pacotes para o outro lado ...
Estou realmente sem pistas para solução de problemas, então se você tiver alguma sugestão, não hesite, eu realmente aprecio alguma ajuda.
Obrigado,
Responder1
Curl já lhe deu a resposta. Não se trata de SSH, não se trata de firewalls, não se trata de selinux.
no route to host
A máquina onde você está executando o curl não sabe para onde deve enviar os pacotes destinados (o endereço IP ao qual está associado) meu server_ip