Установка Asterisk на свой сервер
Установка Asterisk на свой сервер даёт офису собственную АТС, то есть станцию, которая соединяет внутренние номера между собой и с городом через SIP-транк оператора. Сама программа лёгкая, а основные хлопоты связаны с сетью: нужно открыть SIP-порт и диапазон RTP, настроить NAT и закрыть станцию от перебора паролей. Если хочется веб-панели вместо правки файлов, посмотрите FreePBX.
Ответ за 30 секунд
Asterisk для офиса на 10-20 телефонов обходится небольшим сервером, главное тут порты и безопасность: SIP на 5060, голос по UDP в узком диапазоне. Самый дорогой риск это не поломка, а взлом слабого пароля внутреннего номера: злоумышленники звонят по платным направлениям через ваш транк, а счёт приходит вам.
Для офиса хватает небольшой конфигурации: оплата по часам, процессор и диск добавляются без переезда.
Установка Asterisk из исходников на Debian и Ubuntu5060порт SIP по умолчанию
10000-20000диапазон RTP в sample-конфиге
5000-31000RTP по умолчанию без rtp.conf
01 · 1 мин
Asterisk, FreePBX или Issabel: что ставить на сервер#
Asterisk это ядро телефонии с открытым кодом: оно принимает звонки, маршрутизирует их по плану набора, записывает разговоры и ведёт голосовую почту. Настраивается оно текстовыми файлами, поэтому его берут администраторы, которым нужна точность и скрипты.
| Вариант | Что это | Как настраивается |
|---|---|---|
| Asterisk | Ядро АТС | Файлы pjsip.conf и extensions.conf |
| FreePBX | Веб-панель над Asterisk | Мышью: номера, очереди, транки |
| Issabel | Готовая сборка с Asterisk и своим интерфейсом | Через встроенный веб-интерфейс |
Чистый Asterisk легче по ресурсам и не привязан к чужой панели. Issabel и FreePBX экономят время на первом запуске, но привязывают вас к своей структуре настроек: правка вручную может конфликтовать с панелью.
02 · 1 мин
Какие порты открыть для Asterisk на VPS#
| Порт | Назначение | Кому открывать |
|---|---|---|
| 5060, UDP и TCP | SIP, сигнализация звонков | Оператору и вашим телефонам |
| 5061, TCP | SIP через TLS | Телефонам, если включено шифрование |
| 10000-20000, UDP | RTP, сам голос | Тем же адресам |
| 5038, TCP | Интерфейс управления AMI | Никому снаружи |
Диапазон RTP задаётся в rtp.conf параметрами rtpstart и rtpend. В примере из репозитория Asterisk стоят 10000 и 20000, а встроенные значения шире: от 5000 до 31000. Поэтому укажите узкий диапазон явно, иначе межсетевому экрану придётся открывать десятки тысяч портов. На один разговор уходит пара портов (RTP и RTCP), поэтому даже тысячи портов хватит на сотни одновременных звонков.
sudo ufw allow from 203.0.113.10 to any port 5060 proto udp
sudo ufw allow from 203.0.113.10 to any port 10000:20000 proto udp
Адрес 203.0.113.10 тут условный: впишите адрес оператора или офиса. Открывать SIP для всего интернета без необходимости не нужно, это главное правило безопасности станции.
Инструмент · 1 мин
Установка Asterisk из исходников на Debian и Ubuntu#
- Скачайте архив выбранной ветки с downloads.asterisk.org и распакуйте. Берите ветку LTS, если станция должна работать годами без смены версии.
- Поставьте зависимости скриптом из каталога contrib/scripts.
- Соберите программу: configure, затем menuselect для выбора модулей, затем make.
- Установите и создайте образцы конфигов, подключите автозапуск службы.
- Запустите Asterisk и подключитесь к консоли командой
asterisk -rvvv.
sudo contrib/scripts/install_prereq install
./configure
make menuselect
make -j2
sudo make install
sudo make samples
sudo make config
В репозиториях Debian и Ubuntu есть и готовый пакет asterisk, он ставится одной командой, но обычно отстаёт от текущих выпусков. Для SIP настраивайте драйвер PJSIP: старый chan_sip объявлен устаревшим.
Docker для Asterisk подходит хуже, чем для веб-приложений: у станции большой диапазон UDP-портов, а проброс сотен портов через сетевой мост замедляет запуск и усложняет NAT. Если берёте контейнер, запускайте его с режимом сети host.
Какой сервер взять под Asterisk
Три ответа, и калькулятор подберёт готовую конфигурацию
04 · 1 мин
NAT и подключение SIP-транка оператора в Asterisk#
Проверьте командой ip a, есть ли публичный адрес на самом интерфейсе сервера. Если его нет и адрес подменяется на уровне облака, станция работает за NAT и сама не знает свой внешний адрес. Тогда в транспорте PJSIP задайте external_signaling_address и external_media_address, а подсеть сервера перечислите в local_net. Для телефонов за NAT в настройках номера включаются rtp_symmetric, force_rport и rewrite_contact. Без этого типичный признак одинаков: звонок соединяется, а голоса нет в одну или обе стороны.
Российский оператор выдаёт для SIP-транка адрес сервера и один из двух способов входа: логин с паролем, по которым станция регистрируется на стороне оператора, или привязку к IP, когда вы сообщаете адрес своего сервера и оператор пускает с него без пароля. Также он называет разрешённые кодеки, обычно это G.711, и номера, которые к транку привязаны.
[trunk]
type=registration
outbound_auth=trunk
server_uri=sip:sip.operator.example
client_uri=sip:ЛОГИН@sip.operator.example
[trunk]
type=auth
auth_type=userpass
username=ЛОГИН
password=ДЛИННЫЙ_ПАРОЛЬ
[trunk]
type=endpoint
context=from-trunk
disallow=all
allow=alaw,ulaw
outbound_auth=trunk
aors=trunk
[trunk]
type=aor
contact=sip:sip.operator.example
Это схема для транка с регистрацией; для транка по IP вместо регистрации добавляют секцию identify с адресом оператора. Состояние регистрации смотрите командой pjsip show registrations, а исходящий звонок проверяйте с включённым логом SIP.
05 · 1 мин
Как защитить Asterisk от взлома и звонков за ваш счёт#
Станции в интернете сканируют постоянно. Если находят внутренний номер с простым паролем, через него звонят на платные международные направления, а оператор выставляет счёт владельцу транка. Меры защиты простые, но их нужно выполнить все:
- Длинные случайные пароли для каждого номера, не совпадающие с самим номером: 16 символов и больше, из менеджера паролей.
- Открытый SIP только своим адресам: оператору и офису, как в правилах выше.
- Запрет дорогих направлений в плане набора: оставьте только российские коды, международные включайте отдельным списком по необходимости.
- Лимит у оператора: многие позволяют ограничить расходы в сутки и число одновременных звонков по транку.
- fail2ban банит адреса после неудачных входов. В комплекте с ним идёт готовый фильтр asterisk.
[asterisk]
enabled = true
filter = asterisk
logpath = /var/log/asterisk/messages
maxretry = 5
bantime = 1h
Смена порта не защита
Перенос SIP с 5060 на другой порт отсекает лишь самых ленивых сканеров. Сканеру хватает пары минут, чтобы найти новый порт, поэтому полагайтесь на пароли, ограничение адресов и fail2ban, а смену порта считайте косметикой.
06 · 1 мин
Копии и обновление Asterisk#
В копию попадают каталог /etc/asterisk с настройками, /var/lib/asterisk с базой и звуками, а также /var/spool/asterisk, где лежат голосовая почта и записи разговоров. Записи занимают больше всего места, поэтому выгружайте их по расписанию на другой сервер, как описано в разборе сервер для бэкапов.
Обновление из исходников идёт теми же командами сборки с тем же набором модулей из menuselect, а настройки остаются на месте. Перед сменой ветки прогоните свой план набора на пробном сервере. Если станции нужна панель, а не файлы, перейдите на FreePBX: он ставит собственную версию Asterisk.
07 · 1 мин
Вопросы об установке Asterisk#
Какие порты нужно открыть для Asterisk на сервере?
SIP: 5060 по UDP и TCP, при TLS ещё 5061. Голос идёт по UDP в диапазоне RTP, который задаётся в rtp.conf: в примере проекта это 10000-20000. Порт управления 5038 наружу не открывают.
Как установить Asterisk на Debian или Ubuntu?
Можно поставить пакет asterisk из репозитория, но версия в нём обычно старше текущей. Для свежей ветки скачайте исходники, запустите install_prereq, configure, menuselect и make, затем make install и make samples.
Почему при звонке в Asterisk нет звука?
Чаще всего виноваты NAT и межсетевой экран: закрыт диапазон RTP или станция не знает внешний адрес. Откройте UDP-порты из rtp.conf и задайте external_media_address в транспорте PJSIP.
Чем Asterisk отличается от Issabel?
Asterisk это ядро АТС, которое настраивается файлами. Issabel это готовая сборка на его основе со своим веб-интерфейсом, где номера и транки создаются мышью.
Почему этому можно верить
Как мы проверяли
Источники цифр на этой странице: VPS и VDS серверы Таймвеб Клауд, timeweb.cloud/services/vds-vps, проверено 14 октября 2026; Маркетплейс приложений Таймвеб Клауд, timeweb.cloud/marketplace, проверено 14 октября 2026.
Запустите свой сервер за пару минут
Почасовая оплата: тестовый стенд на сутки стоит десятки рублей, а не месячный тариф.
- NVMe-диски и гарантированная доля процессора
- Root-доступ и любой софт, от Docker до игровых серверов
- Маркетплейс: 91 приложение в один клик
- Бесплатный перенос проекта силами специалистов