NetworkManager: Establecer conexión wifi antes de iniciar sesión en Debian | Algo de Linux

miércoles, 28 de septiembre de 2011

NetworkManager: Establecer conexión wifi antes de iniciar sesión en Debian


Una cosa que me fastidiaba de NetworkManager era no poder establecer una conexión inalámbrica antes de iniciar sesión con un usuario, pero, a partir de la versión 0.7, NetworkManager ya permite establecer conexiones a redes wifi durante el arranque del sistema.

Si echamos un vistazo al fichero /etc/NetworkManager/NetworkManager.conf, veremos que, como mínimo, contiene lo siguiente:

[main]
plugins=ifupdown,keyfile

[ifupdown]
managed=false

NetworkManager usa "plugins" que parsean y almacenan configuraciones en disco que se encontrarán disponibles para NetworkManager antes de que cualquier usuario haya iniciado sesión.

El plugin "keyfile" nos va a permitir hacer lo que queremos: Almacenar la configuración de conexión de nuestra red y establecer dicha conexión antes de que iniciemos la sesión. Si no se encontrara añadida la palabra keyfile en plugins, dentro de este fichero, lo añadimos y reiniciamos NetworkManager:

# /etc/init.d/network-manager restart

Las configuraciones de las redes a las que se conecta cada usuario, se almacenan en un directorio dentro de su home, concretamente en:
/home/USUARIO/.gconf/system/networking/wireless/networks/ dentro de un directorio con el nombre del SSID de la red, en un archivo %gconf.xml. Es decir, que si nuestra red tiene el SSID WLAN_44, la configuración se almacenará en el fichero:

/home/USUARIO/.gconf/system/networking/wireless/networks/WLAN_44/%gconf.xml

En cuanto a las configuraciones de sistema, que se encontrarán disponibles para realizar la conexión antes de que el usuario inicie sesión, se almacenarán en:

/etc/NetworkManager/system-connections/nombreconexion

Bien, pues una vez activado, no tenemos más que crear nuevas conexiones:
  • Haciendo clic con el botón derecho sobre el icono de nm-applet y seleccionando la opción "Editar las conexiones".
  • Llamando directamente al editor de configuraciones, desde un terminal: /usr/bin/nm-connection-editor
  • Editando a mano los ficheros de configuración.
Una vez introducidos los parámetros de configuración de la red, marcamos las casillas "Conectar automáticamente" y "Disponible para todos los usuarios", como se muestra en la imagen de ejemplo:



Nos pedirá que introduzcamos la password de root para poder almacenar la configuración y la almacenará en:

/etc/NetworkManager/system-connections/nombreconexion

Si nos desplazamos al directorio /etc/NetworkManager/system-connections/, veremos que se encuentra creado el fichero con los datos necesarios para establecer la conexión.

Y ya está. Ahora, cada vez que encendamos el equipo, se habrá establecido la conexión inalámbrica antes de iniciar la sesión, algo interesante para mí, porque comparto la conexión con otros equipos y de este modo tan sólo tengo que encender la máquina. Y muy útil para las actualizaciones de los portátiles del centro, vía puppet.

1 comentario:

JosueCool dijo...

Gracias hermano, tu post me sirvió para reparar un error que tenía en sabayon que no me permitía grabar las conexiones editadas y ya había probado de todo...