Como criar um ponto de acesso Wi-Fi no Windows 7 + redirecionamento para uma página da Web local?

7

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

Basicamente, o que estou tentando alcançar é:

  1. Crie um ponto de acesso Wi-Fi usando o adaptador Wi-Fi embutido no computador ao qual as pessoas podem se conectar (aberto ou protegido por senha)

  2. Intercepte e redirecione as solicitações de DNS e / ou HTTP para que a página da Web da experiência seja exibida ao abrir um navegador (como um portal cativo)

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

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

  • Eu estou preso com o Windows 7 (eu sei que com o Linux o problema teria sido resolvido há muito tempo!)
  • O computador é uma máquina independente, ou seja, não há acesso a outras redes ou à Internet. O que significa também sem roteador ou qualquer outro dispositivo externo!

Qualquer ajuda ou sugestão são muito apreciadas!

    
por Federico 01.09.2014 / 01:27

1 resposta

2

  1. Obtenha o MaraDNS

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

  1. Configurar o MaraDNS

Abra “secret.txt” e altere o valor para outra coisa (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 / caching”.

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

Estaremos configurando as funcionalidades autoritativa e recursiva no MaraDNS.

2.1 Configuração autoritativa

Configuraremos o servidor para fornecer nomes autoritativos dos nomes de domínio da LAN. Escolha qualquer domínio, eu escolhi "local.com" (note que você não será capaz de acessar o site "local.com" se você escolher um nome de domínio existente).

Adicione linhas de configuração a "mararc" como estas:

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

Onde local.com é o nome de domínio escolhido, 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 para seus endereços IP corretos.

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

Agora, adicione os servidores DNS do seu provedor como servidores upstream em "mararc":

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

em que 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ê alterou as configurações DNS recursivas (os endereços dos servidores DNS do ISP estão corretos?) e, se ocorrer um erro na segunda consulta, você alterou as configurações autoritativas.

  1. Alterar o MaraDNS para responder a consultas da sua LAN

Desligue a janela 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 será executado e a parte “192.168.1 ″ de recursive_acl é a mesma que na sua rede (pode ser 192.168.0.0/24).// p>

Inicie o MaraDNS novamente e deixe-o funcionando.

  1. Configure seu roteador para distribuir seu novo servidor DNS

Abra a interface da 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 será executado.

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 poder se referir aos seus computadores da LAN pelos nomes de domínio deles.

Fonte

    
por 09.09.2014 / 16:21