ConnMan

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
ConnMan
Тип Демон
Автори Intel, Marcel Holtmann
Розробник Marcel Holtmannd
Перший випуск 6 грудня 2008; 15 років тому (2008-12-06)
Мова програмування C
Ліцензія GNU GPL
Онлайн-документація git.kernel.org/cgit/network/connman/connman.git/tree/doc
git.kernel.org/cgit/network/connman/connman.git/tree/src/main.conf
01.org/connman/documentation
Репозиторій git.kernel.org/cgit/network/connman/connman.git/
Вебсайт 01.org/connman

ConnMan — мережевий конфігуратор до мережі Інтернет для пристроїв під управлінням операційної системи Linux. Connman спроектований легковаговим, не вимагає великої кількості системних ресурсів сервісом (демоном). Це дозволяє легко інтегрувати його в більшість систем на базі Linux.

Історія[ред. | ред. код]

Спочатку проект був створений для проекту Moblin, потім успадкований компаніями Intel і Nokia в процесі розробки платформи MeeGo, пізніше система конфігурації мережі на базі ConnMan була використана в платформі Tizen і деяких спеціалізованих дистрибутивах і проектах, таких як OpenELEC, Yocto, Sailfish, Aldebaran Robotics і Nest, а також в різних споживчих пристроях з прошивками на базі Linux.[1][2] Код проекту поширюється під ліцензією GPLv2.

Огляд[ред. | ред. код]

Пакет відрізняється низьким споживанням системних ресурсів і наявністю гнучких засобів для розширення функціональності через плагіни, що дозволяє застосовувати ConnMan на вбудованих системах.

Ключовим компонентом ConnMan є фоновий процес connmand, керуючий мережевими з'єднаннями. Взаємодія і настройка різних типів мережевих підсистем проводиться через плагіни. Наприклад, доступні плагіни для Ethernet, WiFi, Bluetooth, 2G/3G/4G, VPN (Openconnect, OpenVPN, vpnc, WireGuard), PolicyKit, отримання адреси по DHCP, роботи через проксі-сервери, настройки DNS-резолвера, накопичення статистики. Для взаємодії з пристроями використовується підсистема ядра Linux netlink, а для зв'язку з іншими застосунками команди передаються поверх D-Bus. Інтерфейс і логіка управління повністю розділені, що дозволяє інтегрувати підтримку ConnMan в існуючі конфігуратори.

Технології[ред. | ред. код]

Технології, які підтримуються в ConnMan:

  • Ethernet;
  • WiFi з підтримкою WEP40 / WEP128 і WPA / WPA2;
  • Bluetooth (використовується BlueZ);
  • 2G / 3G / 4G (використовується oFono);
  • IPv4, IPv4-LL (link-local) і DHCP;
  • Підтримка ACD (Address Conflict Detection, RFC 5227) для виявлення конфліктів адрес IPv4 (ACD);
  • Тунелінг IPv6, DHCPv6 і 6to4;
  • Розширена маршрутизація і конфігурація DNS;
  • Вбудований DNS-проксі і система кешування DNS-відповідей;
  • Вбудована система виявлення параметрів входу і вебпорталів автентифікації для точок бездротового доступу (WISPr hotspot);
  • Налаштування часу і часового поясу (ручна або через NTP);
  • Управління роботою через проксі (ручне або через WPAD);
  • Режим Tethering для організації мережевого доступу через поточний пристрій. Підтримується створення каналу зв'язку через USB, Bluetooth і Wi-Fi;
  • Накопичення докладної статистики витрати трафіку, в тому числі з роздільним урахуванням роботи в домашній мережі та в режимі роумінга;
  • Підтримка фонового процесу PACrunner для управління проксі;
  • Підтримка PolicyKit для управління політиками безпеки і розмежування доступу.

Виноски[ред. | ред. код]

  1. connman mer package on github. Архів оригіналу за 8 січня 2021. Процитовано 16 липня 2014.
  2. Jolla: Sailfish OS, Qt, and open source. Архів оригіналу за 18 лютого 2020. Процитовано 16 липня 2014.

Посилання[ред. | ред. код]