Estoy haciendo una aplicación gui que controlará mi computadora portátil para que actúe como un punto de acceso wifi. Puedo cambiar las distribuciones, así que quiero encontrar una solución que funcione en general para todas las distribuciones. Actualmente estoy haciendo esto en Fedora 17.
El uso del botón "Usar como punto de acceso" de NetworkManager funciona muy bien para crear un punto de acceso ad-hoc:
Quiero recrear esta funcionalidad con comandos de terminal.
A continuación hay dos métodos que intenté lograr, pero aún no he encontrado una solución.
Método 1: iwconfig
Utilizando la investigación de toda la web, probé el siguiente comando:
# ifconfig wlan0 10.42.0.1 netmask 255.555.255.0 broadcast 10.42.0.255 up
# iwconfig wlan0 essid my-lappy mode ad-hoc key 0123456789
# iptables-restore < saved-hotspot-iptables
# echo 1 > /proc/sys/net/ipv4/ip_forward
# dhclient wlan0
donde saved-hotspot-iptables
es un archivo que generé con iptables-save > saved-hotspot-iptables
las iptables establecidas por la función "Usar como punto de acceso".
Método 1 Problema Los
dispositivos pueden ver el SSID pero no pueden conectarse. Correr ip a
revela lo siguiente sobre wlan0:
...
3: wlan0: <NO-CARRIER,BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state DORMANT qlen 1000
...
El aviso NO-CARRIER
está presente y el estado es en DORMANT
lugar de UP
.
Correr ifconfig wlan0
muestra lo siguiente:
...
wlan0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
...
Observe que RUNNING
falta como una de las banderas.
Método 2: nmcli
Si se presiona el botón "Usar como punto de acceso " de NetworkManager al menos una vez en el sistema, /etc/sysconfig/network-scripts/ifcfg-Hotspot
se crea y puedo usar el siguiente comando para iniciar un punto de acceso que funcione:
# ifconfig wlan0 up
# nmcli con up id Hotspot
# iwconfig wlan0 essid my-lappy key 0123456789
Método 2 Problema
Si el usuario nunca ha presionado "Usar como punto de acceso" en NetworkManager antes, nmcli con up id Hotspot
no funcionará. Lo miré nm-connection-editor --create
pero no pude encontrar mucha información. También he examinado la creación manual, /etc/sysconfig/network-scripts/ifcfg-Hotspot
pero este método no parece elegante ni extensible a otras distribuciones.
Respuestas:
Vea mi respuesta a "Crear punto de acceso inalámbrico y compartir conexión a Internet con
nmcli
"Creé un punto de acceso con el Administrador de red de GNOME. El problema era que no puedo configurar el SSID y la contraseña en la GUI. Si crea el Hotspot con la GUI de Network-Manager, crea el archivo
/etc/NetworkManager/system-connections/Hotspot
. En ese archivo es posible editar el SSID y la contraseña.El contenido del archivo se ve así:
Sólo cambió el
ssid
y laspsk
propiedades a mis necesidades. Luego reinicié mi computadora porque el comando:sudo systemctl restart NetworkManager
para reiniciar la red parece no funcionar correctamente, porque en la GUI de Network-Manager ya no tengo configuraciones de red inalámbrica y el siguiente comando no funcionó antes del reinicio. Después de reiniciar, puede usar elnmcli
comando para iniciar el punto de acceso.YOUR_WIFI_INTERFACE
puedes averiguarlo con el comandoiwconfig
.fuente
Hay una opción dedicada en
nmcli
:Más información del manual :
fuente
Se necesitaba un servidor DHCP para asignar direcciones IP a las conexiones wifi. Solía
dnsmasq
un servidor DNS y DHCP.Los siguientes son los comandos para iniciar un punto de acceso wifi ad-hoc:
fuente