Como encapsular uma porta de um servidor atrás de um firewall para um servidor remoto que permite conexões via ssh?

0

Eu tenho um cenário em que preciso abrir uma porta para um servidor atrás de um ISP que parece estar bloqueando o tráfego. Neste caso eu tenho um servidor dedicado remotamente que eu posso usar ssh e usar as portas que eu desejar. Meu desejo é fazer ssh do servidor por trás desse firewall para o servidor dedicado e, em seguida, abrir uma porta para que o cliente desse outro aplicativo acesse à vontade.

Eu achava que era tão simples quanto, do servidor atrás do firewall do provedor:

ssh username@remote_server_ip -R remote_server_ip:12345:localhost:12345

E, em seguida, simplesmente conecte-se ao software cliente em remoteserver:12345 como a configuração do servidor.

Além disso, tenho sshd_config definido como GatewayPorts clientspecified e quando verifico netstat -tln | grep 12345 no remote_server, estou vendo: Conexões ativas da Internet (somente servidores)

Proto Recv-Q Send-Q Local Address                Foreign Address             State      
tcp        0      0 remote_server_ip:12345       0.0.0.0:*                   LISTEN 

Infelizmente, isso aparentemente não está funcionando. Eu estou suspeitando que eu estou recebendo algo fora dos argumentos ssh. Alguma idéia?

    
por ylluminate 06.09.2013 / 04:07

1 resposta

0

Se eu entendi corretamente, você quer criar um túnel ssh de sua máquina atrás do ISP e expor seu serviço através de uma porta no servidor SSH.

Se esse for o caso, sua linha de comando aparece correta. Eu faço algo similar.

Você ativou o Gatewayports na configuração do sshd para que tudo seja bom, se você não fez isso, você só poderia vincular a porta ao endereço de loopback 127.0.0.1 no servidor ssh.

Nota rápida, eu tive que reiniciar meu servidor ssh para a opção gatewayport para começar a trabalhar. Reiniciar o serviço sshd deve ser suficiente, mas não funcionou para mim.

Eu vejo que você não está especificando uma porta para o servidor ssh, o que significa que você está usando a porta 22, seu ISP pode estar moderando com isso de alguma forma.

Uma outra coisa, seja qual for o serviço que você deseja acessar no servidor por trás do ISP, certifique-se de que sua porta esteja vinculada à causa da interface 127.0.0.1, caso esteja apontando o seu túnel. Além disso, verifique se seu serviço está aceitando conexões dessa interface e verifique novamente se a porta está sendo executada.

@barlop -R 127.0.0.1:12345:localhost:12345 estaria errado, o serviço só seria acessível a alguém que se conectasse no adaptador de loopback.

Mas lendo o post do Barlop eu percebi algo, lembre-se da maneira como você define o seu comando. A porta que está sendo aberta no servidor ssh estará vinculada ao mesmo IP que está executando o seu servidor SSH. O que significa que o serviço está sendo exposto à internet, talvez seja o que você quer, mas se o ppl que precisa do serviço se conectar a partir da LAN, então você precisa vincular essa porta ao ip da LAN do servidor ssh. TAMBÉM tem certeza de que o servidor ssh que você está conectando não está atrás de um firewall que está encaminhando a porta 22 para o servidor internamente? se isso é o caso, significa que você está pedindo ao servidor ssh para abrir uma porta em um ip que pertence ao firewall, o que é obviamente impossível.

Nesse senario você precisaria abrir uma porta na própria lan do servidor ssh, então as máquinas locais poderiam se conectar diretamente lá, se você quisesse expor o serviço à internet então você precisa encaminhar uma porta do firewall para a porta que você abriu no servidor ssh.

Apenas tentando cobrir tudo, é difícil ter uma ideia clara do que está acontecendo sem mais informações sobre a infraestrutura.

Awww os prazeres do trabalho em rede.

    
por 15.04.2014 / 20:03