Como posso acessar meu computador doméstico pela Internet?

Como posso acessar meu computador doméstico pela Internet?

Existe software que me ajudará a conectar/ssh ao meu computador doméstico a partir da Internet pública? (Digamos, uma cafeteria).

Entendo que perguntas semelhantes a esta foram feitas, mas nenhuma parece realmente responder à pergunta. Deixe-me adicionar alguns detalhes para evitar a série usual de respostas sobre DynDns e encaminhamento de porta.

  • Tenho acesso a um servidor SSH acessível publicamente. Apenas o encaminhamento de porta a partir daí não é uma solução estável que dure vários dias. O encaminhamento de porta tende a interromper conexões, ser lento, etc.

  • Não quero configurar/pagar por DynDns e configurar NAT traversal em meu roteador.

Acho que o seguinte deveria ser possível, só não sei se existe software que já faça isso:

Da mesma forma que os programas peer-to-peer perfuram a travessia NAT, deveria ser possível ter um programa em execução na minha máquina doméstica que abre acesso externo às portas apropriadas por meio de perfuração. Além disso, o programa pode transmitir o IP público dos computadores domésticos e a porta visível externamente perfurada em algum lugar (digamos, em um servidor público ou por e-mail) e atualizar periodicamente essas informações.

Existe software como este? Uma parte desta funcionalidade já é realizada por vários softwares de torrent.

Responder1

Não sugiro colocar seu dispositivo em uma DMZ sob nenhuma circunstância, a menos que você realmente saiba o que está fazendo e possa proteger adequadamente o dispositivo e a rede ao seu redor.

Existe um software que pode emular uma LAN através da internet, chamadoLogMeIn Hamachi. Ao instalar e habilitar isso no host, você pode acessá-lo fazendo login na VLAN em qualquer lugar da Internet.

Embora eu não veja necessariamente o problema com o encaminhamento de porta.

Outra opção é usar o recurso integrado de encaminhamento de porta do SSH. Se houver outro host SSH acessível pela Internet (vamos chamá-lo de Host 1) na mesma LAN do host ao qual você está tentando se conectar (Host 2), você pode emitir um comando que desvia a conexão do seu computador (em uma porta local específica) através do Host 1, e o Host 1 roteia seu tráfego para o Host 2 não encaminhado por porta em sua LAN.

O comando é o seguinte e deve ser executado na máquina local que você está tentando usar para se conectar ao Host 2

ssh -L [local-port-to-open]:[local-IP-of-Host-2-according-to-Host-1]:[port-to-connect-to-on-Host-2-from-Host-1] [user-of-Host-1]@[Host-1-address]

Isso abrirá uma porta em sua máquina (seu [local-port-to-open]argumento) que o SSH gerencia, enviando qualquer tráfego dessa porta através do túnel criptografado feito meus [user-of-Host-1]@[Host-1-address]argumentos para Host-2 conforme especificado em [local-IP-of-Host-2-according-to-Host-1]:[port-to-connect-to-on-Host-2-from-Host-1]. Este método é chamado de encaminhamento de porta local (eu realmente não entendo o encaminhamento de porta remoto).

Por exemplo, digamos que eu queira me conectar ao Host 2, que não é encaminhado por porta, da minha cafeteria local, usando o Host 1, que é encaminhado por porta, para devolver a conexão para sua LAN. Observe que isso abrirá um PTS na máquina remota, mas poderá ser ignorado até que você queira fechar este túnel. Então você pode simplesmente fechar a sessão do terminal como faria normalmente.

O IP público do Host 1 está 201.31.103.212(o NAT que encapsula o Host 1 e o Host 2) na porta 1337para SSH. O Host 2, na LAN, possui o IP local 192.168.254.40e usa a porta 22para SSH. O nome de usuário de login do Host 1 é fish.

Ok, direi apenas que tenho a porta local 8080não utilizada e posso usá-la temporariamente para esta demonstração.

O comando que eu formaria é o seguinte:

ssh -L 8080:192.168.254.40:22 [email protected]

Agora isso abre a porta 8080no seu computador local e envia para 192.168.254.40a porta 22(Host 2) de acordo com o Host 1 (que é [email protected])

Agora, se você deseja fazer SSH no Host 2, tudo o que você precisa fazer é especificar seu computador na porta 8080. Digamos que o nome de usuário de login do Host 2 sejaturtle

ssh [email protected] -p 8080

O SSH gerencia sua porta 8080e envia sua solicitação SSH para o Host 1, que a envia para o Host 2. Observe que, ao contrário de usar 127.0.0.1, você também pode usar apenas localhost. É apenas preferência.

Outro uso do encaminhamento de porta SSH são os proxies.

Cenário: estou na escola com meu laptop pessoal e quero acessar o Twitter, que está bloqueado (na verdade, está na minha escola, então fiz exatamente isso). Eu tenho um host SSH encaminhado por porta em minha casa com o IP 39.34.81.56em port 1337. Quero transferir uma conexão com o Twitter (os servidores da Web são mais comumente hospedados em port 80) da minha porta 8080no meu laptop através do meu host em casa. Eu emitiria o comando no meu laptop:

ssh -L 8080:twitter.com:80 [email protected] -p 1337

Agora posso acessar localhost:8080em meu navegador e ele encaminhará o Twitter através de meu túnel criptografado, dos servidores deles para minha casa e depois para meu laptop na escola.

Posso usar esse mesmo método para fazer login em um site que não usa SSL (pastebin, por exemplo) em público e ter certeza de que minhas credenciais estão seguras porque são criptografadas usando SSH e enviadas apenas sem SSH da minha casa, o que eu fiz com certeza é seguro.

Boa sorte!

EDIT: Apenas uma observação: os endereços IP mostrados aqui não devem ser endereços válidos, mas na eventualidade de serem, por favor, não assedie os usuários desses IPs.

Responder2

Sim, então acho que o encaminhamento de porta É o método de perfuração. Se quiser, você pode colocar seu computador em uma DMZ e evitar toda a bagunça.

informação relacionada