# UFW Service ### *class* services.ufw_service.UFWService Bases: `object` Сервис взаимодействия с UFW (Uncomplicated Firewall). Назначение: : - Чтение статуса и списка правил брандмауэра. - Добавление, удаление и массовая обработка правил с поддержкой диапазонов портов, комментариев и выбором протоколов. Детали реализации: : - Команды выполняются через sudo ufw …; вывод парсится в модели pydantic. - Для операций удаления соблюдается порядок с конца, чтобы не нарушать нумерацию. #### add_rules(rules: List[UFWRule]) → dict Добавляет правила UFW. * **Parameters:** **rules** – Список правил для добавления * **Returns:** Результат добавления правил * **Return type:** dict #### add_rules_base(rules: List[UFWRule], direction: str = '') → bool Базовый метод для добавления правил UFW. * **Parameters:** * **rules** – Список правил для добавления * **direction** – Направление трафика (“in” или “out”) * **Returns:** True если все правила были успешно добавлены, False в противном случае * **Return type:** bool #### add_ufw_in_rules(rules: List[UFWRule]) → bool Добавляет входящие (in) правила UFW. * **Parameters:** **rules** (*List* *[**UFWRule* *]*) – Список правил для добавления * **Returns:** True если все правила были успешно добавлены, False в противном случае * **Return type:** bool #### add_ufw_out_rules(rules: List[UFWRule]) → bool Добавляет исходящие (out) правила UFW. * **Parameters:** **rules** (*List* *[**UFWRule* *]*) – Список правил для добавления * **Returns:** True если все правила были успешно добавлены, False в противном случае * **Return type:** bool #### delete_rules(rule_numbers: List[int]) → dict Удаляет правила UFW по их номерам. * **Parameters:** **rule_numbers** (*List* *[**int* *]*) – Список номеров правил для удаления * **Returns:** Результат операции удаления * **Return type:** dict #### disable_ufw() → bool Выключает UFW. * **Returns:** True если успешно выключен, False в противном случае * **Return type:** bool #### enable_ufw() → bool Включает UFW. * **Returns:** True если успешно включен, False в противном случае * **Return type:** bool #### get_ufw_rules() → UFWRulesResponse Получает список правил UFW. * **Returns:** Объект, содержащий статус UFW и список правил * **Return type:** UFWRulesResponse #### get_ufw_status() → UFWStatus Проверяет статус UFW. * **Returns:** Объект с информацией о статусе UFW * **Return type:** UFWStatus