
Порт 5060 используется протоколом SIP для регистрации абонентов и установления голосовых сессий. В маршрутизаторах MikroTik этот порт часто уже задействован встроенным SIP helper, что приводит к конфликтам с IP-АТС, VoIP-шлюзами и облачными провайдерами телефонии. В результате регистрация не проходит, звонки обрываются, а входящие вызовы не доходят до внутреннего сервера.
Открытие порта 5060 на MikroTik сводится не только к добавлению правила в firewall. Необходимо проверить, кто именно слушает порт, отключить SIP ALG, корректно настроить dst-nat и убедиться, что ответы от SIP-сервера уходят через нужный интерфейс. Ошибки на любом из этих этапов приводят к одностороннему аудио или постоянным попыткам повторной регистрации.
Отдельного внимания требует безопасность. Открытый SIP-порт быстро попадает под перебор учетных данных и фрод-атаки. Практика показывает, что оставлять 5060 доступным для всего интернета недопустимо. Минимальный набор мер включает фильтрацию по IP-адресам оператора, ограничение числа соединений и контроль состояний в connection tracking.
В этой статье разбираются прикладные шаги настройки MikroTik: от освобождения порта 5060 и отключения helper до проверки прохождения SIP-пакетов с помощью встроенных инструментов RouterOS. Материал ориентирован на реальные сценарии с локальной АТС, виртуальным сервером и внешним SIP-провайдером.
Проверка занятости порта 5060 встроенным SIP сервисом RouterOS

В RouterOS порт 5060 по умолчанию может быть занят встроенным SIP сервисом (SIP helper). Он перехватывает SIP-пакеты на уровне connection tracking и изменяет заголовки, что мешает работе внешней АТС или SIP-провайдера. Перед настройкой firewall и NAT требуется точно определить, используется ли порт самим маршрутизатором.
Первый шаг – проверка состояния SIP сервиса в конфигурации RouterOS. Для этого анализируется параметр sip-enabled в настройках firewall service ports. Если он активен, MikroTik обрабатывает SIP-трафик независимо от правил фильтрации.
- Открыть раздел IP → Firewall → Service Ports
- Найти запись sip
- Проверить значение поля Enabled
Дополнительно следует убедиться, что сам маршрутизатор не слушает порт 5060 для локальных сервисов. Это проверяется через список активных сокетов и сервисов управления.
- Проверить раздел IP → Services и убедиться, что ни один сервис не использует порт 5060
- Просмотреть активные соединения в IP → Firewall → Connections с фильтром по порту 5060
Если в списке соединений отображаются записи со статусом related или assured без явного NAT-правила, это указывает на вмешательство SIP helper. В таком случае дальнейшая настройка проброса порта не даст результата до отключения встроенного сервиса.
Для полной уверенности рекомендуется временно включить логирование входящих UDP-пакетов на порт 5060. Отсутствие записей в логах при активных попытках регистрации SIP-клиента также подтверждает, что трафик обрабатывается внутренним механизмом RouterOS, а не правилами firewall.
Отключение SIP ALG и helper в настройках MikroTik

SIP ALG в RouterOS реализован через механизм helper и работает на уровне connection tracking. Он автоматически анализирует SIP-пакеты на порту 5060 и переписывает IP-адреса и порты в заголовках. Для современных SIP-провайдеров и IP-АТС такое вмешательство приводит к ошибкам регистрации, обрыву вызовов и отсутствию звука.
Отключение SIP helper выполняется в настройках service ports. Это действие освобождает порт 5060 от обработки встроенным механизмом и позволяет firewall и NAT работать строго по заданным правилам.
В графическом интерфейсе WinBox необходимо перейти в IP → Firewall → Service Ports, выбрать запись sip и снять флаг активности. После применения изменений RouterOS перестает анализировать SIP-трафик и не изменяет содержимое пакетов.
При работе через CLI используется команда отключения helper, после которой параметр sip-enabled принимает значение no. Изменение вступает в силу сразу и не требует перезагрузки маршрутизатора.
Дополнительно следует проверить, что в системе не используется устаревший режим ALG через глобальные настройки firewall. В актуальных версиях RouterOS вмешательство SIP полностью контролируется только через service ports, однако на старых конфигурациях возможны сохраненные правила, влияющие на обработку UDP 5060.
После отключения SIP ALG рекомендуется очистить таблицу соединений, чтобы удалить уже установленные сессии, созданные с участием helper. Это предотвращает использование старых состояний и позволяет SIP-клиентам заново зарегистрироваться с корректными параметрами.
Правильно отключенный SIP helper является обязательным условием для стабильной работы проброса порта 5060 и корректного взаимодействия MikroTik с внешними SIP-серверами.
Создание правила firewall filter для входящего трафика UDP 5060

После освобождения порта 5060 и отключения SIP helper необходимо явно разрешить входящий UDP-трафик на этом порту. В MikroTik это делается через правило в цепочке input или forward – выбор зависит от того, где расположен SIP-сервер. Если он работает на самом маршрутизаторе, используется input, при пробросе на внутренний хост – forward.
Правило должно обрабатывать только нужный трафик и располагаться выше общих запрещающих правил. При наличии default-drop в конце цепочки отсутствие явного allow для 5060 приведет к блокировке SIP-регистрации.
| Параметр | Значение | Комментарий |
|---|---|---|
| Chain | input / forward | input – SIP на MikroTik, forward – SIP на внутреннем сервере |
| Protocol | udp | SIP по умолчанию использует UDP |
| Dst. Port | 5060 | Стандартный порт SIP-сигнализации |
| In. Interface | WAN | Ограничение правилом только внешнего интерфейса |
| Action | accept | Разрешение входящего трафика |
Если SIP-провайдер использует фиксированный список IP-адресов, правило следует дополнить параметром Src. Address. Это резко снижает количество нежелательных запросов и нагрузку на connection tracking.
После добавления правила необходимо проверить счетчики пакетов. Рост значений Packets и Bytes при попытке регистрации SIP-клиента подтверждает, что трафик доходит до нужной цепочки и не отсекается другими правилами firewall.

При размещении SIP-сервера во внутренней сети требуется правило dst-nat, перенаправляющее входящие пакеты с внешнего интерфейса MikroTik на конкретный IP-адрес. Без этого регистрация абонентов и входящие вызовы будут обрабатываться только на уровне маршрутизатора и не дойдут до АТС.
Правило создается в цепочке dstnat с указанием протокола udp и порта назначения 5060. В качестве входящего интерфейса задается WAN, чтобы исключить обработку локального трафика и снизить нагрузку на NAT.
Параметр Dst. Address обычно не указывается, если используется один внешний IP. При наличии нескольких адресов правило привязывается к конкретному публичному IP, на который приходит SIP-трафик от провайдера.
В поле Action выбирается dst-nat, а в параметре To Addresses указывается внутренний IP SIP-сервера. Порт перенаправления оставляется равным 5060, если АТС слушает стандартный порт. Изменение порта оправдано только при нестандартной конфигурации сервера.
После добавления dst-nat необходимо убедиться, что правило находится выше других NAT-записей, особенно универсальных masquerade или dst-nat для диапазонов портов. При неверном порядке пакеты будут обрабатываться не тем правилом и не дойдут до нужного хоста.
Корректность проброса проверяется по счетчикам Packets и Bytes в правиле dst-nat. Их увеличение при попытке регистрации SIP-клиента подтверждает, что UDP 5060 перенаправляется на внутренний IP без участия встроенных механизмов RouterOS.
Вопрос-ответ:
Почему после настройки dst-nat на порт 5060 SIP-клиенты не регистрируются?
Частая причина — активный SIP helper или SIP ALG, который перехватывает пакеты на порту 5060 и изменяет заголовки. Даже при корректном dst-nat пакеты не доходят до внутреннего сервера. Необходимо отключить SIP helper через IP → Firewall → Service Ports и очистить таблицу соединений, чтобы сбросить устаревшие состояния.
Можно ли открыть порт 5060 для всего интернета без ограничения по IP?
Технически это возможно, но создается высокая нагрузка и риск несанкционированного доступа. Лучше ограничить доступ только IP-адресами SIP-провайдера, используя параметр Src. Address в правилах firewall. Это уменьшает количество попыток перебора учетных данных и снижает нагрузку на маршрутизатор.
Нужно ли использовать TCP для SIP на порту 5060 или достаточно UDP?
SIP по стандарту использует UDP для сигнализации, поэтому в большинстве случаев достаточно открытого UDP 5060. TCP может потребоваться только для некоторых провайдеров или при нестандартных настройках АТС. В MikroTik достаточно создать правило firewall для UDP 5060 и dst-nat на внутренний IP SIP-сервера.
Как проверить, что порт 5060 на MikroTik действительно свободен и не занят внутренними сервисами?
Необходимо проверить раздел IP → Firewall → Service Ports на наличие активного SIP helper и убедиться, что параметр Enabled снят. Дополнительно можно просмотреть активные соединения в IP → Firewall → Connections с фильтром по порту 5060 и убедиться, что нет связанных записей. Если пакеты SIP не отображаются в логах при попытке регистрации, это указывает на то, что порт больше не обрабатывается встроенными сервисами.
После проброса порта 5060 я не слышу аудио в звонках. В чем причина?
Отсутствие звука чаще всего связано с тем, что RTP-порты не проброшены или заблокированы firewall. SIP на 5060 отвечает только за сигнализацию, а голосовой поток идет на отдельный диапазон UDP-портов (обычно 10000–20000). Нужно создать отдельные правила dst-nat и firewall для RTP-пакетов, соответствующих настройкам внутренней АТС или VoIP-шлюза.
Как проверить, что правила firewall для UDP 5060 работают корректно?
Можно использовать счетчики пакетов и байт в правиле firewall. При регистрации SIP-клиента значения Packets и Bytes должны увеличиваться. Если счетчики остаются нулевыми, нужно проверить порядок правил — правило для 5060 должно находиться выше универсальных drop или masquerade, чтобы пакеты не блокировались другими записями.
После настройки проброса порта 5060 и правил firewall звонки через SIP проходят, но нет звука. В чем может быть причина?
Отсутствие звука обычно связано с тем, что SIP 5060 отвечает только за сигнализацию, а голосовой поток идет через отдельные UDP-порты (RTP). В MikroTik необходимо пробросить диапазон RTP-портов, используемых вашей АТС или VoIP-шлюзом, и разрешить их в firewall. Если RTP-пакеты блокируются или не проходят через NAT, аудио не передается. Также стоит проверить, что внутренний SIP-сервер правильно указывает внешние IP и порты в SDP-заголовках, иначе пакеты будут возвращаться на неправильный адрес. После настройки правил для RTP и проверки NAT аудио начинает работать корректно.
