¿Cómo decidir manualmente qué dispositivo puede conectarse a mi red?
hostapd , un deamon que gestiona el punto de acceso en Android (soporta Linux y FreeBSD) está controlado por el archivo de configuración hostapd.conf
situado bajo /data/misc/wifi
. Al menos en mi dispositivo, el archivo de configuración entre otras cosas notas:
\# **Station MAC address -based authentication**
# Please note that this kind of access control requires a driver that uses
# hostapd to take care of management frame processing and as such, **this can be
# used with driver=hostap or driver=nl80211, but not with driver=madwifi.**
# **0 = accept unless in deny list**
# **1 = deny unless in accept list**
# 2 = use external RADIUS server (accept/deny lists are searched first)
**macaddr\_acl=0**
# Accept/deny lists are read from separate files (containing list of
# MAC addresses, one per line). Use absolute path name to make sure that the
# files can be read on SIGHUP configuration reloads.
**accept\_mac\_file=/data/misc/wifi/hostapd.accept
deny\_mac\_file=/data/misc/wifi/hostapd.deny**
La configuración por defecto es
0 = accept unless in deny list
mientras que usted necesita
1 = deny unless in accept list
Para ello, cambie el valor de 0 a 1 en macaddr_acl
mencione en el archivo la dirección MAC de la(s) zona(s) objetivo(s) que debe(n) poder autenticarse con su zona Internet hostapd.accept Arranca o reinicia el hotspot y verás la magia.
Ejemplo de hostapd.accept :
\# List of MAC addresses that are allowed to authenticate (IEEE 802.11)
# with the AP. Optional VLAN ID can be assigned for clients based on the
# MAC address if dynamic VLANs (hostapd.conf dynamic\_vlan option) are used.
60:XX:YY:ZZ:AA:BB
8c:BB:AA:ZZ:YY:XX
En el archivo de ejemplo anterior, sólo las máquinas con esas direcciones MAC pueden autenticarse con mi punto de acceso. Cualquier máquina con dirección MAC que no sean esos dos fallaría repetidamente para autenticar.
Por desgracia, es posible que no puedas hacer un buen uso de esta solución sin acceso Root.
Nota: esta solución se ha probado en una versión no oficial de CM13.