Como criar um hotspot wifi no Windows 7 + redirecionamento para uma página local?

Como criar um hotspot wifi no Windows 7 + redirecionamento para uma página local?

Antes de mergulhar na questão, algumas informações básicas rápidas:
Eu construí um pequeno experimento que funciona em conjunto com um computador executando o Windows 7. Neste computador, há um pequeno servidor web que serve uma página web continuamente atualizada com informações de status provenientes do experimento. Agora este experimento será exibido em alguns eventos (imagine MakerFaire, ...) e eu adoraria que as pessoas pudessem usar seus smartphones (ou laptops) para exibir diretamente esta página da web com o mínimo de configuração possível.

Basicamente o que estou tentando alcançar é:

  1. Crie um ponto de acesso Wifiusando o adaptador wi-fi integrado do computadorao qual as pessoas podem se conectar (aberto ou protegido por senha)

  2. Interceptar e redirecionar solicitações de DNS e/ou HTTP para que a página do experimento seja exibida quando eles abrirem um navegador (como um portal cativo)

Até agora consegui atingir o ponto 1 usando o recurso Hosted Network do Windows 7, que funciona muito bem para a parte Wifi AP. No entanto, estou preso quando se trata de modificar as respostas do DHCP para fornecer um servidor DNS personalizado que, por sua vez, encaminhará todo o tráfego para o meu servidor da web: existe alguma maneira de fazer isso?

Algumas restrições que tenho (caso contrário seria muito fácil ;-)):

  • Estou preso no Windows 7 (sei que com o Linux o problema já teria sido resolvido há muito tempo!)
  • O computador é uma máquina autônoma, ou seja, não há acesso a outras redes ou à Internet.O que também significa nenhum roteador ou qualquer outro dispositivo externo!

Qualquer ajuda ou sugestão é muito apreciada!

Responder1

  1. Obtenha o MaraDNS

MaraDNS é um servidor DNS gratuito, leve e relativamente fácil de configurar para Windows e Linux. Baixe-o aqui e descompacte-o em alguma pasta.

  1. Configurar MaraDNS

Abra “secret.txt” e altere o valor para outro valor (caracteres aleatórios).

A configuração do MaraDNS está no arquivo “mararc” no mesmo diretório. Os servidores DNS possuem dois conjuntos de funcionalidades. Eles podem funcionar como um “servidor de nomes autoritativo” ou um “servidor de nomes recursivo/cache”.

Os servidores de nomes autoritativos especificam endereços IP para nomes de domínio. Os servidores de nomes recursivos armazenam informações de servidores de nomes autorizados e transmitem consultas de maneira recursiva.

Estaremos configurando funcionalidades autoritativas e recursivas no MaraDNS.

2.1 Configuração autoritativa

Configuraremos o servidor para fornecer nomes oficiais dos nomes de domínio da LAN. Escolha qualquer domínio, eu escolhi “local.com” (observe que você não poderá acessar o site “local.com” real se escolher um nome de domínio existente).

Adicione linhas de configuração ao “mararc” como estas:

csv2 = {}
csv2["local.com."] = "db.lan.txt"

Onde local.com é o nome de domínio que você escolheu e db.lan.txt é o nome do segundo arquivo de configuração que criaremos a seguir (altere-o se quiser nomear o segundo arquivo de configuração).

Crie um novo arquivo chamado “db.lan.txt” no mesmo diretório do MaraDNS.

Para cada um dos computadores que você deseja resolver para um nome, adicione uma linha a “db.lan.txt”. Por exemplo, para duas máquinas, uma “dev.local.com” e outra “blog.local.com”, adicione as seguintes linhas:

dev.%       192.168.1.4 ~
blog.%        192.168.1.6 ~

Feito!

2.2 Configuração recursiva

Configuraremos o MaraDNS para solicitar aos seus servidores de nomes padrão todos os outros domínios, para que você possa resolver todos os outros nomes de domínio com seus endereços IP corretos.

Descubra os endereços dos servidores DNS do seu ISP. É provável que eles estejam listados na página de status do roteador ou verificando os detalhes no seu adaptador de rede.

Agora adicione os servidores DNS do seu ISP como servidores upstream em “mararc”:

upstream_servers = {}
upstream_servers["."] = "xxx.xxx.xxx.xxx, yyy.yyy.yyy.yyy"

Onde xxx.xxx.xxx.xxx e yyy.yyy.yyy.yyy são os servidores DNS do seu ISP.

Feito!

  1. Execute o MaraDNS e teste-o usando askmara.exe

Clique duas vezes em “runmara.bat” e deixe o servidor em execução.

Abra um prompt de comando, navegue até o diretório MaraDNS e tente executar:

askmara.exe Agoogle.com.

e

askmara.exe Ablog.local.com.

Você deve receber respostas como esta:

# Querying the server with the IP 127.0.0.1
# Question: Agoogle.com.
google.com. +300 a 74.125.67.100
google.com. +300 a 74.125.53.100
google.com. +300 a 74.125.45.100
# NS replies:
# AR replies:

e:

# Querying the server with the IP 127.0.0.1
# Question: Ablog.local.com.
blog.local.com. +86400 a 192.168.1.6
# NS replies:
#local.com. +86400 ns synth-ip-7f000001.local.com.
# AR replies:
#synth-ip-7f000001.local.com. +86400 a 127.0.0.1

Se você tiver problemas com a primeira consulta, você estragou as configurações de DNS recursivo (os endereços do servidor DNS do seu ISP estão corretos?) E se você obteve um erro com a segunda consulta, você estragou as configurações autoritativas.

  1. Altere o MaraDNS para responder às consultas da sua LAN

Encerre a janela do MaraDNS e altere as duas primeiras linhas de “mararc” para algo como:

ipv4_bind_addresses = "192.168.1.2
recursive_acl = "192.168.1.0/24"

Onde 192.168.1.2 é o endereço IP do computador no qual o servidor estará rodando e a parte “192.168.1″ de recursive_acl é a mesma da sua rede (pode ser 192.168.0.0/24).

Inicie o MaraDNS novamente e deixe-o funcionando.

  1. Configure seu roteador para distribuir seu novo servidor DNS

Abra a interface web do seu roteador e encontre as configurações do servidor DHCP. Deve haver uma opção para configurar um servidor DNS. Escreva o endereço IP do computador no qual o servidor DNS estará rodando.

Para cada um dos seus computadores, desconecte a rede (por exemplo, desabilitando e habilitando-a no Windows, ou usando “ifconfig eth0 down”/”ifconfig eth0 up” no Linux).

É isso, agora você deve ser capaz de se referir aos seus computadores LAN pelos nomes de domínio.

Fonte

informação relacionada