O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.
Esta página foi traduzida pela API Cloud Translation.
Switch to English

Configuração de ponto de acesso Wi-Fi para roteador OpenThread Border

Um ponto de acesso (AP) Wi-Fi conecta uma rede Thread à Internet.

Um Raspberry Pi 3B (RPi3B) funcionando como um OpenThread Border Router (OTBR) também pode servir como um ponto de acesso suave (SoftAP). Este SoftAP atua como um servidor DHCP para atribuir endereços IPv4 ao RPi3B e quaisquer dispositivos usados ​​como Comissários Externos.

O BeagleBone Black não tem suporte para Wi-Fi integrado e não pode ser usado como um ponto de acesso Wi-Fi

Todos os comandos de configuração e terminal ocorrem em um RPi3B executando OTBR. Consulte Compilação e configuração para obter mais informações.

O RPi3B deve estar conectado à Internet via Ethernet (interface eth0 , conforme exibido na saída do comando ifconfig ) para servir com sucesso como SoftAP.

Se você executou o script de configuração OTBR sem desabilitar NETWORK_MANAGER , conforme descrito em Compilar e Configuração , o AP Wi-Fi já foi configurado. Vá para Usando o Network Manager para mais informações.

Instale pacotes

Três pacotes são necessários:

  • hostapd - permite o uso de um rádio Wi-Fi integrado do dispositivo como um AP
  • dnsmasq - um servidor DHCP e DNS combinado
  • tayga - Stateless NAT64
sudo apt-get install hostapd dnsmasq tayga

Configurar endereços IPv4 estáticos

Nas versões mais recentes do Raspbian, a configuração da interface é controlada pelo dhcpcd por padrão. Desative o dhcpcd para a interface e configure manualmente os endereços IPv4 estáticos para o SoftAP.

  1. Atualize o dhcpcd para ignorar a interface wlan0 (Wi-Fi):
    1. Abra o arquivo de configuração dhcpcd :
      sudo vim /etc/dhcpcd.conf
    2. Adicione a seguinte linha ao final do arquivo:
      denyinterfaces wlan0
  2. Configure endereços IPv4 estáticos na interface wlan0 :
    1. Crie um arquivo de configuração para a interface wlan0 :
      sudo vim /etc/network/interfaces.d/wlan0
    2. Adicione os seguintes parâmetros de configuração ao arquivo wlan0 :
      allow-hotplug wlan0
      iface wlan0 inet static
          address 192.168.1.2
          netmask 255.255.255.0
          network 192.168.1.0
          broadcast 192.168.1.255

Configurar hostapd

  1. Criar um novo hostapd arquivo de configuração:
    sudo vim /etc/hostapd/hostapd.conf
  2. Adicione os seguintes parâmetros de configuração ao hostapd.conf :

    # The Wi-Fi interface configured for static IPv4 addresses
    interface=wlan0
    
    # Use the 802.11 Netlink interface driver
    driver=nl80211
    
    # The user-defined name of the network
    ssid=BorderRouter-AP
    
    # Use the 2.4GHz band
    hw_mode=g
    
    # Use channel 6
    channel=6
    
    # Enable 802.11n
    ieee80211n=1
    
    # Enable WMM
    wmm_enabled=1
    
    # Enable 40MHz channels with 20ns guard interval
    ht_capab=[HT40][SHORT-GI-20][DSSS_CCK-40]
    
    # Accept all MAC addresses
    macaddr_acl=0
    
    # Use WPA authentication
    auth_algs=1
    
    # Require clients to know the network name
    ignore_broadcast_ssid=0
    
    # Use WPA2
    wpa=2
    
    # Use a pre-shared key
    wpa_key_mgmt=WPA-PSK
    
    # The network passphrase
    wpa_passphrase=12345678
    
    # Use AES, instead of TKIP
    rsn_pairwise=CCMP
    
  3. Defina este novo arquivo de configuração como o daemon padrão:

    1. Abra o arquivo de configuração padrão:
      sudo vim /etc/default/hostapd
    2. Ativar o DAEMON_CONF parâmetro e apontá-lo para o novo hostapd arquivo de configuração:
      DAEMON_CONF="/etc/hostapd/hostapd.conf"
  4. Inicialize o daemon hostapd automaticamente na reinicialização:

    1. Desmascare e inicie manualmente o hostapd caso esteja mascarado:
      sudo systemctl unmask hostapd
      sudo systemctl start hostapd
    2. Crie um arquivo de configuração de serviço para hostapd :
      sudo vim /etc/systemd/system/hostapd.service
    3. Adicione os seguintes parâmetros de configuração a hostapd.service :

      [Unit]
      Description=Hostapd IEEE 802.11 Access Point
      After=sys-subsystem-net-devices-wlan0.device
      BindsTo=sys-subsystem-net-devices-wlan0.device
      
      [Service]
      Type=forking
      PIDFile=/var/run/hostapd.pid
      ExecStart=/usr/sbin/hostapd -B /etc/hostapd/hostapd.conf -P /var/run/hostapd.pid
      
      [Install]
      WantedBy=multi-user.target
      
    4. Abra o arquivo /etc/rc.local :

      sudo vim /etc/rc.local

    5. Adicione o seguinte no final do arquivo, antes da linha de exit 0 :

      sudo service hostapd start

Verifique o ponto de acesso

Uma vez hostapd está configurado, o SoftAP deve ser ao vivo (embora sem conectividade com a internet).

Para verificar, reinicie o RPi3B:

sudo reboot

Após a reinicialização, verifique se há redes sem fio em outro dispositivo. Você deve ver o SSID do BorderRouter-AP .

Configurar dnsmasq

  1. Para facilitar a configuração, se um arquivo de configuração dnsmasq padrão já existir em seu sistema, mova-o e crie um novo:
    sudo mv /etc/dnsmasq.conf /etc/dnsmasq.conf.orig
    sudo vim /etc/dnsmasq.conf
  2. Adicione os seguintes parâmetros de configuração a dnsmasq.conf :

    # The Wi-Fi interface configured for static IPv4 addresses
    interface=wlan0
    
    # Explicitly specify the address to listen on
    listen-address=192.168.1.2
    
    # Bind to the interface to make sure we aren't sending things elsewhere
    bind-interfaces
    
    # Forward DNS requests to the Google DNS
    server=8.8.8.8
    
    # Don't forward short names
    domain-needed
    
    # Never forward addresses in non-routed address spaces
    bogus-priv
    
    # Assign IP addresses between 192.168.1.50 and 192.168.1.150 with a 12 hour lease time
    dhcp-range=192.168.1.50,192.168.1.150,12h
    
  3. O serviço bind9 pode entrar em conflito com dnsmasq durante a inicialização. Para garantir que não haja conflito, atualize o serviço bind9 para não iniciar até que o dnsmasq seja iniciado. Abra o /lib/systemd/system/bind9.service arquivo:

    sudo vim /lib/systemd/system/bind9.service

  4. Modifique o parâmetro After para que o bind9 comece após dnsmasq :

    "After=network.target dnsmasq.service"

Configurar NAT

Network Address Translation (NAT) é um método de tradução de endereços IP enquanto os pacotes estão em trânsito. NAT64 traduz endereços entre IPv6 e IPv4.

OTBR usa tayga para NAT64 stateful, iptables para NAT44 stateful e combina os dois para fornecer NAT64 stateful. Isso permite que dispositivos Thread se comuniquem com hosts IPv4. Consulte a documentação do Tayga para obter mais informações.

Configurar tayga

  1. Crie a configuração:
    1. Abra o /etc/tayga.conf arquivo:
      sudo vim /etc/tayga.conf
    2. Atualize o arquivo com a seguinte configuração:
      prefix 64:ff9b::/96
      dynamic-pool 192.168.255.0/24
      ipv6-addr 2001:db8:1::1
      ipv4-addr 192.168.255.1
      
  2. Habilitar tayga :
    1. Abra o arquivo /etc/default/tayga :
      sudo vim /etc/default/tayga
    2. Altere o parâmetro RUN para yes :
      RUN="yes"

Nesta configuração, ipv6-addr é opcional. Se ipv6-addr não estiver definido, tayga gera para você a partir do parâmetro prefix .

Parâmetros de configuração

Parâmetro Descrição
prefix Como a Tayga fornece NAT64 sem estado, um /96 ou prefixo maior é necessário para mapear todo o IPv4 para o IPv6. Este parâmetro deve ser um prefixo /96 não usado do intervalo de endereços IPv6. Para OTBR, use o Prefixo conhecido ( 64:ff9b::/96 ) para ativar a tradução automática de endereços.
dynamic-pool Necessário para Tayga mapear IPv6 para IPv4. Defina para uma rede IPv4.
ipv6-addr Necessário para que Tayga atue como um roteador IPv6. Ao usar o Prefixo conhecido para o parâmetro de prefix , esse endereço deve ser um que não esteja incluído no prefix .
ipv4-addr Necessário para que Tayga atue como um roteador IPv4. Este endereço deve ser aquele que está incluído no dynamic-pool .

Habilitar encaminhamento

  1. Ativar encaminhamento IPv4 e IPv6:
    sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
    sudo sh -c "echo 1 > /proc/sys/net/ipv6/conf/all/forwarding"
  2. Para garantir que o encaminhamento IPv4 permaneça ativado após a reinicialização, atualize também o arquivo de configuração sysctl :
    1. Abra o arquivo /etc/sysctl.conf :
      sudo vim /etc/sysctl.conf
    2. Remova o comentário do parâmetro de encaminhamento IPv4 e verifique se ele está definido como 1:
      net.ipv4.ip_forward=1
  3. Configure o NAT com iptables :
    1. Ativar NAT 44:
      sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
    2. Configure o FILTRO entre as interfaces wlan0 (Wi-Fi) e eth0 (Ethernet):
      sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
      sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
  4. Aplique essas regras NAT automaticamente na reinicialização:
    1. Salvar as regras para o /etc/iptables.ipv4.nat arquivo:
      sudo sh -c "iptables-save > /etc/iptables.ipv4.nat"
    2. Open the /etc/rc.local file:
      sudo vim /etc/rc.local
    3. Adicione o seguinte no final do arquivo, antes da linha de exit 0 :
      iptables-restore < /etc/iptables.ipv4.nat

Verifique a configuração

  1. Reinicialize o Raspberry Pi 3B:
    sudo reboot
    Página inicial do OTBR Web GUI
  2. Após a reinicialização, conecte um dispositivo diferente (não o RPi3B) ao ponto de acesso Wi-Fi BorderRouter-AP .
  3. Abra uma janela do navegador nesse dispositivo e navegue até 192.168.1.2 (o endereço IPv4 configurado para a interface wlan0 ). Se a configuração do AP for bem-sucedida, o OTBR Web GUI é carregado.

O ponto de acesso Wi-Fi BorderRouter-AP também deve fornecer conectividade regular com a Internet. Verifique visitando ou pingando qualquer site público de um dispositivo conectado ao ponto de acesso Wi-Fi BorderRouter-AP .

Solução de problemas

Se o ponto de acesso Wi-Fi BorderRouter-AP não estiver disponível, verifique o status do sistema do RPi3B:

sudo systemctl status

Se o status mostra o RPi3B em um estado degradado , verifique quais serviços falharam ao iniciar:

sudo systemctl --failed

Se o AP foi configurado manualmente e qualquer um dos serviços OTBR necessários falhou ao iniciar:

  1. Volte para as etapas de configuração em Criação e configuração e Configuração do ponto de acesso Wi-Fi e verifique se há erros.
  2. Reinicialize o RPi3B ou use o script do server para parar e reiniciar os serviços OTBR necessários:
cd ot-br-posix
./script/server NETWORK_MANAGER=0

Usando o Network Manager

Quando o AP é configurado automaticamente durante a instalação, ele é gerenciado pelo Network Manager. O script de configuração OTBR usa os mesmos valores padrão detalhados na configuração manual:

  • SSID = BorderRouter-AP
  • Senha = 12345678

Controle o Network Manager usando a ferramenta de linha de comando nmcli .

Por exemplo, para exibir todas as informações relacionadas ao AP assim que o OTBR estiver instalado e funcionando:

nmcli -s c show BorderRouter-AP

Para obter mais informações, consulte o script / script / _network_manager do OTBR Network Manager ).