# Управление пакетами pfSense - установка и обновление

> Установка, обновление и удаление пакетов pfSense через Package Manager - работа с репозиторием, зависимости пакетов и решение проблем

Source: https://opennix.org/docs/pfsense/packages/pfsense-package-management/


Менеджер пакетов pfSense предоставляет централизованный интерфейс для установки, обновления и удаления дополнительных компонентов системы. Все операции выполняются через веб-интерфейс в разделе **System > Package Manager**, который взаимодействует с официальным репозиторием Netgate. Пакеты расширяют функциональность файрвола без необходимости модификации базовой системы - каждый пакет после установки получает собственную страницу конфигурации в веб-интерфейсе и управляется как стандартный сервис pfSense.

## Доступ к менеджеру пакетов

Менеджер пакетов расположен в **System > Package Manager** и содержит две основные вкладки:

| Вкладка | Назначение |
|---|---|
| **Installed Packages** | Список установленных пакетов с информацией о версии и доступных обновлениях |
| **Available Packages** | Каталог всех доступных пакетов из официального репозитория |

На вкладке **Available Packages** пакеты отображаются в алфавитном порядке с указанием названия, текущей версии и краткого описания. Поле поиска в верхней части страницы позволяет быстро найти нужный пакет по названию или ключевым словам.

## Установка пакетов

Для установки нового пакета необходимо:

1. Перейти в **System > Package Manager > Available Packages**
2. Найти требуемый пакет через поиск или прокрутку списка
3. Нажать кнопку **Install** напротив пакета
4. Подтвердить установку в диалоговом окне

После подтверждения pfSense загружает пакет и его зависимости из репозитория, выполняет установку и отображает прогресс в реальном времени. По завершении установки в меню веб-интерфейса появляется новый пункт для конфигурации пакета.

> **Внимание**:
>
> Для успешной загрузки пакетов pfSense требуется доступ к DNS-серверам и интернету через WAN-интерфейс. При отсутствии разрешения DNS или маршрута до репозитория установка завершится ошибкой.

### Зависимости пакетов

Некоторые пакеты требуют наличия дополнительных библиотек или компонентов для работы. Менеджер пакетов автоматически разрешает зависимости и устанавливает все необходимые компоненты вместе с основным пакетом. Зависимости отмечены специальным значком в интерфейсе менеджера.

При удалении пакета зависимости, не используемые другими пакетами, удаляются автоматически. Однако если зависимость является общей для нескольких пакетов, она сохраняется до удаления последнего зависимого пакета.

## Обновление пакетов

Проверка наличия обновлений выполняется на вкладке **Installed Packages**. Если для установленного пакета доступна новая версия, рядом с текущей версией отображается информация о доступном обновлении.

Для обновления пакета:

1. Перейти в **System > Package Manager > Installed Packages**
2. Найти пакет с доступным обновлением
3. Нажать значок обновления (двойные стрелки)
4. Подтвердить обновление

### Переустановка пакета

При возникновении проблем с работой пакета может потребоваться его переустановка без изменения версии. Для этого используется значок переустановки рядом с пакетом на вкладке **Installed Packages**. Переустановка сохраняет текущую конфигурацию пакета.

### Обновление при обновлении системы

При обновлении pfSense до новой версии все установленные пакеты переустанавливаются автоматически. Однако не все пакеты могут быть совместимы с новой версией системы на момент обновления. Рекомендуется проверять совместимость пакетов перед обновлением pfSense и быть готовым к временной недоступности некоторых пакетов.

## Удаление пакетов

Для удаления пакета:

1. Перейти в **System > Package Manager > Installed Packages**
2. Нажать значок удаления (корзина) напротив пакета
3. Подтвердить удаление

При удалении пакета его конфигурация удаляется из системы. Перед удалением рекомендуется сделать резервную копию конфигурации pfSense через **Diagnostics > Backup & Restore** на случай необходимости восстановления настроек.

> **Внимание**:
>
> Удаление пакета необратимо удаляет его конфигурацию. Если пакет будет установлен повторно, настройку потребуется выполнить заново. Сохраните резервную копию перед удалением.

## Категории доступных пакетов

Официальный репозиторий pfSense содержит более 60 пакетов, разделённых по назначению:

### Безопасность и обнаружение угроз

| Пакет | Описание |
|---|---|
| **Suricata** | Система обнаружения и предотвращения вторжений (IDS/IPS) |
| **Snort** | Альтернативная IDS/IPS на основе сигнатурного анализа |
| **pfBlockerNG** | Блокировка IP-адресов и DNS-запросов по спискам угроз |
| **ClamAV** | Антивирусный сканер для проксируемого трафика |

### Прокси и балансировка нагрузки

| Пакет | Описание |
|---|---|
| **HAProxy** | Обратный прокси и балансировщик нагрузки для TCP/HTTP |
| **Squid** | Кэширующий прокси-сервер для HTTP/HTTPS |
| **Lightsquid** | Анализатор логов прокси Squid |

### VPN и удалённый доступ

| Пакет | Описание |
|---|---|
| **WireGuard** | Современный VPN-протокол с минимальными накладными расходами |
| **Tinc** | Mesh-VPN для построения распределённых сетей |
| **FreeRADIUS** | Сервер аутентификации RADIUS для VPN и Wi-Fi |

### Сетевые сервисы

| Пакет | Описание |
|---|---|
| **BIND** | Полнофункциональный DNS-сервер (альтернатива Unbound) |
| **FRR** | Пакет динамической маршрутизации (BGP, OSPF, IS-IS) |
| **NUT** | Мониторинг источников бесперебойного питания |

### Мониторинг и диагностика

| Пакет | Описание |
|---|---|
| **ntopng** | Анализатор сетевого трафика с веб-интерфейсом |
| **Darkstat** | Легковесный монитор сетевого трафика |
| **iperf** | Инструмент тестирования пропускной способности сети |
| **nmap** | Сканер сетей и аудит безопасности |

## Управление пакетами из командной строки

В случаях, когда веб-интерфейс недоступен, операции с пакетами можно выполнять через командную строку (SSH или консоль).

### Просмотр установленных пакетов

```bash
pkg info | grep pfSense-pkg
```

### Переустановка пакета

```bash
pkg install -f pfSense-pkg-<имя_пакета>
```

### Обновление всех пакетов

```bash
pkg upgrade
```

> **Внимание**:
>
> Управление пакетами из командной строки следует использовать только при невозможности работы через веб-интерфейс. Команда `pkg` не выполняет специфичные для pfSense действия по интеграции пакета в веб-интерфейс, что может привести к несогласованному состоянию системы.

## Резервное копирование конфигурации пакетов

Конфигурация всех установленных пакетов хранится в основном конфигурационном файле pfSense (`/cf/conf/config.xml`). При создании резервной копии через **Diagnostics > Backup & Restore** настройки пакетов включаются автоматически.

При восстановлении конфигурации на чистую систему pfSense:

1. Восстановить конфигурацию через **Diagnostics > Backup & Restore**
2. Перейти в **System > Package Manager > Installed Packages**
3. Переустановить все ранее установленные пакеты - pfSense восстановит их конфигурацию из резервной копии

### AutoConfigBackup

Для автоматического резервного копирования конфигурации (включая настройки пакетов) можно использовать встроенную функцию **AutoConfigBackup** (**Services > Auto Config Backup**). Сервис автоматически сохраняет конфигурацию при каждом изменении и хранит историю версий.

## Диагностика проблем

### Пакет не устанавливается

1. Проверить доступность DNS - **Diagnostics > DNS Lookup**, ввести `pkg.pfsense.org`
2. Проверить наличие маршрута до интернета - **Diagnostics > Ping**, адрес `8.8.8.8`
3. Убедиться, что правила файрвола на WAN-интерфейсе не блокируют исходящий трафик
4. Проверить свободное место на диске - **Diagnostics > Command Prompt**, команда `df -h`
5. Проверить системные логи: **Status > System Logs > System > General**

### Ошибка зависимостей

При появлении ошибок зависимостей выполнить обновление базы данных пакетов:

1. Перейти в **Diagnostics > Command Prompt**
2. Выполнить команду `pkg update -f`
3. Повторить установку пакета

### Пакет установлен, но не отображается в меню

1. Очистить кэш браузера и перезагрузить страницу
2. Переустановить пакет через **System > Package Manager > Installed Packages**
3. При сохранении проблемы перезагрузить pfSense через **Diagnostics > Reboot**

### Повреждённая база данных пакетов

При серьёзных проблемах с менеджером пакетов может потребоваться восстановление базы данных:

```bash
pkg-static clean -ay
pkg-static install -fy pkg
pkg-static update -f
```

После выполнения этих команд перезагрузить pfSense и повторить установку пакетов.

### Проблемы с репозиторием

При ошибках доступа к репозиторию проверить:

1. Корректность DNS-настроек в **System > General Setup > DNS Servers**
2. Наличие шлюза по умолчанию в **System > Routing > Gateways**
3. Отсутствие блокирующих правил для исходящего HTTPS-трафика (порт 443)
4. Состояние VPN-туннелей, если pfSense подключён к интернету через VPN

## Рекомендации по управлению пакетами

### Минимизация количества пакетов

Каждый установленный пакет увеличивает потребление ресурсов и расширяет поверхность атаки. Устанавливайте только те пакеты, которые действительно необходимы для текущего развёртывания. Периодически пересматривайте список установленных пакетов и удаляйте неиспользуемые.

### Планирование обновлений

Обновление пакетов может временно прервать работу сервисов. Планируйте обновления на периоды минимальной нагрузки и предварительно создавайте резервную копию конфигурации. После обновления проверяйте работоспособность каждого обновлённого пакета.

### Совместимость версий

При обновлении pfSense до новой мажорной версии не все пакеты могут быть сразу доступны в обновлённом репозитории. Ознакомьтесь с примечаниями к выпуску и проверьте совместимость критически важных пакетов перед обновлением системы.

### Мониторинг состояния

Регулярно проверяйте вкладку **Installed Packages** для отслеживания доступных обновлений. Обновления пакетов часто содержат исправления безопасности и улучшения производительности.

## Связанные разделы

- [Suricata IDS/IPS](/docs/pfsense/packages/pfsense-suricata/) - установка и настройка системы обнаружения вторжений
- [pfBlockerNG](/docs/pfsense/packages/pfsense-pfblockerng/) - блокировка IP-адресов и DNS-запросов
- [HAProxy](/docs/pfsense/packages/pfsense-haproxy/) - обратный прокси и балансировка нагрузки
- [Резервное копирование pfSense](/docs/pfsense/backup/pfsense-backup-recovery/) - полное руководство по резервному копированию и восстановлению

