Подробный гайд по работе с IPFire через командную строку (CLI)

IPFire CLI: настройка файрвола, pakfire, сеть, логи, бэкапы, безопасность через консоль для сисадминов.

2026.04.18                  


Подробный гайд по работе с IPFire через командную строку (CLI)Подробный гайд по работе с IPFire через командную строку (CLI)

Важно:

  • IPFire разработан преимущественно для управления через веб-интерфейс. CLI предназначен для продвинутых задач: автоматизации, отладки, экстренного восстановления и работы без GUI. Ручное редактирование конфигурационных файлов может быть перезаписано веб-интерфейсом или привести к неработоспособности системы. Всегда делайте резервную копию перед изменениями.

1. Доступ к CLI

Метод Команда / Путь
Прямая консоль Физический/виртуальный терминал
SSH ssh root@ (по умолчанию порт 22)
Смена пароля root Задаётся при первой загрузке через setup
Рекомендация Отключите вход по паролю, используйте SSH-ключи: ssh-keygen -t ed25519, затем добавьте ключ в /root/.ssh/authorized_keys

2. Базовые системные утилиты IPFire

IPFire 2.27+ использует systemd. Многие стандартные Linux-команды работают без изменений.

Команда Описание
setup Интерактивная начальная настройка (сеть, часовой пояс, root-пароль)
update Проверка и установка обновлений ядра и базовой системы
pakfire Менеджер дополнительных пакетов (см. раздел 3)
backup Создание резервной копии конфигурации
restore Восстановление из резервной копии
fsck Проверка файловой системы (запускать только в однопользовательском режиме или с live-носителя)

Конфигурационные файлы IPFire хранятся в:

  • /var/ipfire/ — основные настройки (firewall, Z-сеть, и т.д.)
  • /etc/sysconfig/ — сетевые и системные параметры
  • /etc/rc.d/ — скрипты инициализации

3. Управление пакетами через pakfire

Pakfire — это пакетный менеджер IPFire для дополнений (аддонов).

# Обновить список репозиториев
pakfire update

# Показать установленные пакеты
pakfire list

# Установить пакет (пример: openvpn)
pakfire install openvpn

# Удалить пакет
pakfire remove openvpn

# Показать статус и зависимости
pakfire status

# Принудительное обновление всех пакетов
pakfire update -f

Пакеты из Pakfire не обновляются через update. Для аддонов всегда используйте pakfire.

4. Сетевая диагностика и настройка

IPFire автоматически управляет сетевыми интерфейсами. Ручная правка /etc/sysconfig/network не рекомендуется.

Диагностика

ip addr show          # Список интерфейсов и IP
ip route show         # Таблица маршрутизации
ping -c 4 8.8.8.8     # Проверка связности
traceroute -m 10 ya.ru # Трассировка
dig @127.0.0.1 example.com # Проверка локального DNS (unbound)
nslookup example.com

Просмотр активных соединений

ss -tulnp             # Открытые порты и процессы
conntrack -L          # Таблица состояний соединений (требует пакета conntrack)

Временное добавление маршрута (до перезагрузки)

ip route add 10.10.0.0/24 via 192.168.1.1 dev eth0

5. Файрвол: iptables / nftables и правила

IPFire использует iptables (по умолчанию) с возможностью перехода на nftables. Правила генерируются веб-интерфейсом.

Просмотр текущих правил

iptables -L -n -v --line-numbers
iptables-save > /tmp/iptables-backup.txt

Добавление пользовательских правил

Создайте/отредактируйте файл:

nano /etc/rc.d/rc.firewall.local

Пример:

# Разрешить входящий TCP 8080 на RED интерфейс
iptables -A INPUT -i eth0 -p tcp --dport 8080 -j ACCEPT

Применить:

systemctl restart firewall
# или
/etc/init.d/firewall restart

Правила в rc.firewall.local не очищаются при перезагрузке, но могут конфликтовать с GUI-правилами. Используйте их только для специфичных задач.

6. Резервное копирование и восстановление

Создание бэкапа

backup create
# или с указанием имени
backup create my-backup-$(date +%F)

Файл сохраняется в /var/ipfire/backup/.

Восстановление

# Список доступных бэкапов
backup list

# Восстановление
backup restore /var/ipfire/backup/my-backup-2026-04-18.tar.gz

После восстановления требуется перезагрузка:

reboot

Бэкап содержит только конфигурацию, не логи и не пользовательские данные. Для полного клонирования используйте dd или инструменты виртуализации.

7. Логи и мониторинг

Основные логи

Путь Содержание
/var/log/messages Системные события
/var/log/firewall.log Блокировки/разрешения файрвола
/var/log/unbound.log DNS-запросы (если включено логирование)
/var/log/squid/access.log Кэширование/прокси
/var/log/snort/alerts Сигналы IPS (если установлен)

Просмотр в реальном времени

tail -f /var/log/firewall.log
journalctl -u sshd -f
journalctl -u unbound -n 50

Ротация и очистка

# Просмотр размеров логов
du -sh /var/log/*

# Принудительная ротация
logrotate -f /etc/logrotate.conf

8. Безопасность и лучшие практики

  1. Отключите root-вход по паролю → используйте только SSH-ключи.
  2. Ограничьте SSH по IP → в Web UI: Firewall → Rules → Add: Source=Your_IP, Port=22, Protocol=TCP, Action=Accept.

3. Регулярно обновляйте:

   update
   pakfire update
  1. Не редактируйте /var/ipfire/*.conf вручную, если не уверены в синтаксисе. GUI перезаписывает эти файлы.
  2. Тестируйте изменения в виртуальной среде (VirtualBox/Proxmox) перед применением на продакшене.

6. Включите аудит (если нужно):

   auditctl -l
   ausearch -m USER_LOGIN -ts today

9. Типовые проблемы и решения

Проблема Решение
Нет доступа по SSH Проверьте systemctl status sshd, убедитесь, что порт 22 открыт в правилах
Pakfire не работает pakfire update, проверьте DNS (ping google.com), очистите кэш: rm -rf /var/cache/pakfire/*
Файрвол не применяет правила systemctl restart firewall, проверьте синтаксис в rc.firewall.local
Забит /var (логи) logrotate -f, очистите старые логи: find /var/log -name "*.gz" -delete
Система не загружается Загрузитесь в Rescue Mode, проверьте ФС: fsck -y /dev/sda2, восстановите бэкап

Чек-лист перед работой в CLI

  • [ ] Создан актуальный бэкап через backup create
  • [ ] Доступ через SSH ограничен по IP
  • [ ] Понимаете, какие файлы меняет GUI, а какие безопасны для ручной правки
  • [ ] Тестируете изменения на копии системы
  • [ ] Знаете, как восстановить систему через Rescue/Console