Como posso copiar de um servidor na internet para um servidor atrás de um roteador fazendo NAT?

2

Eu tenho um VPS e um servidor atrás de um firewall NAT. Eu quero usar o servidor por trás de um firewall NAT como um backup para o VPS. O VPS precisa ser capaz de iniciar o processo de backup e enviar os backups pela Internet, passando pelo roteador que faz o NAT e pela máquina de backup. Eu não tenho controle sobre o roteador, então minha máquina de backup não tem endereço IP público.

Existe uma maneira de eu abrir um túnel SSH (ou equivalente) da máquina de backup para o servidor, de modo que o servidor possa copiar arquivos através dessa conexão?

Topologia assim:

 ________                      _______________      ________
| server | -- ( internet ) -- | router w/ NAT | -- | backup |
 --------                      ---------------      --------
    
por beerbajay 13.08.2010 / 02:14

4 respostas

0

Respondendo minha própria pergunta:

Isso mostra que tudo o que você precisa é de um novo termo de pesquisa: "reverse", como em "reverse ssh tunnel".

Portanto, para criar um túnel SSH reverso, execute o SSH da máquina por trás do NAT (backup, no meu exemplo) com -R e especifique qual porta remota será vinculada a uma porta local, portanto:

ssh -R remote_bind_port:localhost:local_port remote_user@server

Então, por exemplo:

ssh -R 1222:localhost:22 [email protected]

Ligaria a porta 1222 em example.com à porta localhost 22. Ou seja: um usuário em example.com pode fazer ssh localhost -p 1222 para percorrer o NAT e se conectar ao servidor SSH na máquina atrás do roteador.

    
por 13.08.2010 / 09:58
2

Eu faço isso, mas faço isso de trás para frente.

Eu tenho o servidor OpenVPN executado no servidor, com o backup executando um cliente OpenVPN. Isso ocorre porque o servidor não altera os endereços IP. Agora, enquanto o backup estiver ativo, não importa o endereço IP da caixa NAT, ele sempre terá o mesmo IP na rede OpenVPN, e o servidor sempre poderá encontrá-lo.

Também para bônus, já que a conexão OpenVPN é "de saída" através do NAT, desde que a porta UDP seja permitida (que é por padrão na maioria dos dispositivos), não há configuração especial necessária para o dispositivo NAT. .

    
por 13.08.2010 / 03:07
1

Abra uma conexão SSH do seu servidor doméstico para o VPC, ative o tunelamento para que o computador VPC possa se conectar aos serviços no computador doméstico; rsync ou ftp provavelmente seria mais fácil.

    
por 13.08.2010 / 02:28
0

O protocolo de transferência segura de arquivos é uma solução bastante boa e segura, mas há outras soluções como o uso do rsync ou talvez do FTP.

Para o rsync, você pode abrir a porta n ° 873 no roteador e encaminhá-la para o destino de backup. Para o problema de FTP simples, há duas soluções simétricas, a primeira é abrir a porta de FTP no destino de backup e fazer o encaminhamento novamente. O segundo parece ser útil para você, mesmo que você não tenha acesso ao roteador para alterar a regra NAT, bem, neste caso, você tem que configurar um daemon FTP no servidor como repositório e fazer um script sincronizado que fará a transferência para a máquina de backup.

Além disso, uma solução de tunelamento parece ser uma boa alternativa, então eu recomendo o OpenVPN.

    
por 13.08.2010 / 03:12