Como tornar um servidor web local visível da internet * sem * configurar o encaminhamento de porta no roteador?

12

Eu desenvolvo sites no meu laptop (high-end) e trabalho em vários locais físicos.

Gostaria de salvar o incômodo de sincronizar constantemente com um servidor Web visível externamente para que os clientes testem o andamento do site (ou para fins relacionados). Portanto, estou tentando encontrar uma maneira de ativar meu laptop para ser automaticamente visível publicamente na Internet, de qualquer local, mesmo quando não tenho acesso ao roteador para configurar o encaminhamento de portas (como em cafeterias ou outras conexões sem fio públicas).

Já uso o DynDNS para fazer a minha escolha de nomes de domínio encaminhar para um servidor de desktop por meio de um roteador que eu tenha configurado ... mas, como eu disse, gostaria de descartar a etapa de utilizar este servidor desktop.

Eu esperava que os serviços pagos de proxy reverso (cobrando uma taxa mensal por uma conta) fornecessem um software de "proxy reverso" proprietário / servidor de nível de soquete que poderia ser usado para essa finalidade. Eu não consigo encontrar um. Eu já uso o TeamViewer e o LogMeIn, fornecendo serviços proprietários semelhantes. Na verdade, tentei usar o LogMeIn Hamachi VPN para tornar isso possível - fazendo com que meu desktop (já visível na Internet) redirecionasse o tráfego IP solicitando a porta 80 pela VPN ao meu laptop. No entanto, não parece possível configurar o Hamachi / Windows assim (mas posso estar errado).

Espero que haja uma maneira simples e robusta de conseguir isso.

    
por Dan Nissenbaum 20.09.2011 / 23:59

2 respostas

8

Se você tem um servidor que você pode SSH para e esse servidor permite que você escute nas portas relevantes os endereços IP públicos (que se você controlá-lo, ele vai - talvez até mesmo a máquina desktop você descreve se você instalar SSHd via cygwin ou similar) você poderia usar a opção de tunelamento do SSH para puxar o tráfego para o seu servidor local.

Algo como: ssh [email protected] -g -R 11.22.33.44:80:127.0.0.1:80 , uma vez conectado e autenticado, fará a porta 80 em 11.22.33.44 (supondo que seja um endereço público do servidor), conexões que serão encaminhadas para a porta local 80. Você precisa do A opção GatewayPorts habilitada no servidor para escutar em um endereço não-localhost desta forma, e precisa estar logado como root para escutar em portas abaixo de 1024, e se já existe um serviço escutando na porta 80, obviamente você precisa escolher algo mais de qualquer maneira. É recomendável adicionar a opção -C para ativar a compactação dos fluxos via SSH, especialmente se você conectar o laptop por meio de uma rede lenta (talvez no meio do nada com apenas uma conexão móvel GPRS disponível).

Para usar o ssh no Windows, você tem algumas opções. Você pode instalar a porta do cygwin [então o comando que eu dei acima deve JustWork (tm)] ou usar algum outro cliente. O PuTTY é uma opção muito popular e suporta encapsulamento remoto de portas.

Desta forma, o servidor web da sua máquina estará sempre disponível no mesmo endereço quando estiver conectado, não importando onde você se conecte, então não há necessidade de usar DNS dinâmico para nomes humanos que você queira atribuir (assumindo o servidor você se conecta a um endereço público fixo, é claro).

Em vez de usar um servidor doméstico ou de escritório para isso, o que pode atrasar ainda mais, a menos que você tenha uma boa conexão rápida em ambas as direções, poderá obter melhores resultados alugando um pequeno VPS do Linux em algum lugar (de preferência no mesmo país ) apenas para este fim. Você só precisa da menor quantidade de máquinas, desde que haja largura de banda suficiente, o que custará apenas um ou dois dólares por mês.

Assim como o SSH, você também pode considerar uma ferramenta de VPN como o OpenVPN e usar regras simples do iptables no servidor para encaminhar conexões para a sua máquina quando conectado. Isso pode ser mais eficiente e menos incômodo uma vez configurado, mas pode ser um pouco incômodo extra para configurar se você não estiver familiarizado com ele e roteamento em geral já. Novamente, um VPS barato ou seu próprio servidor de escritório / home funcionaria como o servidor final da VPN.

    
por 21.09.2011 / 11:58
1

Túnel IPV6 no laptop, combinado com um proxy ipv4 a 6 - gogo6 tem um serviço agradável e gratuito com um cliente para atualização automática como parte de freenet6 -. Combine isso com um registro AAAA e um proxy que converta de ipv6 para 4 ( sixxs executa um public), ou para uma solução mais elegante , o seu próprio servidor proxy ( polipo pode funcionar) que faz a tradução em execução no mesmo endereço A

Configure corretamente, isso deve ser na maior parte transparente, além de uma ligeira latência de ser rejeitado tantas vezes.

    
por 21.09.2011 / 12:32