ConnMan, un servicio para administrar conexiones de Internet desarrollado por Intel
ConnMan es un servicio que se encarga de administrar conexiones de Internet dentro de un dispositivo integrado e integra una amplia gama de características de comunicación que generalmente se dividen entre muchos demonios, como DHCP, DNS y NTP. El resultado de esta consolidación es un bajo consumo de memoria con una reacción rápida, coherente y sincronizada a las condiciones cambiantes de la red.
ConnMan es un sistema totalmente modular que puede ampliarse, a través de complementos, para admitir todo tipo de tecnologías cableadas o inalámbricas. El enfoque de complemento permite una fácil adaptación y modificación para varios casos de uso. Se utiliza con el sistema de construcción Yocto incorporado, forma parte de la especificación de info entretenimiento en vehículos GENIVI, teléfonos basados en Jolla/Sailfish, Nest, Aldebaran Robotics y grabadoras de video personales (PVR) basadas en Linux.
Este servicio fue inicialmente un proyecto que fue fundado por Intel y Nokia durante el desarrollo de la plataforma MeeGo, luego se utilizó el sistema de configuración de red basado en ConnMan en la plataforma Tizen y algunas distribuciones y proyectos especializados, así como en varios dispositivos de consumo con firmware basado en Linux.
Un componente clave de ConnMan es el proceso de fondo connmand, que administra las conexiones de red. La interacción y configuración de varios tipos de subsistemas de red se realiza a través de complementos.
Por ejemplo, los complementos están disponibles para Ethernet, WiFi, Bluetooth, 2G, 3G, 4G, VPN (Openconnect, OpenVPN, vpnc), PolicyKit, recibiendo direcciones a través de DHCP, trabajando a través de servidores proxy, configurando resoluciones DNS y recopilando estadísticas.
Para la interacción con los dispositivos, se utiliza el subsistema kernel netlink de Linux, y para la comunicación con otras aplicaciones, los comandos se transmiten a través de D-Bus. La interfaz de usuario y la lógica de control están completamente separadas, lo que le permite integrar el soporte de ConnMan en los configuradores existentes.
Actualmente ConnMan cuenta con soporte para las siguientes tecnologías :
- Ethernet
- WiFi con soporte para WEP40/WEP128 y WPA/WPA2
- Bluetooth (usando BlueZ)
- 2G / 3G / 4G (usando oFono)
- IPv4, IPv4-LL (enlace local) y DHCP
- Soporte para ACD (Detección de conflictos de direcciones, RFC 5227) para identificar conflictos de direcciones IPv4 (ACD)
- Túneles IPv6, DHCPv6 y 6to4
- Enrutamiento avanzado y configuración de DNS
- Proxy DNS incorporado y sistema de almacenamiento en caché para respuestas DNS
- Sistema incorporado para detectar parámetros de inicio de sesión y portales web de autenticación para puntos de acceso inalámbrico (punto de acceso WISPr)
- Configuración de hora y zona horaria (manual o vía NTP)
- Gestión del trabajo a través de un proxy (manual o WPAD)
- Modo de anclaje para organizar el acceso a la red a través del dispositivo actual. Soporte para la creación de un canal de comunicación a través de USB, Bluetooth y Wi-Fi
- Acumulación de estadísticas detalladas sobre el consumo de tráfico, incluso con contabilidad separada para el trabajo en la red doméstica y en modo roaming
- Soporte de proceso en segundo plano de PACrunner para la gestión de proxy
- Soporte de PolicyKit para gestionar políticas de seguridad y control de acceso.
El código del proyecto se distribuye bajo la licencia GPLv2.
Sobre la nueva version de ConnMan 1.38
Esta nueva versión de ConnMan 1.38 llega después de casi un año de desarrollo, con lo cual la nueva versión destaca por brindar soporte para VPN WireGuard y Wi-Fi daemon IWD (iNet Wireless Daemon), desarrollado por Intel como una alternativa liviana a wpa_supplicant, adecuado para organizar la conexión de sistemas Linux integrados a una red inalámbrica.
¿Como instalar ConnMan en Linux?
Para quienes estén interesados en instalar este administrador de conexiones de Internet en su sistema, podrán hacerlo siguiendo las instrucciones que compartimos a continuación.
En estos momentos, para poder instalar la nueva versión 1.38, solo es posible, descargando el código fuente de esta y realizando la compilación.
Para obtener el paquete, en una terminal vamos a teclear el siguiente comando:
wget https://git.kernel.org/pub/scm/network/connman/connman.git/snapshot/connman-1.38.tar.gz
Descomprimimos el paquete con:
tar -xzvf connman-1.38.tar.gz
Entramos al directorio con:
cd connman-1.38.
Y realizamos la compilación con:
./configure --prefix=/usr --sysconfdir=/etc –localstatedir=/var
make && make install
Ahora para quienes prefieren instalar el paquete que esta dentro de los repositorios de su distribución, basta con buscarlo con su gestor de paquetes.
La instalación en Ubuntu, Debian, Raspbian o cualquier otra distro derivada de estas, es con el siguiente comando:
sudo apt install connman
En Arch Linux, Manjaro, Arco o cualquier otra derivada:
sudo pacman -S connman
En Fedora, CentOS, RHEL o derivados:
sudo dnf -i connman
En cualquier versión de openSUSE:
sudo zypper in connman
Finalmente para conocer un poco más a fondo la manera de manejar este servicio, puedes consultar el siguiente enlace.