gonets/SRV/docs/_build/markdown/api/services/ufw_service.md

109 lines
3.4 KiB
Markdown
Raw Permalink Normal View History

2025-10-14 16:11:12 +05:00
# 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