Configurando o Dnsmaq para servir endereços DHCP ao Hostapd Hotspot

1

Estou tentando configurar o dnsmasq para atuar como servidor DHCP para um hotspot Wi-Fi baseado em hostapd.

Quando o cliente se conecta, a negociação WAP2 é bem-sucedida, mas o dnsmasq produz consistentemente os seguintes erros.

[ 2081.576809] DHCP[wlan0] - DISCOVER [TX][ 2081.580476]                        
[ 2081.582008] DHCP[wlan0] - DISCOVER [RX]                                      
dnsmasq-dhcp: no address range available for DHCP request via wlan0             
[ 2085.297432] DHCP[wlan0] - DISCOVER [TX][ 2085.301107]                        
[ 2085.302630] DHCP[wlan0] - DISCOVER [RX]                                      
dnsmasq-dhcp: no address range available for DHCP request via wlan0             

Isso geralmente significa que o intervalo configurado é incompatível com as configurações do dispositivo.

Se este for o caso, não consigo entender o porquê.

Meu teste dnsmaq.conf é muito básico:

root@imx8qxpa0tcuap:~# cat /etc/dnsmasq.conf                                    
domain-needed                                                                   
bogus-priv                                                                      
interface=wlan0                                                                 
dhcp-range=192.168.207.20,192.168.207.50,12h                                    

... e as configurações atuais da rede devem ser compatíveis:

root@imx8qxpa0tcuap:~# ip addr show wlan0
5: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP 0
    link/ether a0:cc:2b:a5:e0:05 brd ff:ff:ff:ff:ff:ff
    inet 192.168.207.1/32 scope global wlan0
       valid_lft forever preferred_lft forever
    inet6 fe80::a2cc:2bff:fea5:e005/64 scope link
       valid_lft forever preferred_lft forever
root@imx8qxpa0tcuap:~# ip route
192.168.207.0/24 dev wlan0 scope link

As impressões iniciais do dnsmasq não apresentam problema:

root@imx8qxpa0tcuap:~# dnsmasq -d
dnsmasq: started, version 2.78 cachesize 150
dnsmasq: compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP DHCPy
dnsmasq-dhcp: DHCP, IP range 192.168.207.20 -- 192.168.207.50, lease time 12h
dnsmasq: reading /etc/resolv.conf
dnsmasq: using nameserver 8.8.8.8#53
dnsmasq: using nameserver 8.8.4.4#53
dnsmasq: using nameserver 2001:4860:4860::8888#53
dnsmasq: using nameserver 2001:4860:4860::8844#53
dnsmasq: read /etc/hosts - 6 addresses

O que estou fazendo de errado?

Nota1: nesta configuração de teste, o WiFi Hotspot não leva a nada (ainda) apenas a comunicação entre o cliente e o próprio Hotspot deve funcionar.

Nota2: a máquina é uma placa personalizada (i.MX8) que executa uma distribuição baseada em Yocto.

    
por ZioByte 04.10.2018 / 12:11

1 resposta

1

Sua máscara de rede da interface wlan0 está errada.

- > > > 192.168.207.1/ 32

A máscara de rede A / 32 tem 32 bits, 255.255.255.255, que é o endereço IP inteiro.

Você provavelmente quis dizer 192.168.207.0/24, por exemplo 255.255.255.0, também conhecido como endereço de rede da classe C. A / 24 máscara permite-lhe servir até 254 endereços IP, de 192.168.207.1 a 192.168.207.254.

    
por 04.10.2018 / 12:17