Não é possível obter o endereço IP do ponto de acesso WiFi (hostapd) com DHCP (dnsmasq) em ponte com dois adaptadores ethernet (bridge-utils)

2

Meu smartphone Android está tentando obter o endereço DHCP por meio da conexão Wi-Fi, mas falha.

Obviamente, eu poderia ter estragado algo em minhas configurações porque não consegui encontrar um guia completo que me permitisse fazer tudo de uma vez, assim eu tive que combinar vários guias, mas ainda me sinto um pouco novo em relação à rede configuração no Linux.

O que eu quero alcançar:

- crie um ponto de acesso Wi-Fi e um servidor DHCP em que todos os dispositivos recebam endereços IP na mesma rede. O acesso à Internet não é obrigatório, portanto, não é necessário roteamento - apenas uma rede local onde meu servidor atua como um switch (bridge), fornecendo endereços IP para todos os dispositivos conectados a ele por meio de WiFi ou Ethernet.

Veja o que eu tenho:

  • uma máquina Linux (na verdade, Raspberry Pi com Raspbian) com dongle Wi-Fi Ralink RT5370 (que alega suportar Ponto de Acesso) e duas portas Ethernet - uma é a porta incorporada da RPi e a outra é a Trendnet TU2-ET100 (chip AX88772)

  • Eu instalei o bridge-utils e o dnsmasq e tudo funciona bem com conexões Ethernet - todos os dispositivos conectados a portas Ethernet RPi recebem seus endereços IP do RPi por meio do dnsmasq

  • Instalei o hostapd e configurei-o para ser AP aberto, para iniciantes. Tentei usar o WPA, mas no meu telefone Android que também falhou com "Falha de autenticação", desativei a autenticação. E agora meu dispositivo Android fica preso ao adquirir o endereço IP e, em seguida, falha.

Aqui estão meus arquivos de configuração:

/ etc / default / hostapd:

interface=wlan0
hw_mode=g
bridge=br0
channel=1
ssid=FakeTestServer_AP
auth_algs=1
wmm_enabled=0

/ etc / default / hostapd:

DAEMON_CONF="/etc/hostapd/hostapd.conf"

/ etc / network / interfaces:

auto lo

iface lo inet loopback

auto br0
iface eth0 inet manual
iface eth1 inet manual

iface br0 inet static
        bridge_ports eth0 eth1 wlan0
        bridge_stp off
        bridge_fd 0
        bridge_waitport 0
        bridge_maxwait 0
        address 10.0.0.1
        netmask 255.255.255.0

/etc/dnsmasq.conf:

interface=br0
dhcp-range=10.0.0.2,10.0.0.254,255.255.255.0,12h

Aqui está o que ifconfig mostra:

br0       Link encap:Ethernet  HWaddr 00:14:d1:da:c7:dc
          inet addr:10.0.0.1  Bcast:10.0.0.255  Mask:255.255.255.0
          inet6 addr: fe80::214:d1ff:feda:c7dc/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1343 errors:0 dropped:0 overruns:0 frame:0
          TX packets:212 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:83674 (81.7 KiB)  TX bytes:16750 (16.3 KiB)

eth0      Link encap:Ethernet  HWaddr b8:27:eb:74:1f:8c
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:5824 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2800 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1448587 (1.3 MiB)  TX bytes:1057796 (1.0 MiB)

eth1      Link encap:Ethernet  HWaddr 00:14:d1:da:c7:dc
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:5353 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1145578 (1.0 MiB)  TX bytes:414153 (404.4 KiB)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:52 errors:0 dropped:0 overruns:0 frame:0
          TX packets:52 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:3744 (3.6 KiB)  TX bytes:3744 (3.6 KiB)

mon.wlan0 Link encap:UNSPEC  HWaddr 00-C1-40-95-0D-43-00-00-00-00-00-00-00-00-00-00
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:7417 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:2107086 (2.0 MiB)  TX bytes:0 (0.0 B)

wlan0     Link encap:Ethernet  HWaddr 00:c1:40:95:0d:43
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:182 errors:0 dropped:0 overruns:0 frame:0
          TX packets:122 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:31498 (30.7 KiB)  TX bytes:21682 (21.1 KiB)

Para deixar claro, repito: a ponte e as duas conexões Ethernet funcionam bem, e não há erros quando eu corro:

sudo service hostapd restart
sudo service dnsmasq restart
sudo service networking restart

No início, o bridge-utils falhou com uma mensagem

can't add wlan0 to bridge br0: Operation not supported

mas depois que eu adicionei bridge=br0 às configurações do hostapd, o bridge-utils não reclamou mais, então eu acho que o wlan0 foi adicionado à bridge mas eu não tenho certeza do que está acontecendo lá.

Como faço para que meu Wi-Fi funcione no modo Access Point e faça parte da mesma ponte, já que eth0 e eth1 são?

    
por JustAMartin 16.04.2015 / 10:49

0 respostas