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 o dispositivo e a rede ao redor.
Existe um software que pode emular uma LAN através da Internet, chamada LogMeIn Hamachi . Ao instalar e ativar 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 Port Forwarding.
Outra opção é usar o recurso Port Forwarding embutido do SSH. Se houver outro host SSH acessível pela Internet (chamaremos de Host 1) na mesma LAN do host ao qual você está tentando se conectar (Host 2), você poderá emitir um comando que salte a conexão do seu computador. (em uma porta local específica) através do Host 1, e o Host 1 direciona seu tráfego para o Host 2 não encaminhado pela porta em sua LAN.
O comando é o seguinte e deve ser executado na máquina local que você está tentando usar para conectar-se 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 na 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 [user-of-Host-1]@[Host-1-address]
argumentos para o Host-2, conforme especificado [local-IP-of-Host-2-according-to-Host-1]:[port-to-connect-to-on-Host-2-from-Host-1]
. Esse método é chamado de Encaminhamento de porta local (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, do meu café local, usando o Host 1, que é encaminhado por porta, para devolver a conexão à sua LAN. Observe que isso abrirá um PTS na máquina remota, mas poderá ser ignorado até que você deseje fechar este túnel. Então você pode apenas fechar a sessão de terminal como faria normalmente.
O IP público do Host 1 é 201.31.103.212
(o NAT que encapsula o Host 1 e o Host 2) na porta 1337
para SSH. Host 2, na LAN, tem o IP local do 192.168.254.40
e usa porta 22
para SSH. O nome de usuário de login do host 1 é fish
.
Ok, então vou dizer que tenho a porta local 8080
não utilizado e pode usá-lo para esta demonstração temporariamente.
O comando que eu formaria é como tal:
ssh -L 8080:192.168.254.40:22 fish@201.31.103.212
Agora isso abre porta 8080
no seu computador local e envia para 192.168.254.40
na porta 22
(Host 2) de acordo com o Host 1 (que é fish@201.31.103.212
)
Agora, se você quiser SSH no Host 2, tudo que você precisa fazer é especificar seu computador na porta 8080
. Digamos que o nome de usuário de login do Host 2 seja turtle
ssh turtle@127.0.0.1 -p 8080
O SSH está gerenciando sua porta 8080
, e envia a sua solicitação SSH para o Host 1, que envia para o Host 2. Por favor, note que, ao invés de usar 127.0.0.1
, você também pode simplesmente usar localhost
. É apenas uma preferência.
Outro uso do SSH Port Forwarding é proxies.
Cenário: Estou na escola com meu laptop pessoal e quero acessar o Twitter, que está bloqueado (na verdade é na minha escola, então eu fiz exatamente isso). Eu tenho um host SSH encaminhado por porta em minha casa com o IP 39.34.81.56
na porta 1337
. Quero devolver uma conexão com o Twitter (os servidores da Web são mais comumente hospedados na porta 80
) do meu porto 8080
no meu laptop através do meu host em casa.
Gostaria de emitir o comando no meu laptop:
ssh -L 8080:twitter.com:80 root@39.34.81.56 -p 1337
Agora eu posso acessar localhost:8080
no meu navegador, e ele irá rotear o Twitter através do meu túnel criptografado, de seus servidores para minha casa, em seguida, para o meu laptop na escola.
Eu posso usar esse mesmo método para entrar 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 somente sem SSH da minha casa, o que eu fiz com certeza é seguro.
Boa sorte!
EDIT: Apenas uma nota lateral, os endereços IP mostrados aqui não devem ser endereços válidos, mas na chance de que eles são, por favor, não assediar os usuários desses IPs.