Roteador sem fio DIY


  1. Seleção de componentes
  2. Iniciar interfaces de rede
  3. Configurando um ponto de acesso 802.11ac (5 GHz)
  4. Configurando um SSID virtual usando o hostapd

Nos últimos dez anos, comprei equipamentos de rede baratos e instalei o DD-WRT nele para devolver as “funções” por mais de US $ 500 removidos do kernel Linux, no qual o firmware padrão é baseado.

Apesar das compilações instáveis, erros e disputas não corrigidos, o DD-WRT ainda é preferível ao estoque de firmware. Mas agora os componentes dignos estão mais baratos do que nunca, e a comunidade DIY mudou completamente para o Linux (estou olhando para você, Sr. Raspberry), então por que não construir seu próprio roteador sem fio de uma vez por todas?

Seleção de componentes


Primeiro de tudo, você precisa decidir sobre a plataforma: x86 ou ARM ? Não discutirei em detalhes as principais diferenças , mas brevemente: o primeiro tem melhor desempenho, enquanto o segundo é mais barato e mais eficiente em termos de energia. As placas Raspberry Pi (e equivalentes) são extremamente baratas e provavelmente mais poderosas do que a maioria dos roteadores comerciais sem fio, mas as plataformas x86 são comuns e têm a vantagem de fatores de forma e portas de expansão padronizados.

Obviamente, o detalhe mais importante é o chipset. Hoje, os padrões de fato são 802.11n (2.4 GHz) e 802.11ac (5 GHz), mas escolher drivers para Linux ainda é um desafio , especialmente com suporte ao modo AP (ponto de acesso). Em resumo, se você não quer problemas, escolha os chipsets Atheros . Os drivers ath9k e ath10k são bem suportados, você pode encontrá-los facilmente com interfaces USB e / ou mini-PCIe.

Pelo menos um NIC (controlador de interface de rede) é o mínimo necessário e escolha RAM e armazenamento ao seu gosto.

Lista de materiais


Sacrificando preço e energia, optei pela plataforma x86 por uma configuração modular relativamente poderosa disponível para atualização.

Se você não precisar de um ARM, não é necessário um ventilador.


A caixa é espaçosa, com dois orifícios preparados para o plugue CA / CC. A instalação da placa-mãe, RAM e Pico-PSU ocorreu sem problemas:


Ferro pornô

O mais difícil foi instalar o WiFi mini-PCIe, porque a placa suporta apenas placas de tamanho médio: aqui o cabo de extensão mPCIe veio em socorro. Peguei um cabo FFC de 20 cm (incluído) para conectar os dois lados do adaptador e fixei o mini-PCIe ao chassi usando fita dupla face.




Expansor mini-PCIe

Felizmente, o chassi vem com três furos de antena pré-cortados. Aqui está o resultado final:





De software


É claro que colocamos o Linux. Dependendo do hardware, pode ser uma distribuição otimizada como Raspbian (para o Raspberry Pi) ou qualquer outra distribuição Linux que você desejar. Como uso o Ubuntu há muitos anos, escolhi o Ubuntu Server 18.04 LTS , com o qual estou mais acostumado a trabalhar e com quem há suporte a longo prazo.

O restante deste artigo assume que você está usando uma distribuição baseada em Debian.

Se a instalação foi boa e você foi ao console, defina os nomes da interface:

$ ip -br a | awk '{print $1}' lo enp1s0 enp2s0 wlp5s0 

Existem duas placas de rede embutidas na placa-mãe: são enp1s0 e enp2s0 . A placa sem fio aparece como wlp5s0 e suporta o modo AP, conforme pretendido:

 $ iw list ... Supported interface modes: * managed * AP * AP/VLAN * monitor * mesh point 

Agora podemos descrever o que precisamos: colocamos a primeira NIC como uma porta WAN e a segunda nos conectamos à interface sem fio:



Rede


Se você possui o Ubuntu 18.04, livre-se do netplan imediatamente para retornar ao suporte para / etc / network / interfaces:

 $ sudo apt-get install ifupdown bridge-utils $ sudo systemctl stop networkd-dispatcher $ sudo systemctl disable networkd-dispatcher $ sudo systemctl mask networkd-dispatcher $ sudo apt-get purge nplan netplan.io 

Como servidor DHCP / DNS, selecione dnsmasq :

 $ sudo apt-get install dnsmasq 

Como iniciaremos e configuraremos o processo dnsmasq através do gancho de post-up , lembre-se de desativar o daemon no momento da inicialização:

 $ sudo sed -i "s/^ENABLED=1$/ENABLED=0/g" /etc/default/dnsmasq 

Escreveremos a configuração preliminar das interfaces de rede de acordo com o diagrama, incluindo a configuração mínima do dnsmasq :

 $ cat /etc/network/interfaces # Loopback auto lo iface lo inet loopback # WAN interface auto enp1s0 iface enp1s0 inet dhcp # Bridge (LAN) auto br0 iface br0 inet static address 192.168.1.1 network 192.168.1.0 netmask 255.255.255.0 broadcast 192.168.1.255 bridge_ports enp2s0 post-up /usr/sbin/dnsmasq \ --pid-file=/var/run/dnsmasq.$IFACE.pid \ --dhcp-leasefile=/var/lib/misc/dnsmasq.$IFACE.leases \ --conf-file=/dev/null \ --interface=$IFACE --except-interface=lo \ --bind-interfaces \ --dhcp-range=192.168.1.10,192.168.1.150,24h pre-down cat /var/run/dnsmasq.$IFACE.pid | xargs kill 

A documentação /etc/network/interfaces aqui

Como você pode ver na seção de post-up , o dnsmasq inicia assim que a ponte aumenta. Sua configuração é realizada apenas por argumentos de linha de comando ( --conf-file=/dev/null ), e o processo será interrompido quando a interface estiver desativada.

A interface bridge_ports não está especificada especificamente no wlp5s0 , porque o hostapd a adicionará automaticamente à ponte (o brctl pode se recusar a fazer isso antes que o hostapd seja iniciado para alterar o modo da interface).

Consulte a documentação do dnsmasq .

Agora você pode reiniciar a rede (reinício da rede do sudo service networking restart ) ou simplesmente reiniciar para verificar se a configuração da rede está correta.

Observação: embora atualmente possamos receber o DHCP do enp2s0 , não teremos conexão sem fio (mais sobre isso mais tarde) ou acesso à Internet (veja abaixo).

Encaminhamento


Nesse ponto, você precisa rotear pacotes entre as enp2s0 LAN ( enp2s0 ) e WAN ( enp1s0 ) e ativar a conversão de endereço de rede .

É fácil ativar o encaminhamento de pacotes:

 $ sudo sysctl -w net.ipv4.ip_forward=1 $ echo "net.ipv4.ip_forward=1" | sudo tee -a /etc/sysctl.conf 

O último comando garante que a configuração seja salva até a próxima reinicialização.

A tradução de endereços de rede é outra questão, geralmente você precisa lidar com (ou melhor, combater) as iptables . Felizmente, a Idade da Pedra acabou, e os caras do FireHol se esforçaram bastante para adicionar o nível necessário de abstração:

 $ sudo apt-get install firehol 

FireHOL é uma linguagem de firewall segura de última geração, sua configuração é fácil de entender e acessível. Você não precisa mais escrever instruções iptables : o próprio arquivo de configuração é convertido em instruções iptables e aplicado conforme necessário. Nenhum daemon em segundo plano.

A habilitação da tradução de endereços de rede para interfaces de LAN com a adição de regras mínimas de firewall é feita elementarmente:

 $ cat /etc/firehol/firehol.conf version 6 # Accept all client traffic on WAN interface enp1s0 wan client all accept # Accept all traffic on LAN interface br0 lan server all accept client all accept # Route packets between LAN and WAN router lan2wan inface br0 outface enp1s0 masquerade route all accept 

FireHOL é escrito por pessoas para pessoas, a documentação está aqui .

Você pode verificar as configurações iniciando manualmente o firehol ( sudo firehol start ) e conectando o laptop à porta LAN: agora você pode ficar online se a porta WAN estiver conectada.

Antes de reiniciar, certifique-se de editar /etc/default/firehol para permitir que o FireHol inicie na inicialização:

 $ sudo sed -i -E "s/^START_FIREHOL=.+$/START_FIREHOL=YES/g" /etc/default/firehol 

Não entrarei em detalhes de toda a sintaxe do firehol , o arquivo de configuração se explica; recomendo firehol a documentação no caso de uma configuração mais complexa. Se você está realmente interessado no que o firehol fez com o iptables , digite sudo firehol status na linha de comando.

Ponto de acesso sem fio


Obviamente, gerenciaremos o ponto de acesso usando o hostapd :

 $ sudo apt-get install hostapd 

Abaixo, você encontrará um arquivo de configuração mínimo e quase inexplicável 802.11 n / 2.4 Ghz / WPA2-AES:

 $ cat /etc/hostapd/hostapd-simple.conf #### Interface configuration #### interface=wlp5s0 bridge=br0 driver=nl80211 ##### IEEE 802.11 related configuration ##### ssid=iCanHearYouHavingSex hw_mode=g channel=1 auth_algs=1 wmm_enabled=1 ##### IEEE 802.11n related configuration ##### ieee80211n=1 ##### WPA/IEEE 802.11i configuration ##### wpa=2 wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP wpa_passphrase=YouCantGuess 

Veja hostpad.conf documentação em /usr/share/doc/hostapd/examples/hostapd.conf .

A configuração descrita pode ser testada manualmente:

 $ sudo hostapd /etc/hostapd/hostapd-simple.conf 

Se tudo correr bem, uma conexão sem fio será exibida . Se você estiver satisfeito com o resultado, não esqueça de alterar a configuração para iniciar o hostapd assim que a interface subir (como mostrado abaixo).

Aqui está o seu /etc/network/interfaces: final /etc/network/interfaces:

 $ cat /etc/network/interfaces # Loopback auto lo iface lo inet loopback # WAN interface auto enp1s0 iface enp1s0 inet dhcp # Bridge (LAN) auto br0 iface br0 inet static address 192.168.1.1 network 192.168.1.0 netmask 255.255.255.0 broadcast 192.168.1.255 bridge_ports enp2s0 post-up /usr/sbin/hostapd \ -P /var/run/hostapd.$IFACE.pid \ -B /etc/hostapd/hostapd-simple.conf post-up /usr/sbin/dnsmasq \ --pid-file=/var/run/dnsmasq.$IFACE.pid \ --dhcp-leasefile=/var/lib/misc/dnsmasq.$IFACE.leases \ --conf-file=/dev/null \ --interface=$IFACE --except-interface=lo \ --bind-interfaces \ --dhcp-range=192.168.1.10,192.168.1.150,24h pre-down cat /var/run/dnsmasq.$IFACE.pid | xargs kill pre-down cat /var/run/hostapd.$IFACE.pid | xargs kill 

Configurando um ponto de acesso 802.11ac (5 GHz)


Varredura passiva


De acordo com a documentação Airetos AEX-QCA9880-NX , o chipset suporta 802.11ac, para que possamos deixar os canais de 2,4 GHz lotados no paraíso de 5 GHz.

Vamos ver quais frequências são suportadas:

 $ iw list ... Frequencies: * 2412 MHz [1] (20.0 dBm) * 2417 MHz [2] (20.0 dBm) * 2422 MHz [3] (20.0 dBm) * 2427 MHz [4] (20.0 dBm) * 2432 MHz [5] (20.0 dBm) * 2437 MHz [6] (20.0 dBm) * 2442 MHz [7] (20.0 dBm) * 2447 MHz [8] (20.0 dBm) * 2452 MHz [9] (20.0 dBm) * 2457 MHz [10] (20.0 dBm) * 2462 MHz [11] (20.0 dBm) * 2467 MHz [12] (disabled) * 2472 MHz [13] (disabled) * 2484 MHz [14] (disabled) ... Frequencies: * 5180 MHz [36] (17.0 dBm) (no IR) * 5200 MHz [40] (17.0 dBm) (no IR) * 5220 MHz [44] (17.0 dBm) (no IR) * 5240 MHz [48] (17.0 dBm) (no IR) * 5260 MHz [52] (23.0 dBm) (no IR, radar detection) * 5280 MHz [56] (23.0 dBm) (no IR, radar detection) * 5300 MHz [60] (23.0 dBm) (no IR, radar detection) * 5320 MHz [64] (23.0 dBm) (no IR, radar detection) * 5500 MHz [100] (23.0 dBm) (no IR, radar detection) * 5520 MHz [104] (23.0 dBm) (no IR, radar detection) * 5540 MHz [108] (23.0 dBm) (no IR, radar detection) * 5560 MHz [112] (23.0 dBm) (no IR, radar detection) * 5580 MHz [116] (23.0 dBm) (no IR, radar detection) * 5600 MHz [120] (23.0 dBm) (no IR, radar detection) * 5620 MHz [124] (23.0 dBm) (no IR, radar detection) * 5640 MHz [128] (23.0 dBm) (no IR, radar detection) * 5660 MHz [132] (23.0 dBm) (no IR, radar detection) * 5680 MHz [136] (23.0 dBm) (no IR, radar detection) * 5700 MHz [140] (23.0 dBm) (no IR, radar detection) * 5720 MHz [144] (23.0 dBm) (no IR, radar detection) * 5745 MHz [149] (30.0 dBm) (no IR) * 5765 MHz [153] (30.0 dBm) (no IR) * 5785 MHz [157] (30.0 dBm) (no IR) * 5805 MHz [161] (30.0 dBm) (no IR) * 5825 MHz [165] (30.0 dBm) (no IR) ... 

Na lista acima, vemos que o chipset suporta os canais 1-14 (2,4 GHz) e os canais 36-165 (5 GHz), mas você notou a sinalização de no IR ?

O sinalizador no IR indica radiação não iniciada (isto é, varredura passiva ). Isso significa que este modo é proibido no caso em que o dispositivo é o primeiro a iniciar radiação (incluindo sinalizadores ). Em outras palavras, você não pode executar o ponto de acesso nesses canais !



Requisitos regulatórios


A situação acima é explicada pelos requisitos regulamentares do Linux , que regulam o uso do espectro de radiofrequências, dependendo do país .

Mas ei!

Eu moro nos EUA, e o link diz que tenho o direito de iniciar a radiação nos canais 36-48, então qual é o problema? Vamos ver qual domínio regulatório está atualmente em uso:

 $ iw reg get country 00: DFS-UNSET (2402 - 2472 @ 40), (N/A, 20), (N/A) (2457 - 2482 @ 40), (N/A, 20), (N/A), NO-IR (2474 - 2494 @ 20), (N/A, 20), (N/A), NO-OFDM, NO-IR (5170 - 5250 @ 80), (N/A, 20), (N/A), NO-IR (5250 - 5330 @ 80), (N/A, 20), (0 ms), DFS, NO-IR (5490 - 5730 @ 160), (N/A, 20), (0 ms), DFS, NO-IR (5735 - 5835 @ 80), (N/A, 20), (N/A), NO-IR (57240 - 63720 @ 2160), (N/A, 0), (N/A) 

O problema mostra que o domínio mundial está atualmente ativo (ou não instalado), ou seja, os valores mínimos permitidos em cada país .

Infelizmente, você não pode instalar manualmente o domínio sudo iw reg set , porque o domínio está protegido na EEPROM:

 $ dmesg | grep EEPROM [ 12.123068] ath: EEPROM regdomain: 0x6c 



Patch!


Felizmente, os requisitos regulatórios são processados ​​no nível do driver, para que possam ser facilmente alterados: encontramos o patch no código-fonte do Open-WRT .

Antes de tudo, não se esqueça de conectar o repositório de código fonte em /etc/apt/sources.list :

 $ cat /etc/apt/sources.list ... deb-src http://us.archive.ubuntu.com/ubuntu/ bionic main restricted ... 

Em seguida, prepare o ambiente instalando as dependências necessárias:

 $ sudo apt-get install build-essential fakeroot $ sudo apt-get build-dep linux 

Faça o download das fontes do seu kernel:

 $ apt-get source linux 

Como o patch original do Open-WRT não pode ser aplicado "como está" na árvore do kernel do Ubuntu devido a diferenças sutis no sistema de compilação, eu tive que corrigi-lo:

 $ VERSION=$(uname -r) $ cd linux-${VERSION%%-*} $ wget -O - https://gist.github.com/renaudcerrato/02de8b2e8dc013bc71326defd2ef062c/raw/a2db325e520e6442c8c12f7599d64ac1b7596a3e/402-ath_regd_optional.patch | patch -p1 -b 

Tudo está pronto para montagem:

 $ fakeroot debian/rules clean $ fakeroot debian/rules binary-generic 

Se não houver problemas, agora você pode instalar o kernel fixo em cima do anterior:

 $ cd .. $ sudo dpkg -i linux*.deb 

Reinicialize e pronto:

 $ sudo iw reg set US $ iw list ... Frequencies: * 5180 MHz [36] (17.0 dBm) * 5200 MHz [40] (17.0 dBm) * 5220 MHz [44] (17.0 dBm) * 5240 MHz [48] (17.0 dBm) * 5260 MHz [52] (23.0 dBm) (radar detection) * 5280 MHz [56] (23.0 dBm) (radar detection) * 5300 MHz [60] (23.0 dBm) (radar detection) * 5320 MHz [64] (23.0 dBm) (radar detection) * 5500 MHz [100] (23.0 dBm) (radar detection) * 5520 MHz [104] (23.0 dBm) (radar detection) * 5540 MHz [108] (23.0 dBm) (radar detection) * 5560 MHz [112] (23.0 dBm) (radar detection) * 5580 MHz [116] (23.0 dBm) (radar detection) * 5600 MHz [120] (23.0 dBm) (radar detection) * 5620 MHz [124] (23.0 dBm) (radar detection) * 5640 MHz [128] (23.0 dBm) (radar detection) * 5660 MHz [132] (23.0 dBm) (radar detection) * 5680 MHz [136] (23.0 dBm) (radar detection) * 5700 MHz [140] (23.0 dBm) (radar detection) * 5720 MHz [144] (23.0 dBm) (radar detection) * 5745 MHz [149] (30.0 dBm) * 5765 MHz [153] (30.0 dBm) * 5785 MHz [157] (30.0 dBm) * 5805 MHz [161] (30.0 dBm) * 5825 MHz [165] (30.0 dBm) ... 

Para evitar atualizações automáticas, pode ser necessário corrigir a versão do kernel do Linux .

Configuração


O novo hostapd configuração do hostapd será bastante simples: hw_mode=a inclui bandas de 5 GHz e ieee80211ac=1 inclui 802.11ac (VHT). A opção ieee80211d=1 com country_code=US especifica o domínio regulatório sob o qual operamos.

Para aproveitar ao máximo a largura de banda, ht_capab e vht_capab devem refletir os recursos do equipamento:

 $ iw list ... Band 1: Capabilities: 0x19e3 RX LDPC HT20/HT40 Static SM Power Save RX HT20 SGI RX HT40 SGI TX STBC RX STBC 1-stream Max AMSDU length: 7935 bytes DSSS/CCK HT40 ... Band 2: VHT Capabilities (0x338001b2): Max MPDU length: 11454 Supported Channel Width: neither 160 nor 80+80 RX LDPC short GI (80 MHz) TX STBC RX antenna pattern consistency TX antenna pattern consistency 

Com isso em mente, aqui está o hostapd.conf final :

 $ cat /etc/hostapd/hostapd.conf #### Interface configuration #### interface=wlp5s0 bridge=br0 driver=nl80211 ##### IEEE 802.11 related configuration ##### ssid=iCanHearYouHavingSex hw_mode=a channel=0 auth_algs=1 wmm_enabled=1 country_code=US ieee80211d=1 ieee80211h=0 ##### IEEE 802.11n related configuration ##### ieee80211n=1 ht_capab=[HT40+][SHORT-GI-20][SHORT-GI-40][TX-STBC][RX-STBC1][DSSS_CK-40][LDPC][MAX-AMSDU-7935] ##### IEEE 802.11ac related configuration ##### ieee80211ac=1 vht_capab=[MAX-MPDU-11454][RXLDPC][SHORT-GI-80][TX-STBC-2BY1][RX-STBC-1][MAX-A-MPDU-LEN-EXP7][TX-ANTENNA-PATTERN][RX-ANTENNA-PATTERN] vht_oper_chwidth=1 ##### WPA/IEEE 802.11i configuration ##### wpa=2 wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP wpa_passphrase=YouCantGuess 

Veja hostpad.conf documentação em /usr/share/doc/hostapd/examples/hostapd.conf .

Nesse ponto, o roteador sem fio está totalmente operacional e, se você precisar de uma configuração mais complexa, poderá agora mergulhar nos arquivos de configuração.

Configurando um SSID virtual usando o hostapd


Independentemente de você desejar configurar um ponto de acesso de convidado ou uma rede sem fio dedicada para sua VPN, em algum momento você precisará configurar um SSID virtual.

Gráfico


Com base na configuração atual , aqui está um diagrama atualizado do que queremos obter. Supondo que wlp5s0 é a interface sem fio física, o SSID virtual será executado na interface virtual wlan0 usando sua própria sub-rede 192.168.2.0/24 :



Preparação


Primeiro, verifique se o seu dispositivo sem fio suporta vários SSIDs:

 $ iw list ... valid interface combinations: * #{ AP, mesh point } <= 8, total <= 8, #channels <= 1, STA/AP BI must match ... 

Como você pode ver, o chipset suporta até oito pontos de acesso em um canal. Isso significa que você pode configurar até sete SSIDs virtuais e todos eles funcionarão no mesmo canal.

Interface de rede


De acordo com a documentação em hostapd.conf, há uma conexão estrita entre o endereço MAC da interface física e o BSSID das interfaces virtuais:

O hostapd irá gerar uma máscara BSSID baseada nos BSSIDs configurados. O hostapd verificará se dev_addr & MASK == dev_addr . Se não for esse o caso, o endereço MAC do rádio deve ser alterado antes de iniciar o hostapd. Se um BSSID estiver configurado para cada BSS secundário, essa limitação não será aplicada no hostapd e outras máscaras poderão ser usadas se o driver as suportar (por exemplo, troque o bit administrado localmente)

Os BSSIDs são atribuídos em ordem a cada BSS, a menos que um BSSID explícito seja especificado usando o parâmetro 'bssid'.

Se um BSSID explícito for especificado, ele deverá ser escolhido de forma que:
- resulta em uma máscara válida que a cobre e o dev_addr
- não é o mesmo que o endereço MAC do rádio
- não é o mesmo que qualquer outro BSSID explicitamente especificado

Para atender a esses requisitos e permitir que o hostapd atribua automaticamente o BSSID da (s) interface (s) virtual (is), atualizamos o endereço MAC da interface física sem fio, zerando os quatro bits menos significativos. Isso é suficiente para 15 BSSIDs virtuais - muito mais que o necessário.

Primeiro, determine o endereço MAC atual:

 $ ip addr show wlp5s0 | grep link | awk '{print $2}' 44:c3:06:00:03:eb 

Se você limpar os últimos quatro bits e definir o U / L , obterá o endereço MAC 46:c3:06:00:03:e0 .

Agora, atualizaremos a configuração para definir o endereço MAC correto antes de carregar a interface e também declararemos uma interface sem fio virtual de acordo com nosso diagrama:

 $ cat /etc/network/interfaces ... # Physical Wireless auto wlp5s0 iface wlp5s0 inet manual pre-up ip link set dev wlp5s0 address 46:c3:06:00:03:e0 # Virtual Wireless allow-hotplug wlan0 iface wlan0 inet static address 192.168.2.1 network 192.168.2.0 netmask 255.255.255.0 broadcast 192.168.2.255 post-up /usr/sbin/dnsmasq \ --pid-file=/var/run/dnsmasq-wlan0.pid \ --conf-file=/dev/null \ --interface=wlan0 --except-interface=lo \ --bind-interfaces \ --dhcp-range=192.168.2.10,192.168.2.150,24h post-down cat /var/run/dnsmasq-wlan0.pid | xargs kill ... 

Ótimo. Eu uso o dnsmasq como um servidor DHCP - dnsmasq à vontade para substituir o que quiser. Observe que, para que a interface virtual funcione corretamente, é necessário o allow-hotplug .

Configuração do ponto de acesso


Agora, a coisa mais simples: adicione um SSID virtual à configuração atual do hostapd . Basta adicionar isso ao final do arquivo hostapd.conf existente:

 $ cat /etc/hostapd/hostapd.conf ... ### Virtual SSID(s) ### bss=wlan0 ssid=MyVirtualSSID wpa=2 wpa_key_mgmt=WPA-PSK rsn_pairwise=CCMP wpa_passphrase=you_cant_guess 

No exemplo, usei a criptografia WPA2, mas a maioria das opções de interface de rádio está disponível aqui (por exemplo, channel ). Você pode adicionar mais SSIDs virtuais simplesmente adicionando as linhas no arquivo de configuração de acordo com as interfaces virtuais declaradas e configuradas corretamente.

Agora reinicie - e veja seu novo SSID junto com a nova interface sem fio (preste atenção ao endereço MAC):

 $ ip addr show wlan0 | grep link | awk '{print $2}' 46:c3:06:00:03:e1 

É isso aí pessoal!

Source: https://habr.com/ru/post/pt437634/


All Articles