3.5 KiB
3.5 KiB
IP Service
Сервис проверки и применения IP-настроек через NetworkManager (D-Bus).
Назначение:
- Перед применением конфигурации проверяет занятость IP адреса, сканируя сегмент сети средствами ARP (через NetworkScanner).
- Применяет изменения профиля подключения через sdbus_async.networkmanager и выполняет переподключение интерфейса.
Требования/ограничения:
- Доступ к системной шине D-Bus и права на изменения сетевых профилей.
- Структура входных данных должна соответствовать схеме ipv4_updates для корректного обновления вложенных полей у профиля.
class services.ip_service.IPService
Bases: object
Сервис проверки доступности IP-адреса и применения настроек сети.
Предоставляет асинхронные методы для проверки занятости IP-адреса с использованием ARP-сканирования и применения настроек через NetworkManager.
async apply_ip_config(args: Dict[str, Any], translations: Translations = Depends(translations_dependency)) → None
Применяет проверенные настройки IP к указанному соединению.
Перезапускает шину D-Bus, обновляет настройки соединения через NetworkManager, отключает и переподключает устройство к сети.
- Parameters:
- args (Dict *[*str , Any ]) – Словарь с данными, включая:
- “connection_id” (str): Идентификатор соединения.
- “ipv4_updates” (Dict): Обновления настроек IPv4.
- translations (Translations) – Объект переводов.
- args (Dict *[*str , Any ]) – Словарь с данными, включая:
- Raises:
- ValueError – Если соединение с указанным ID не найдено.
- RuntimeError – Если устройство для интерфейса не найдено.
NOTE
Требуются права для изменения настроек через NetworkManager.
async check_ip_config(args: Dict[str, Any], translations: Translations = Depends(translations_dependency)) → Dict[str, Any]
Проверяет доступность IP-адреса перед его применением.
Выполняет ARP-сканирование сети для проверки, занят ли указанный IP-адрес. Перезапускает шину D-Bus перед выполнением.
- Parameters:
- args (Dict *[*str , Any ]) – Словарь с данными, включая “ipv4_updates” с полем “ipv4.address-data” для нового IP-адреса.
- translations (Translations) – Объект переводов.
-
- Returns:
- Словарь с ключами:
- ”available” (bool): Доступен ли IP-адрес.
- ”message” (str): Сообщение о результате проверки.
- Return type: Dict[str, Any]
- Raises: Exception – Если произошла ошибка при сканировании ARP.