Mikrotik настройка sip firewall
Часто пользователи IP телефонии сталкиваются с проблемой односторонней слышимости. Проблема в том, что в SIP протоколе, в части где описываются возможности голосового соединения (кодеки, IP адреса и порты обмена) - в протоколе SDP (Session Description Protocol), имеется запись о IP адресе на котором клиент ожидает соединения, и этот IP адрес, естественно является "серым", то есть из сети, которая находится за NAT-ом. А прямое соединение на этот немаршрутизируемый IP естественно невозможно. Однако, все современные IP шлюзы, понимают, что такая ситуация может возникнуть и разруливают её соответствующим образом - то есть они не обращают внимание на этот адрес, а пакеты шлют на тот адрес с которого приходят к нему пакеты, то есть на наш реальный IP, находящийся на выходе из NAT.
SIP телефоны (софтфоны) вполне корректно работают из под NAT, и порты никакие пробрасывать не надо.
В процессе изучения Mikrotik и анализа проходящего VoIP трафика, выяснилось, что роутер по умолчанию лезет в SIP/SDP протокол и подменяет установленный там IP на свой внешний (так называемый SIP ALG). Таким образом, со стороны это выглядит так, как будто и нет никакого NAT-а. И всё в порядке, и всё в общем то работает. Однако если у вас проблема с односторонней слышимостью, то вам необходимо отключить SIP ALG на роутере. Делается это следующей командой в консоли RouterOS
/ip firewall service-port disable sip
Еще одна часто возникающая проблема с роутерами Mikrotik - это зависшие UDP соединения. По наблюдениям это происходит в результате цепочки событий
1. Происходит отключение Интернет соединения
2. Устройство, находящееся за NAT, отправляет запрос в сторону SIP сервера
3. Создается ошибочная запись в таблице conntrack
4. Интернет соединение восстанавливается
5. Таблица NAT netfilter не может получить корректную информацию для новых запросов
В результате SIP-устройства не могут зарегистрироваться, хотя запросы отправляются (клиенты Ростелеком с подключением по технологии PON страдают в первую очередь, т.к. раз в сутки биллинг провайдера принудительно разрывает сессию) .
TCPDUMP в данной ситуации показывает, что UAC отправляет в сторону сервера REGISTER, сервер отвечает запросом авторизации (SIP/2.0 401 Unauthorized), а в ответ ничего не приходит. Лечится это либо перезагрузкой роутера или удалением UDP соединений из консоли Mikrotik
/ip firewall connection remove [find where protocol=udp and dst-address
/ip firewall connection remove [find where connection-type=sip and assured=no]
Если нет возможности перезагрузить роутер или удалить UDP сессии, то можно попробовать выключить SIP устройство на 15-20 минут и потом включить снова.
Если проблема не постоянная, а то появляется, то исчезает, то возможно поможет отключение технологии fastpath (необходимо перезагрузить роутер после выполнения этих команд)
/ip settings set allow-fast-path=no
/ip firewall filter disable [/ip firewall filter find where action=fasttrack-connection]
В новых версиях RouterOS появился параметр sip-timeout, который теоретически может помочь в решении данной проблемы. Попробуйте выполнить следующую команду
/ip firewall service-port set sip disabled=no ports=5060,5061 sip-direct-media=yes sip-timeout=5m
Оборудование Микротик предлагает гибкую настройку телефонных систем, использующих SIP. Модели производителя известны надежностью – для работы системы достаточно единоразовой настройки.
- Оборудование Mikrotik
- Настройка роутера Mikrotik
- Настройка DHCP сервера
- Создание правил сетевого экрана и NAT
- Отключение SIP ALG на Mikrotik
- Проброс портов SIP на Mikrotik
- Проблемы в эксплуатации
Оборудование Mikrotik
Оборудование латвийской компании Mikrotik занимается маршрутизацией потоков данных для их своевременной доставки между абонентами локальной и глобальной сетей. Устройства Mikrotik работают с голосовой связью Voice IP через протокол передачи трафика Session Initiation Protocol.
Преимущества и недостатки программно-аппаратных комплексов компании рассмотрим в таблице.
Преимущества | Недостатки |
Дешевле аналогов других брендов | Может не подойти для очень больших сетей |
Единая программная оболочка для всего набора устройств с одинаковыми принципами настройки | Не поддерживает методы шифрования по Российскому ГОСТу. |
Документы и ПО для обновления оборудования есть в открытом доступе – не нужно даже создавать аккаунт на вебсайте производителя | Сложен в первичной настройке |
Подходит для систем с разным числом подсетей и пользователей | |
Предлагает расширенный функционал | |
Бренд известен надежностью программно-аппаратных предложений – один раз правильной настроили и забыли |
Настройка роутера Mikrotik
Перед настройкой Mikrotik Routerboard подключите его к нужной сети и подсоедините устройство для запуска WEB-интерфейса, например, ноутбук. Для разных моделей компания использует одну и туже операционную систему, поэтому процесс настройки для разной маршрутизирующей техники будет отличаться только в деталях.
Для управления Routerboard на ОС Windows понадобится специальная программа – Winbox. Скачайте её с официального сайта производителя по ссылке.
Для авторизации вам понадобится IP-адрес системы, логин с паролем для авторизации. Они указаны на корпусе устройства и в технической документации. Как правило, нужные данные единообразны:
- IP-адрес: 192.168.88.1;
- логин: admin;
- пароль: отсутствует.
Для простоты воспользуйтесь режимом быстрой конфигурации «Quick Set». Кнопку для входа ищите слева вверху. Далее следуйте инструкции:
- Найдите раздел «System».
- Проверьте и установите имеющиеся обновления системы с помощью кнопки «Check for updates».
- Настройте беспроводной доступ в блоке «Wireless». Вас интересуют графы с SSID, паролем, методом шифрования и аутентификации. Поля с частотой (frequency), необходимой шириной полосы канала (Channel Width) и диапазоном частот (Band) оставьте нетронутыми, если не знаете, что туда вводить.
- Блок «Configurations» нужен, чтобы правильно организовать общение роутера с внешней сетью, чаще всего – интернетом. Здесь важны имя пользователя, пароля и наименование используемой технологии подключения. Их назначают при составлении договора с провайдером о поставке услуг связи.
- В блоке Local укажите набор возможных внутренних адресов и выберите состояние функций подмены IP NAT и автоматической раздачи адресов абонентам DHCP.
- Не забудьте сменить авторизационные данные для входа в маршрутизатор, иначе вас будет легче взломать. Для этого замените нужные поля в нижнем правом углу.
- По окончанию настроек нажмите «ОК» справа вверху.
После перезагрузки система должна заработать корректно. Проверьте это, зайдя в интернет с абонентского устройства или запустив классические команды для проверки соединения, такие как: ping и tracert.
Настройка DHCP сервера
Dynamic Host Configuration Protocol нужен, чтобы распространять между абонентами информацию об адресах и иных параметрах соединения. В предыдущем разделе мы включили нужную опцию. Чтобы настроить DHCP для работы с SIP-телефонами:
- Войдите в консоль управления SIP-телефонами.
- Скопируйте значение графы «Local Provisioning URL».
- Войдите в систему настройки через Winbox.
- Перейдите по пунктам меню IP – DHCP Server – Options.
- Создайте новую опцию со следующими значениями граф:
- Name: произвольно;
- Code: 66;
- Value: ранее скопированное значение в одинарных кавычках;
- Нажмите «ОК» в открытом окне.
Чтобы завершить процесс настройки DHCP, перейдите в раздел Network из подменю DHCP Server. Следуйте инструкции:
- Укажите верные значения DNS Server и Domain. Как правило, сервером для получения доменных имен, является сам роутер.
- Укажите адрес сервера, для синхронизации локальных часов через поле «Network Time Protocol Server (NTP)».
- Укажите значение «Provisioning» в графе «DHCP Options».
- Нажмите «OK».
После этого приступайте к конфигурации системы NAT.
Создание правил сетевого экрана и NAT
NAT используют для того, чтобы ограниченное число внешних адресов локальной сети не мешало данным доходить до неограниченного числа нужных адресатов. NAT подменяет внутренний адрес пользователя на внешний и наоборот. Система позволяет избежать путаницы.
Для эффективной работы SIP нужно внести новые правила. Для этого:
- Войдите в настройки маршрутизирующего устройства.
- Пройдите по пунктам меню IP – Firewall – NAT.
- Узнайте данные IP-адресов, используемых протоколов и необходимых портов для подключения к серверам IP-телефонии.
- Создавайте правила, нажимая на кнопку со значком в виде «+». Она находится слева вверху.
- Вводите данные, собранные на шаги 3 во вкладках «General» и «Action». Первая нужна для того, чтобы указать общие настройки. Во второй выберите нужное действие – «dst-nat», локальный адрес сервера Voice IP и его порт. Не забудьте включить чекбокс напротив надписи ««Passthrough», чтобы допустить обработку данных дальше по сети.
Важно верно установить маркировку на исходящие соединения:
- установите connection Mark: no-mark;
- поставьте на новые соединения пометку new.
Для упрощенных очередей трафика с помощью Simple Queues маркировку входящих соединений не делают.
Для выбора приоритета пакетов трафика, введите следующие настройки:
- priority – указывайте цифру от 1 до 3 для указания уровня приоритизации;
- max-Limit – максимальный размер передаваемой информации;
- limit At – минимальная скорость работы сети;
- packet Marks – для того, чтобы отфильтровывать телефонные разговоры установите значение SIP-Trunk;
- queues Type – разновидность очереди, лучше выставите значение pcq для входящего и исходящего трафика отдельно.
Процесс правильной маркировки и приоритизации смотрите на видео
Отзыв нашего читателя
Для моей компании требовалась IP-телефония, которая бы отвечала ряду требований: наличие АТС, возможность использования номеров разных регионов, адекватные цены и возможность оперативно решать вопросы. Выбирал из нескольких провайдеров на рынке, в итоге остановился на Задарма, она отвечает всем нашим требованиям. Подробнее >>>
Отключение SIP ALG на Mikrotik
Шлюз прикладного уровня Application Level Gateway нужен для того, чтобы Voice IP контент безошибочно работал с технологией подмены IP-адресов NAT. Если данное взаимодействие работает некорректно, возможно одностороннее пропадание связи. Это происходит из-за того что абонент, использующий NAT+ALG, затерялся среди подменных адресов.
Часть SIP-клиентов и моделей оборудования не нуждается в ALG. В этом случае отключите шлюз прикладного уровня. Для этого достаточно одной текстовой команды:
/ip firewall service-port disable sip
Также ALG можно выключить через Winbox в разделе Firewall Service Ports пункта меню IP. Для этого используйте кнопку верхней панели инструментов в виде красного креста.
Проброс портов SIP на Mikrotik
Кроме IP-адресов для передачи данных используют локальные и глобальные порты. Процесс их сопоставления для транспортировки информации называют пробросом.
Проброс портов входит в настройку сетевого экрана, его получится реализовать текстовыми командами.
Сначала определим время ожидания отклика нужных портов – timeout. Сделаем его равным 5 минутам с помощью команды:
/ip firewall service-port set sip disabled=no ports=5060, 5061 sip-direct-media=yes sip-timeout=5m
Убедитесь, что в настройках открыты нужные порты:
- №№ 4569, 5060, 5070, 5090 для передачи данных с помощью протоколов транспортного уровня User Datagram Protocol и Transmission Control Protocol;
- №443 для работы через протокол прикладного уровня HyperText Transfer Protocol Secure.
- №№1000-20000 для транспортировки информации с помощью протокола UDP.
Перечисленные протоколы и порты задействованы для работы Voice IP с разными SIP-клиентами. Чтобы открыть закрытые порты следуйте инструкции:
- Войдите в настройки маршрутизирующего устройства.
- Поочередно нажимайте на кнопки меню IP, Firewall.
- Откройте вкладку Service Ports.
- Добавьте необходимые данные в список.
Настройку правил ретрансляции портов на аппаратуре Микротик смотрите на видео
Проблемы в эксплуатации
О списке проблемных моментов и возможных решениях читайте в таблице ниже.
Если программно запустить очистку не получается, воспользуйтесь одной из представленных команд:
-
/ip firewall connection remove [find where protocol=udp and dst-address
Аппаратура Mikrotik предлагает интересное соотношение цены и качества. Оборудование не намного дороже предназначенного для личного пользования. При этом, модели дают явно не домашний набор функций. Оптимальный выбор для малого и среднего бизнеса.
В данной статье описана настройка файрвола на маршрутизаторах Mikrotik из консоли.
Настройки роутера в примере:
WAN-интерфейс: ether1
LAN-интерфейс: bridge-local
LAN-подсеть: 192.168.1.0/24
Порт 3389 WAN-интерфейса проброшен на 192.168.1.100
Настройка белого списка адресов
Настройка цепочки input
Настройка цепочки forward
Настройка белого списка адресов
Для начала, создадим список адресов, с которых будет открыт дуступ к интерфейсу управления роутером.
/ip firewall address-list
Добавляем внешние адреса, с которых можно будет подключиться к роутеру
add address=1.1.1.1 list=admin
add address=2.2.2.2 list=admin
add address=3.3.3.3 list=admin
Настройка цепочки input
/ip firewall filter
1. Правило для защиты от IP-спуфинга (ответ RST-пакетом на SYN-ACK-пакет, если он является первым в соединении)
add chain=input action=reject reject-with=tcp-reset protocol=tcp tcp-flags=syn,ack connection-state=new
add chain=input action=accept connection-state=established
add chain=input action=accept connection-state=related
add chain=input action=drop connection-state=invalid
5. Пропуск ICMP echo request
add chain=input action=accept protocol=icmp icmp-options=8
6. Пропуск ICMP time exceeded
add chain=input action=accept protocol=icmp icmp-options=11
7. Пропуск ICMP fragmentation needed
add chain=input action=accept protocol=icmp icmp-options=3:4
8. Пропуск DNS-запросов из локальной сети
add chain=input action=accept protocol=udp in-interface=bridge-local src-address=192.168.1.0/24 dst-port=53
add chain=input action=accept protocol=tcp in-interface=bridge-local src-address=192.168.1.0/24 dst-port=22,80,8291
add chain=input action=accept protocol=tcp in-interface=bridge-local src-address-list=admin dst-port=22,80,8291
11. Всё остальное сбрасываем
add chain=input action=drop
/ip firewall filter
add chain=input action=reject reject-with=tcp-reset protocol=tcp tcp-flags=syn,ack connection-state=new
add chain=input action=accept connection-state=established
add chain=input action=accept connection-state=related
add chain=input action=drop connection-state=invalid
add chain=input action=accept protocol=icmp icmp-options=8
add chain=input action=accept protocol=icmp icmp-options=11
add chain=input action=accept protocol=icmp icmp-options=3:4
add chain=input action=accept protocol=udp in-interface=bridge-local src-address=192.168.1.0/24 dst-port=53
add chain=input action=accept protocol=tcp in-interface=bridge-local src-address=192.168.1.0/24 dst-port=22,80,8291
add chain=input action=accept protocol=tcp in-interface=bridge-local src-address-list=admin dst-port=22,80,8291
add chain=input action=drop
Настройка цепочки forward
/ip firewall filter
1. Правила для пропуска established и related пакетов и сброса invalid пакетов, как и в цепочке input
add chain=forward action=accept connection-state=established
add chain=forward action=accept connection-state=related
add chain=forward action=drop connection-state=invalid
2. Пропуск запросов из локальной сети
add chain=forward action=accept in-interface=bridge-local src-address=192.168.1.0/24
3. Пропуск проброшенных пакетов на 192.168.1.100
add chain=forward action=accept protocol=tcp dst-address=192.168.1.100 dst-port=3389
4. Всё остальное сбрасываем
add chain=forward action=drop
/ip firewall filter
add chain=forward action=accept connection-state=established
add chain=forward action=accept connection-state=related
add chain=forward action=drop connection-state=invalid
add chain=forward action=accept in-interface=bridge-local src-address=192.168.1.0/24
add chain=forward action=accept protocol=tcp dst-address=192.168.1.100 dst-port=3389
add chain=forward action=drop
Для корректной работы телефонии необходимо открыть доступ на фаерволе/роутере/брандмауэре и т.д., осуществив следующие действия: разрешить входящие соединения и исходящий трафик для прохождения голоса по протоколу UDP и TCP для подсети:
81.88.86.0/24, порты с 1024 по 65535.
Открываем порты для sip:
chain=forward action=accept protocol=udp src-address=192.168.88.18 dst-address=81.88.86.0/24 in-interface=br
где для ip-телефона с ip 192.168.88.18 разрешаем открывать порты (1024-65535) для серверов манго-телеком 81.88.86.0/24
SIP телефоны (софтфоны) вполне корректно работают из под NAT, и порты никакие пробрасывать не надо.
В процессе изучения Mikrotik и анализа проходящего VoIP трафика, выяснилось, что роутер по умолчанию лезет в SIP/SDP протокол и подменяет установленный там IP на свой внешний (так называемый SIP ALG). Таким образом, со стороны это выглядит так, как будто и нет никакого NAT-а. И всё в порядке, и всё в общем то работает. Однако если у вас проблема с односторонней слышимостью, то вам необходимо отключить SIP ALG на роутере. Делается это следующей командой в консоли RouterOS
/ip firewall service-port disable sip
1. Происходит отключение Интернет соединения
2. Устройство, находящееся за NAT, отправляет запрос в сторону SIP сервера
3. Создается ошибочная запись в таблице conntrack
4. Интернет соединение восстанавливается
5. Таблица NAT netfilter не может получить корректную информацию для новых запросов
В результате SIP-устройства не могут зарегистрироваться, хотя запросы отправляются (клиенты Ростелеком с подключением по технологии PON страдают в первую очередь, т.к. раз в сутки биллинг провайдера принудительно разрывает сессию) .
TCPDUMP в данной ситуации показывает, что UAC отправляет в сторону сервера REGISTER, сервер отвечает запросом авторизации (SIP/2.0 401 Unauthorized), а в ответ ничего не приходит. Лечится это либо перезагрузкой роутера или удалением UDP соединений из консоли Mikrotik
/ip firewall connection remove [find where protocol=udp and dst-address
/ip firewall connection remove [find where connection-type=sip and assured=no]
Если нет возможности перезагрузить роутер или удалить UDP сессии, то можно попробовать выключить SIP устройство на 15-20 минут и потом включить снова.
Если проблема не постоянная, а то появляется, то исчезает, то возможно поможет отключение технологии fastpath (необходимо перезагрузить роутер после выполнения этих команд)
/ip settings set allow-fast-path=no
/ip firewall filter disable [/ip firewall filter find where action=fasttrack-connection]
В новых версиях RouterOS появился параметр sip-timeout, который теоретически может помочь в решении данной проблемы. Попробуйте выполнить следующую команду
/ip firewall service-port set sip disabled=no ports=5060,5061 sip-direct-media=yes sip-timeout=5m
Настройка Mikrotik для SIP телефонии
Последние несколько лет ip –телефония стала очень популярна, благодаря ряду своих преимуществ. Для ее бесперебойной работы некоторое оборудование, поэтому в центре внимания mikrotik ip телефония настройка.
Microtik: достоинства и недостатки
Что же такое Microtik? Говоря общими словами, это сетевое оборудование, включающее в себя маршрутизаторы (проводные и беспроводные), и соответствующее им оборудование и операционные системы. Для удобства понимания, условно можно разделить ОС RouterOS и «железо» Router Board.
В чем же достоинства microtik?
- Стоимость – в своем ценовом сегменте конкуренты просто не обнаруживаются;
- Единая для всех своих устройств ОС позволяет быстро устанавливать оборудование, а так же раз усвоенный навык работы с Microtik поможет всегда.
- Документация и обновления – один из самых приятных плюсов. Все прошивки размещены на официальном сайте, а документация – на Википедии. Все можно скачать, не регистрируясь, что не распространено среди конкурентов.
- Надежность. – превыше всего. Если один раз правильно настроить Microtik, больше с этим вряд ли придется сталкиваться. Но на всякий случай стоит знать о WatchDog, которая может спасти зависший роутер.
- Масштаб. Идеально Microtik подходит для небольших компаний, но ее вполне можно приспособить и для более сложной нагрузки, поставив на мощный сервер.
- Функционал сетевого оборудования этой марки необычайно широк, конкурируя с серьезными марками. («Домашние» роутеры не могут составить ему конкуренцию»).
При таком привлекательном наборе преимуществ есть ли минусы?
Для бесперебойной работы роутера этой марки в реально большой компании, для правильной и постоянной работы нужно либо несколько мощных серверов, либо приглядеться к его конкурентам.
Если есть желание настроить Microtik, нужно обладать определенными знаниями в области сетей.
Сотрудники занимающиеся установкой сетевого оборудования, отмечают, что не всегда выгодно: работа настолько налажена, что повторных вызовов они не получают.
При требовании шифрования по ГОСТу могут возникнуть проблемы.
Подводя итог его оценки, можно сказать, что microtil – отличное бюджетное решение для роутера. В компании средней величины.
Как связаны ip телефония и microtik
При работе с ip телефонией ее пользователи иногда сталкиваются с нарушениеми корректной работы связи. Причиной может быть небрежная настройка mikrotik для sip телефонии.
Одной из самых распространенных проблем является частичная потеря связи с абонентом. То есть абонент говорит и слышит собеседника, а вот последний его просто не слышит. Такие проблемы возникали раньше из-за протокола SDP, но все современные шлюзы работают корректно, устраивая обмен пакетами именно между абонентами связи. SiP телефоны работают с NAT безошибочно, но при использовании microtik в качестве маршрутизатора (роутера) приводит к этой проблеме.
Как выяснилось при изучении оборудования этой марки, дело в «излишней» деятельности роутера: при передаче данных через трафик VOip он подменяет адрес получателя на свой внешний, делая двустороннее соединение невозможным. Создается впечатление, что NAT не принимает участие в передаче данных. Но эту проблему решить, к счастью, довольно просто: Нужно отключить его SIP ALG — внешний IP роутера, с помощью команды:
/ip firewall service-port disable sip
Следующая распространенная проблема, нередко встречающаяся при работе с роутерами Microtik – зависающие UDP соединения. Такое нарушение состоит из нескольких этапов, но начинается все с отключения интернета. Это создает фальшивую запись в таблице NAT. При возобновлении подключения к сети Интернет, таблица не может быть использована – в ней нет нужной информации, необходимой для новых запросов.
Для решения этой проблемы либо нужно перезагрузить роутер и удалить все сессии UDP, либо выключить его на 10-20 минут, затем включить.
Удалить из консоли UDP соединения можно такой командой:
/ip firewall connection remove [find where protocol=udp and dst-address
/ip firewall connection remove [find where connection-type=sip and assured=no]
В самых новейших версиях OC Microtik ввели параметр sip-timeout, способный разрешить эту проблему. Для этого нужно попробовать ввести такую команду:
/ip firewall service-port set sip disabled=no ports=5060,5061 sip-direct-media=yes sip-timeout=5m.
Подводя итог, можно сказать, что если для работы нужна ip телефония, mycrotic обеспечить ее надежную работу. Ошибки иногда могут возникать, но их решения достаточно простые, а высокую функциональность и удобство настройки таких роутеров гораздо важнее.
Читайте также: