Tenho um domínio, um endereço IP estático e muitos dispositivos que gostaria de acessar fora da minha casa. Como faço para encaminhá-los?

Tenho um domínio, um endereço IP estático e muitos dispositivos que gostaria de acessar fora da minha casa. Como faço para encaminhá-los?

Eu tenho um domínio (por exemplo example.com), endereço IP estático (por exemplo 212.5.5.5) e dispositivos locais em 192.168.0.1:80, 192.168.0.2:80, 192.168.0.3:80, 192.168.0.4:80, 192.168.0.4:47(este não é um site).

Como acesso esses dispositivos usando subdomínios (por exemplo, device1.example.com, device2.example.com, etc.)?

Atualmente só consegui pegar example.com:80e example.com:47trabalhar, que apontam para 192.168.0.4:80e 192.168.0.4:47.

Eu sei que você não pode definir a porta no servidor DNS.

Como devo superar meu problema?

Responder1

Você pode ter um servidor público executando o proxy reverso nginx que redireciona o tráfego com base no subdomínio para o servidor correto.

Configuração do nginx no seu servidor "principal":

server {
  server_name device1.example.com;
  location / {
    proxy_pass http://192.168.0.1:80;
  }
}
server {
  server_name device2.example.com;
  location / {
    proxy_pass http://192.168.0.2:80;
  }
}
server {
  server_name device3.example.com;
  location / {
    proxy_pass http://192.168.0.3:80;
  }
}

Responder2

Você precisará usar portas alternativas para tudo, exceto uma delas. Por exemplo, 212.5.5.5:80 encaminharia para 192.168.0.1:80, mas 212.5.5.5:81 encaminharia para 192.168.0.2:80 e 212.5.5.5:82 encaminharia para 192.168.0.3:80, e assim sobre. Isto deve ser configurável na maioria dos dispositivos NAT modernos.

Outra maneira, se você estiver disposto a usar IPv6, é simplesmente ativar a passagem IPv6 em seu dispositivo ou roteador NAT. Isso basicamente expõe todos os endereços IPv6 da sua LAN à Internet pública, permitindo que você os acesse diretamente de fora. Como você pode imaginar, há algum risco associado a isso. Cabe a você decidir se esse risco é tolerável.

Responder3

Você não deve expor esses serviços diretamente à Internet. Você não pode auditar esses dispositivos para ter certeza de que estão seguros, e apenas expô-los vaza informações sobre o estado da sua rede interna.

A solução correta é configurar um servidor VPN que conceda acesso remoto a uma rede interna. O ideal é que a rede interna seja segregada da rede principal, usada apenas para esses dispositivos expostos. Isso limita os danos se eles forem hackeados.

O software VPN de código aberto é maduro, auditado e os problemas de segurança são bem compreendidos. Você se limita a uma superfície de ataque muito menor.

Responder4

Você pode primeiro garantir que todos precisem acessar esses serviços pela Internet (= que eles sejam realmente públicos). Caso contrário, você pode considerar configurar um servidor VPN e acessar os serviços dentro da sua rede.

Presumo que os serviços que estão na porta 80sejam servidores web que fornecem serviços web típicos. Nesse caso, aplicam-se as soluções de proxy reverso sugeridas em outras respostas.

Pode ser que sejam serviços preparados/destinados a funcionar com uma SRVentrada no seu DNS. A ideia é que você resolva um registro conhecido para um serviço, que por sua vez fornece o nome:porta à qual se conectar. Para tomar o exemplo do Minecraft:

  • você configurou seu cliente para se conectarminecraft.example.com
  • seu cliente sabe que pode consultar _minecraft._tcp.minecraft.example.com.o IP e a porta reais para se conectar.

Este é um recurso extremamente útil, mas deve ser implementado noclientepara o serviço que você está acessando

informação relacionada