Enrutador inal√°mbrico de bricolaje


  1. Selección de componentes
  2. Lanzar interfaces de red
  3. Configuración de un punto de acceso 802.11ac (5 GHz)
  4. Configurando un SSID virtual usando hostapd

Durante los √ļltimos diez a√Īos, compr√© equipos de red baratos e instal√© DD-WRT para devolver las "funciones" por m√°s de $ 500 que se eliminaron del kernel de Linux en el que se basa el firmware est√°ndar.

A pesar de las compilaciones inestables, los errores no corregidos y las disputas , DD-WRT sigue siendo preferible al firmware en existencia. Pero ahora los componentes dignos son m√°s baratos que nunca, y la comunidad de bricolaje se ha cambiado por completo a Linux (lo estoy mirando, Sr. Raspberry), entonces, ¬Ņpor qu√© no construir su propio enrutador inal√°mbrico de una vez por todas?

Selección de componentes


En primer lugar, debe decidir sobre la plataforma: x86 o ARM ? No discutiré en detalle las diferencias clave , pero brevemente: el primero tiene un mejor rendimiento, mientras que el segundo es más barato y más eficiente en energía. Las placas Raspberry Pi (y equivalentes) son extremadamente baratas y probablemente más potentes que la mayoría de los enrutadores comerciales inalámbricos, pero las plataformas x86 están muy extendidas y tienen la ventaja de factores de forma estandarizados y puertos de expansión.

Por supuesto, el detalle más importante es el chipset. Hoy en día, los estándares de facto son 802.11n (2.4 GHz) y 802.11ac (5 GHz), pero elegir controladores para Linux sigue siendo un desafío , especialmente con la compatibilidad con el modo AP (punto de acceso). En resumen, si no desea problemas, elija los conjuntos de chips Atheros . Los controladores ath9k y ath10k son compatibles, puede encontrarlos fácilmente con interfaces USB y / o mini-PCIe.

Al menos un controlador de interfaz de red (NIC) es un mínimo necesario, y elija RAM y almacenamiento a su gusto.

Lista de materiales


Sacrificando el precio y la potencia, opté por la plataforma x86 para una configuración modular y relativamente potente disponible para la actualización.

Si no necesita un BRAZO, entonces no es necesario un ventilador.


La carcasa es espaciosa, con dos orificios preparados para el enchufe de CA / CC. La instalación de la placa base, RAM y Pico-PSU se realizó sin problemas:


Porno de hierro

Lo m√°s dif√≠cil fue instalar WiFi mini-PCIe, porque la placa solo admite tarjetas de tama√Īo medio: aqu√≠ el cable de extensi√≥n mPCIe vino al rescate. Tom√© un cable FFC de 20 cm (incluido) para conectar ambos lados del adaptador y fij√© el mini-PCIe al chasis con cinta de doble cara.




Mini-PCIe expansor

Afortunadamente, el chasis viene con tres orificios de antena precortados. Aquí está el resultado final:





Software


Est√° claro que ponemos Linux. Dependiendo del hardware, podr√≠a ser una distribuci√≥n optimizada como Raspbian (para Raspberry Pi) o cualquier otra distribuci√≥n de Linux que desee. Como he estado usando Ubuntu durante muchos a√Īos, eleg√≠ Ubuntu Server 18.04 LTS , con el que estoy m√°s acostumbrado a trabajar y que tiene soporte a largo plazo.

El resto de este artículo supone que está utilizando una distribución basada en Debian.

Si la instalación se realizó correctamente y fue a la consola, defina los nombres de las interfaces:

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

Hay dos NIC integradas en la placa base: estas son enp1s0 y enp2s0 . La tarjeta inal√°mbrica aparece como wlp5s0 y admite el modo AP, seg√ļn lo previsto:

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

Ahora podemos describir lo que necesitamos: colocamos la primera NIC como puerto WAN y la segunda la conectamos a la interfaz inal√°mbrica:



Red


Si tiene Ubuntu 18.04, desh√°gase de netplan inmediatamente para volver a admitir / 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, seleccione dnsmasq :

 $ sudo apt-get install dnsmasq 

Como comenzaremos y configuraremos el proceso dnsmasq través del dnsmasq post-up , recuerde deshabilitar el demonio en el momento del arranque:

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

Escribiremos la configuración preliminar de las interfaces de red de acuerdo con el diagrama, incluida la configuración mínima de 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 

La documentación /etc/network/interfaces aquí

Como puede ver en la sección post-up , dnsmasq comienza tan pronto como se levanta el puente. Su configuración se realiza solo mediante argumentos de línea de comando ( --conf-file=/dev/null ), y el proceso se detendrá cuando la interfaz esté apagada.

La interfaz bridge_ports no se especifica específicamente en el wlp5s0 , porque hostapd agregará al puente automáticamente (brctl puede negarse a hacer esto antes de que hostapd comience a cambiar el modo de interfaz).

Consulte la documentación de dnsmasq .

Ahora puede reiniciar la red (reinicio de red del sudo service networking restart ) o simplemente reiniciar para verificar que la configuración de la red sea correcta.

Tenga en cuenta: aunque actualmente podemos recibir DHCP de enp2s0 , no tendremos conexión inalámbrica (más sobre esto más adelante) ni acceso a Internet (ver más abajo).

Enrutamiento


En este punto, debe enrutar paquetes entre las enp2s0 LAN ( enp2s0 ) y WAN ( enp1s0 ) y habilitar la traducción de direcciones de red .

Habilitar el reenvío de paquetes es fácil:

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

El √ļltimo comando asegura que la configuraci√≥n se guarde hasta el pr√≥ximo reinicio.

La traducción de direcciones de red es otro asunto, por lo general, debe lidiar con (o más bien combatir) las iptables . Afortunadamente, la Edad de Piedra terminó hace mucho tiempo, y los muchachos de FireHol hicieron un gran esfuerzo para agregar el nivel necesario de abstracción:

 $ sudo apt-get install firehol 

FireHOL es un lenguaje de firewall seguro de √ļltima generaci√≥n, su configuraci√≥n es f√°cil de entender y accesible. Ya no necesita escribir declaraciones de iptables : el archivo de configuraci√≥n en s√≠ se traduce en declaraciones de iptables y se aplica seg√ļn sea necesario. No hay demonio en el fondo.

La habilitación de la traducción de direcciones de red para interfaces LAN con la adición de reglas mínimas de firewall se realiza principalmente:

 $ 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 está escrito por personas para personas, la documentación está aquí .

Puede verificar la configuración iniciando manualmente firehol ( sudo firehol start ) y conectando la computadora portátil al puerto LAN: ahora puede conectarse en línea si el puerto WAN está conectado.

Antes de reiniciar, aseg√ļrese de editar /etc/default/firehol para permitir que FireHol se inicie en el arranque:

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

No entraré en detalles de toda la sintaxis de firehol , el archivo de configuración se explica por sí mismo, recomiendo firehol la documentación en caso de una configuración más compleja. Si está realmente interesado en lo que firehol hizo con iptables , simplemente escriba sudo firehol status en la línea de comando.

Punto de acceso inal√°mbrico


Obviamente, gestionaremos el punto de acceso usando hostapd :

 $ sudo apt-get install hostapd 

A continuación encontrará un archivo de configuración mínimo y casi inexplicable 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 

Consulte hostpad.conf documentación en /usr/share/doc/hostapd/examples/hostapd.conf .

La configuración descrita se puede probar manualmente:

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

Si todo va bien, aparecerá una conexión inalámbrica . Si está satisfecho con el resultado, no olvide cambiar la configuración para iniciar hostapd tan pronto como la interfaz se eleve (como se muestra a continuación).

Aquí está su 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 

Configuración de un punto de acceso 802.11ac (5 GHz)


Escaneo pasivo


De acuerdo con la documentación de Airetos AEX-QCA9880-NX , el conjunto de chips admite 802.11ac, por lo que podemos dejar los canales llenos de 2,4 GHz en el paraíso de 5 GHz.

Veamos qué frecuencias son compatibles:

 $ 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) ... 

En la lista anterior, vemos que el chipset admite los canales 1-14 (2.4 GHz) y los canales 36-165 (5 GHz), pero ¬Ņnot√≥ el indicador de no IR ?

La bandera no IR indica que no hay radiación iniciadora (es decir, exploración pasiva ). Esto significa que este modo está prohibido en el caso de que el dispositivo sea el primero en iniciar la radiación (incluidas las balizas ). En otras palabras, ¡no puede ejecutar el punto de acceso en estos canales !



Requisitos reglamentarios


La situaci√≥n anterior se explica por los requisitos reglamentarios de Linux , que regulan el uso del espectro de radiofrecuencia seg√ļn el pa√≠s .

Pero oye!

Vivo en los EE. UU., Y el enlace dice que tengo derecho a iniciar la radiaci√≥n en los canales 36-48, entonces, ¬Ņqu√© pasa? Veamos qu√© dominio regulador est√° actualmente en 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) 

El problema muestra que el dominio mundial está actualmente activo (o no instalado), es decir, los valores mínimos permitidos en cada país .

Desafortunadamente, no puede instalar manualmente el dominio sudo iw reg set , porque el dominio est√° protegido en la EEPROM:

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



Parche!


Afortunadamente, los requisitos reglamentarios se procesan en el nivel del controlador, por lo que se pueden cambiar fácilmente: encontramos el parche en el código fuente Open-WRT .

En primer lugar, no olvide conectar el repositorio de código fuente desde /etc/apt/sources.list :

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

Luego prepare el entorno instalando las dependencias necesarias:

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

Descargue las fuentes de su n√ļcleo:

 $ apt-get source linux 

Dado que el parche original Open-WRT no se puede aplicar "tal cual" al árbol del kernel de Ubuntu debido a diferencias sutiles en el sistema de compilación, tuve que arreglarlo:

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

Todo est√° listo para el montaje:

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

Si no hay problemas, ahora puede instalar el kernel fijo encima del anterior:

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

Reiniciar y listo:

 $ 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 actualizaciones automáticas, es posible que deba corregir la versión del kernel de Linux .

Configuracion


El nuevo hostapd configuración de hostapd será bastante simple: hw_mode=a incluye bandas de 5 GHz, y ieee80211ac=1 incluye 802.11ac (VHT). La opción ieee80211d=1 con country_code=US especifica el dominio regulador en el que operamos.

Para aprovechar al m√°ximo el ancho de banda, ht_capab y vht_capab deben reflejar las capacidades del equipo:

 $ 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 

Con esto en mente, aquí está el 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 

Consulte hostpad.conf documentación en /usr/share/doc/hostapd/examples/hostapd.conf .

En este punto, el enrutador inalámbrico está en pleno funcionamiento, y si necesita una configuración más compleja, ahora puede sumergirse en los archivos de configuración.

Configurando un SSID virtual usando hostapd


Independientemente de si desea configurar un punto de acceso de invitado o una red inal√°mbrica dedicada para su VPN, en alg√ļn momento deber√° configurar un SSID virtual.

Chart


Basado en la configuración actual , aquí hay un diagrama actualizado de lo que queremos obtener. Suponiendo que wlp5s0 es la interfaz inalámbrica física, el SSID virtual se ejecutará en la interfaz virtual wlan0 usando su propia subred 192.168.2.0/24 :



Preparación


Primero, verifique que su dispositivo inal√°mbrico sea compatible con m√ļltiples SSID:

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

Como puede ver, el conjunto de chips admite hasta ocho puntos de acceso en un canal. Esto significa que puede configurar hasta siete SSID virtuales, y todos ellos funcionar√°n en el mismo canal.

Interfaz de red


De acuerdo con la documentación en hostapd.conf, existe una conexión estricta entre la dirección MAC de la interfaz física y el BSSID de las interfaces virtuales:

hostapd generará una máscara BSSID basada en los BSSID que están configurados. hostapd verificará que dev_addr & MASK == dev_addr . Si este no es el caso, la dirección MAC de la radio debe cambiarse antes de iniciar hostapd. Si se configura un BSSID para cada BSS secundario, esta limitación no se aplica en hostapd y se pueden usar otras máscaras si el controlador los admite (por ejemplo, intercambiar el bit administrado localmente)

Los BSSID se asignan en orden a cada BSS, a menos que se especifique un BSSID explícito utilizando el parámetro 'bssid'.

Si se especifica un BSSID explícito, debe elegirse de modo que:
- da como resultado una M√ĀSCARA v√°lida que lo cubre y dev_addr
- no es lo mismo que la dirección MAC de la radio
- no es lo mismo que cualquier otro BSSID especificado explícitamente

Para cumplir con estos requisitos y permitir que hostapd asigne automáticamente el BSSID de la (s) interfaz (es) virtual (es), actualizamos la dirección MAC de la interfaz inalámbrica física hostapd cero los cuatro bits menos significativos. Esto es suficiente para 15 BSSID virtuales, mucho más de lo necesario.

Primero, determine la dirección MAC actual:

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

Si borra los √ļltimos cuatro bits y establece el bit U / L , obtendr√° la direcci√≥n MAC 46:c3:06:00:03:e0 .

Ahora actualizaremos la configuración para establecer la dirección MAC correcta justo antes de cargar la interfaz, y también declararemos una interfaz inalámbrica virtual de acuerdo con nuestro 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 ... 

Genial Uso dnsmasq como servidor DHCP; siéntase libre de reemplazarlo con lo que quiera. Tenga en cuenta que para que la interfaz virtual funcione correctamente, se requiere allow-hotplug .

Configuración del punto de acceso


Ahora lo más simple: agregue un SSID virtual a la configuración actual de hostapd . Simplemente agregue esto al final del archivo 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 

En el ejemplo, utilicé el cifrado WPA2, pero la mayoría de las opciones de interfaz de radio están disponibles aquí (por ejemplo, channel ). Puede agregar más SSID virtuales simplemente agregando las líneas en el archivo de configuración de acuerdo con las interfaces virtuales declaradas y configuradas correctamente.

Ahora reinicie y vea su nuevo SSID junto con la nueva interfaz inalámbrica (preste atención a la dirección MAC):

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

Eso es todo chicos!

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


All Articles