Полная установка FreePBX 17 в LXC-контейнере Debian 12 (с двумя сетевыми интерфейсами)
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-03 14:28:38 +07:00
README.md Обновить README.md 2026-09-03 14:28:38 +07:00

Полная установка FreePBX 17 в LXC-контейнере Debian 12 (с двумя сетевыми интерфейсами)

1. Создание LXC-контейнера в Proxmox

Загрузка шаблона Debian 12:

  • В веб-интерфейсе Proxmox перейдите в "Local (pve)" → "CT Templates"
  • Нажмите "Templates" и выберите debian-12-standard_12.2-1_amd64.tar.zst

Параметры контейнера:

  • Hostname: freepbx
  • Password: задайте сложный пароль
  • Storage: выберите локальное хранилище
  • Disk (GB): 10 ГБ (минимально 6 ГБ с учётом роста)
  • CPU cores: 2
  • Memory (MiB): 4096
  • Swap (MiB): 4096
  • Network:
    • eth0: для управления (статический IP)
    • eth1: для VoIP-трафика (статический IP)

Настройка двух сетевых интерфейсов:

nano /etc/network/interfaces
auto lo
iface lo inet loopback

# Управляющий интерфейс
auto eth0
iface eth0 inet static
    address 192.168.1.100/24
    gateway 192.168.1.1
    dns-nameservers 8.8.8.8 1.1.1.1

# VoIP интерфейс
auto eth1
iface eth1 inet static
    address 10.218.40.225/27
    # Без gateway, только маршрут до нужной сети

2. Базовая настройка Debian 12

# Обновление системы
apt update && apt upgrade -y

# Установка базовых пакетов
apt install -y wget curl sudo locales

# Настройка локали
dpkg-reconfigure locales
# Рекомендуемый вариант: en_US.UTF-8 UTF-8
# Для русской локали можно дополнительно включить: ru_RU.UTF-8 UTF-8

# Настройка часового пояса
timedatectl set-timezone Asia/Tomsk

# Создание административного пользователя (дополнительно)
useradd -m -s /bin/bash admin
passwd admin
usermod -aG sudo admin

3. Настройка маршрутизации для двух интерфейсов

Добавление постоянного маршрута через eth1:

nano /etc/network/if-up.d/route-eth1
#!/bin/sh
if [ "$IFACE" = "eth1" ]; then
    ip route add 10.218.0.0/16 via 10.218.40.250 dev eth1
fi
chmod +x /etc/network/if-up.d/route-eth1

Создание скрипта для удаления маршрута:

nano /etc/network/if-down.d/route-eth1
#!/bin/sh
if [ "$IFACE" = "eth1" ]; then
    ip route del 10.218.0.0/16 via 10.218.40.250 dev eth1
fi
chmod +x /etc/network/if-down.d/route-eth1

Проверка маршрутизации:

# Проверка добавленных маршрутов
ip route show

# Проверка доступности через интерфейс eth1
ping -I eth1 10.218.40.1

# Проверка, что маршрут активен
ip route get 10.218.40.224

4. Установка FreePBX

Скачивание и запуск официального установщика:

cd /tmp
wget https://github.com/FreePBX/sng_freepbx_debian_install/raw/master/sng_freepbx_debian_install.sh -O /tmp/sng_freepbx_debian_install.sh
bash /tmp/sng_freepbx_debian_install.sh

Обновление GPG-ключа:

fwconsole util updategpgkey

5. Управление файерволом FreePBX

Первый запуск мастера файервола:

После установки запустите мастер для первоначальной настройки:

fwconsole firewall start

В процессе мастера ответьте на вопросы:

  • Использовать Sangoma Smart Firewall? → Да
  • Доверять текущему клиенту? → Да
  • Включить адаптивный межсетевой экран? → Да (если есть удалённые клиенты)
  • Автонастройка IP Asterisk? → Да

Все последующие настройки файервола (доверенные сети, исключения, параметры Fail2Ban) выполняются через веб-интерфейс FreePBX в разделе "Admin" → "Firewall".

Основные команды управления файерволом из консоли (для быстрых действий):

# Включение/отключение файервола
fwconsole firewall enable
fwconsole firewall disable
fwconsole firewall stop
fwconsole firewall sttart
fwconsole firewall restart
fwconsole firewall status

# Добавление доверенной сети
fwconsole firewall trust 192.168.0.0/16

# Удаление доверенной сети (пример)
fwconsole firewall untrust 192.168.0.0/16

# Просмотр списка доверенных сетей
fwconsole firewall list trusted

# Просмотр всех зон
fwconsole firewall listzones

Команды для работы с Fail2Ban (снятие блокировок):

Если ваш IP был заблокирован, используйте:

# Снять бан с конкретного IP для веб-интерфейса
fail2ban-client set pbx-gui unbanip 192.168.2.78

# Снять все баны со всех jail
fail2ban-client unban --all

# Проверить статус jail
fail2ban-client status pbx-gui

# Просмотреть список игнорируемых IP (настраивается в веб-интерфейсе)
fail2ban-client get pbx-gui ignoreip

Примечание: Для постоянного добавления IP в исключения используйте веб-интерфейс FreePBX (раздел Firewall → Fail2Ban), чтобы изменения сохранялись после перезагрузки.

6. Создание пользователя (Extensions)

  1. Войдите в веб-интерфейс: http://192.168.1.100
  2. Логин: admin / Пароль: ваш пароль
  3. Перейдите в "Applications" → "Extensions"
  4. Нажмите "Add Extension""SIP Extension"
  5. Заполните:
    • Extension: 2001
    • Display Name: User1
    • Secret: R3m0t3P@ssw0rd

7. Настройка транка с другой АТС

  1. Перейдите в "Connectivity" → "Trunks"
  2. Нажмите "Add Trunk""SIP Trunk"
  3. Параметры:
    • Trunk Name: External_ATS
    • Incoming Settings:
      • SIP Server: IP удалённой АТС
      • Username: логин
      • Password: пароль
    • Outgoing Settings:
      • Peer Details:
        type=peer
        host=10.218.40.226
        context=from-trunk
        

8. Бесплатные SIP-клиенты

Для Windows:

Для Android:

  • Linphone (https://linphone.org/)
    • Бесплатный, поддержка нескольких аккаунтов, шифрование (SRTP, ZRTP)

Для iOS:

9. Полезные команды

Управление FreePBX:

# Перезагрузка конфигурации
fwconsole reload

# Установка всех модулей
fwconsole ma installall

# Обновление модулей
fwconsole ma updateall

Проверка статуса Asterisk:

# Статус служб
systemctl status asterisk
systemctl status freepbx

# Просмотр SIP-регистраций
asterisk -rx "sip show peers"

# Просмотр активных звонков
asterisk -rx "core show channels"

# Просмотр логов
tail -f /var/log/asterisk/full
tail -f /var/log/freepbx/freepbx.security

Тестовый звонок:

# Настройте SIP-клиент:
# Server: 192.168.1.100
# Username: 2001
# Password: R3m0t3P@ssw0rd

# Наберите *43 (эхо-тест)

📌 Важно! После завершения установки:

  1. Создайте резервную копию контейнера в Proxmox
  2. Сохраните пароли администратора и пользователей
  3. Проверьте работу обоих сетевых интерфейсов