Servidores de nomes personalizados em pontos de acesso Wi-Fi com login inicial na web

2

Eu construí um roteador portátil usando um pi de framboesa. Minha configuração funciona, a menos que eu me conecte a um hotspot que exija algum tipo de login baseado na web.

Depois de algumas investigações, acho que o rastreei até um problema de servidor de nomes . Eu estou usando nameservers do google no meu arquivo dhcpd.conf abaixo, isso funciona sem problemas quando eu me conecto a pontos de acesso que não exigem um login na web inicial (wifi em casa, por exemplo).

/etc/dhcp/dhcpd.conf

ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;

subnet 192.168.111.0 netmask 255.255.255.0 {
  range 192.168.111.100 192.168.111.200;
  option broadcast-address 192.168.111.255;
  option routers 192.168.111.1;
  default-lease-time 600;
  max-lease-time 7200;
  option domain-name "local-network";
  option domain-name-servers 8.8.8.8, 8.8.4.4;
}

A remoção da linha option domain-name-servers torna todos os clientes em wlan1 incapazes de resolver nomes de host.

Eu posso encontrar os nameservers do hotspot atual dentro de /etc/resolv.conf

/etc/resolv.conf

nameserver 212.27.40.241
nameserver 212.27.40.240

No meu macbook, se eu inserir manualmente esses nameservers na área de configurações de rede, sou redirecionado para a página de login do hotspot. Uma vez logado, posso remover essas entradas manuais e ele será revertido para os servidores de nomes fornecidos pelo meu servidor DHCP.

No entanto, essa não é uma solução ideal, pois o ponto de acesso conectado em wlan0 mudará conforme eu viajo e terei mais de um dispositivo conectado a wlan1 .

Meu objetivo aqui é remover essa última etapa. Existe alguma maneira de automatizar este no servidor raspberrypi ? Ou estou me aproximando disso da maneira errada? A melhor solução é sempre usar o DNS padrão do hotspot? Em caso afirmativo, como instruir o dhcpd a fazer isso automaticamente?

Algumas informações sobre minha configuração:

  • 2 adaptadores físicos de wi-fi
  • wlan0 para se conectar a vários pontos de acesso
  • wlan1 para criar uma rede local.
  • isc-dhcp-server ( dhcpd ) para distribuir endereços IP acima de wlan1
  • hostapd para criar um ponto de acesso local
  • Passagem NAT usando iptables
por simonwjackson 22.03.2015 / 12:27

1 resposta

0

Para que isso funcione, você precisa fazer login no ponto de acesso usando uma interface da web. Existem alguns scripts que podem fazer isso automaticamente com vários níveis de sucesso, você pode tentar a sua sorte com, por exemplo, Zeroshell ou similar.

    
por 03.04.2015 / 11:20