что такое sip alg в роутере
Что такое sip alg в роутере
Application-level gateway, или ALG (англ. «шлюз прикладного уровня» ) — компонент NAT-маршрутизатора, который понимает какой-либо прикладной протокол, и при прохождении через него пакетов этого протокола модифицирует их таким образом, что находящиеся за NAT пользователи могут пользоваться протоколом.
NAT-маршрутизатор ретранслирует пакеты, поступающие изнутри сети, с внешнего IP-адреса. Также может подменяться порт. Но некоторые сетевые протоколы передают IP-адрес или порт отправителя. Конечно же, после прохождения NAT эти параметры становятся неверными — а значит, удалённая сторона не может наладить соединение.
ALG, идентифицировав пакет как относящийся к данному протоколу, подставляет в качестве IP-адреса и порта свои адрес и порт. Если, по протоколу, соединение по этому порту налаживает удалённый компьютер, автоматически включается ретрансляция.
ALG похож на прокси-сервер; обычно понятием «прокси-сервер» называют сервер, который выполняет дополнительные операции наподобие кэширования, в то время как задача ALG — обеспечить, чтобы клиенты могли пользоваться протоколом.
Например в устройствах ZyXEL реализована поддержка IP-телефонии, которая обеспечивается механизмом трансляции сетевых адресов Full Cone NAT и встроенным шлюзом уровня приложения – SIP ALG. SIP ALG (SIP Application Level Gateway) – это шлюз прикладного уровня, который позволяет голосовому VoIP-трафику (RTP) беспрепятственно проходить через устройство с функцией NAT (Network Address Translation). Если в маршрутизаторе присутствует и активирован SIP ALG, то не нужно дополнительно настраивать проброс портов для этого типа трафика.
Как правило, IP-адреса клиентов SIP-телефонии назначаются из диапазона внутренних (локальных) адресов* и их IP-адреса могут пересекаться. В большинстве случаев подключение пользователей к сети осуществляется через устройство с функцией NAT. Если это устройство не будет иметь поддержки SIP ALG, то SIP-сервер не сможет различать клиентов.
Регистрация VoIP-устройства на SIP-сервере возможна при использовании одного из способов преодоления NAT: Outbound proxy, STUN, SIP ALG. При этом если на VoIP-телефоне или другом устройстве c SIP-клиентом, расположенном за NAT, настроен один из двух первых методов, то на устройстве обязательно нужно отключить SIP ALG.
Для беспрепятственного прохождения SIP-трафика через устройство с NAT необходимо транслировать адресацию в SIP-пакетах. SIP-пакет анализируется на уровне приложения, и в нем изменяются IP-адреса. Так SIP ALG позволяет реализовать услуги SIP-телефонии в сети с трансляцией адресов без использования вспомогательных внешних устройств.
На пути прохождения SIP-пакетов нет устройства с NAT
На пути прохождения SIP-пакетов находится устройство с NAT и поддержкой SIP ALG
В этом случае, устройство с NAT (маршрутизатор) подменяет в IP-пакетах IP-адрес источника 192.168.1.33 на свой WAN IP-адрес 210.243.66.215. Но существуют ограничения, без которых SIP-телефония не будет работать. Особенность реализации SIP ALG заключается в том, что он работает только на порту 5060. При использовании другого номера порта механизм SIP ALG не будет работать.
Все устройства с NAT должны поддерживать механизм SIP ALG. Если на пути прохождения SIP-пакетов будет находиться устройство с NAT, которое не поддерживает SIP ALG, то в этом случае SIP-телефония не будет работать.
10.0.0.0 — 10.255.255.255
172.16.0.0 — 172.31.255.255
192.168.0.0 — 192.168.255.255
Настройка роутера Mikrotik для работы с 3CX Phone System
Компания Mikrotik давно выпускает весьма гибкие и недорогие устройства маршрутизации под общим названием Mikrotik Routerboard. Несмотря на обширную линейку этих устройств, их объединяет единая операционная система – Mikrotik RouterOS. Настройка роутеров Mikrotik для работы с 3CX Phone System совсем не так сложна, как может показаться на первый взгляд. Рассмотрим настройку на примере Wi-Fi роутера RB2011UiAS-2HnD-IN. Данный роутер отлично подойдет для организации доступа в сеть Интернет для небольшой и средней компании.
Внимание! Различные модели Mikrotik могут иметь разные предустановки. В частности, модели для SMB сегмента предустановлены таким образом, чтобы с минимальными настройками обеспечить выход в Интернет через первый порт роутера Eth1. Мы воспользуемся этим преимуществом.
Базовая настройка роутера для выхода в Интернет
Если у вас новый роутер, загрузите утилиту Winbox и подключитесь к устройству по адресу 192.168.88.1 с именем пользователя admin. После подключения нажмите в левом верхнем углу кнопку меню Quick Set.
Настройка DHCP сервера
Перейдите в раздел меню IP > DHCP Server > Options.
Здесь нужно создать новую DHCP опцию 66 и ее значением указать HTTP ссылку для автонастройки ваших IP телефонов. Эту ссылку нужно скопировать из раздела Настройки > Автонастройка телефона консоли управления 3CX. При этом строку нужно взять в одинарные кавычки, например, ‘http://192.168.0.2/provisioning/hwz44ph6o9’.
Для завершения настройки зайдите в раздел IP > DHCP Server > Networks и донастройте DHCP сервер. В данном примере установлены DNS сервер, имя домена, сервер времени и созданная ранее DHCP опция 66.
Отключение SIP ALG
Для того, чтобы у вас не возникало проблем в работе удаленных подключений в 3CX Phone System, следует отключить встроенный в роутер SIP Application Layer Gateway. Для этого перейдите в раздел IP > Firewall Service Ports и отключите сервис SIP ALG, нажав кнопку с красным крестиком сверху.
Создание правил сетевого экрана и NAT
Для того, чтобы реализовать в роутере Mikrotik Full Cone NAT, или, другими словами, опубликовать на внешней интерфейсе необходимые порты сервера 3CX Phone System, следует создать набор правил брандмауэра. Все правила создаются единообразно.
Перейдите в раздел IP > Firewall > NAT и нажмите кнопку с изображением плюса для добавления нового правила. В данном примере созданы правила для двух SIP провайдеров с IP адресами 62.64.127.43 и 69.167.178.6. Также созданы правила для внешних подключений HTTPS (порт 443 – статусы доб. номера, индикация присутствия клиентов 3CXPhone и удаленное администрирование сервера) и правила для 3CX Tunnel (порт 5090 UDP и TCP).
Правило для SIP сервера
Параметры устанавливаются во вкладках General и Action.
Правила для 3CX Tunnel и HTTPS
Правила настраиваются аналогично, но адрес источника не указывается. То есть, правило действует для любого хоста в Интернет.
Опционально: настройка сервера времени NTP
Если вы хотите, чтобы роутер Mikrotik также являлся сервером времени для IP телефонов в вашей сети, необходимо загрузить и установить пакет, запускающий сервер NTP в роутере. Архив пакетов для текущей версии RouterOS можно загрузить здесь (актуально только для RouterOS 6.24!). После загрузки распакуйте архив и перетащите файл ntp-6.24-mipsbe.npk в окно File List, вызываемое боковым меню Files.
Внимание! Загружайте файл пакета в корень файловой системы. После этого перегрузите роутер в меню System > Reboot.
После перезагрузки включите NTP сервер в меню System > NTP Server.
В меню System > NTP Client задайте IP адрес предпочитаемого сервера NTP в Интернет для установки точного времени на роутере.
Также рекомендуется установить текущее время в меню System > Clock.
На этом настройка роутера Mikrotik для работы с 3CX Phone System завершена.
Конечно, роутеры Mikrotik имеют множество других важных настроек, которые могут использоваться в вашей сети, однако их рассмотрение выходит за рамки этой статьи.
Что такое SIP ALG
Application-level gateway, или ALG (англ. «шлюз прикладного уровня») — компонент NAT-маршрутизатора, который понимает какой-либо прикладной протокол, и при прохождении через него пакетов этого протокола модифицирует их таким образом, что находящиеся за NAT пользователи могут пользоваться протоколом.
NAT-маршрутизатор ретранслирует пакеты, поступающие изнутри сети, с внешнего IP-адреса. Также может подменяться порт. Но некоторые сетевые протоколы передают IP-адрес или порт отправителя. Конечно же, после прохождения NAT эти параметры становятся неверными — а значит, удалённая сторона не может наладить соединение.
ALG, идентифицировав пакет как относящийся к данному протоколу, подставляет в качестве IP-адреса и порта свои адрес и порт. Если, по протоколу, соединение по этому порту налаживает удалённый компьютер, автоматически включается ретрансляция.
ALG похож на прокси-сервер; обычно понятием «прокси-сервер» называют сервер, который выполняет дополнительные операции наподобие кэширования, в то время как задача ALG — обеспечить, чтобы клиенты могли пользоваться протоколом.
Например в устройствах ZyXEL реализована поддержка IP-телефонии, которая обеспечивается механизмом трансляции сетевых адресов Full Cone NAT и встроенным шлюзом уровня приложения — SIP ALG. SIP ALG (SIP Application Level Gateway) — это шлюз прикладного уровня, который позволяет голосовому VoIP-трафику (RTP) беспрепятственно проходить через устройство с функцией NAT (Network Address Translation). Если в маршрутизаторе присутствует и активирован SIP ALG, то не нужно дополнительно настраивать проброс портов для этого типа трафика.
Как правило, IP-адреса клиентов SIP-телефонии назначаются из диапазона внутренних (локальных) адресов* и их IP-адреса могут пересекаться. В большинстве случаев подключение пользователей к сети осуществляется через устройство с функцией NAT. Если это устройство не будет иметь поддержки SIP ALG, то SIP-сервер не сможет различать клиентов.
Регистрация VoIP-устройства на SIP-сервере возможна при использовании одного из способов преодоления NAT: Outbound proxy, STUN, SIP ALG. При этом если на VoIP-телефоне или другом устройстве c SIP-клиентом, расположенном за NAT, настроен один из двух первых методов, то на устройстве обязательно нужно отключить SIP ALG.
Для беспрепятственного прохождения SIP-трафика через устройство с NAT необходимо транслировать адресацию в SIP-пакетах. SIP-пакет анализируется на уровне приложения, и в нем изменяются IP-адреса. Так SIP ALG позволяет реализовать услуги SIP-телефонии в сети с трансляцией адресов без использования вспомогательных внешних устройств.
На пути прохождения SIP-пакетов нет устройства с NAT
На пути прохождения SIP-пакетов находится устройство с NAT и поддержкой SIP ALG
В этом случае, устройство с NAT (маршрутизатор) подменяет в IP-пакетах IP-адрес источника 192.168.1.33 на свой WAN IP-адрес 210.243.66.215. Но существуют ограничения, без которых SIP-телефония не будет работать. Особенность реализации SIP ALG заключается в том, что он работает только на порту 5060. При использовании другого номера порта механизм SIP ALG не будет работать.
Все устройства с NAT должны поддерживать механизм SIP ALG. Если на пути прохождения SIP-пакетов будет находиться устройство с NAT, которое не поддерживает SIP ALG, то в этом случае SIP-телефония не будет работать.
* — диапазоны внутренних IP-адресов:
Что такое SIP ALG
SIP ALG — шлюз для подмены адресов участников телефонных разговоров с использованием VoIP. Система подойдет не для каждого роутера и сети. В особенностях настройки разберемся в статье с примерами применения ALG.
Что такое SIP ALG
SIP ALG — специализированный шлюз седьмого уровня сетевой модели OSI. ALG необходим чтобы правильно доставлять голосовой трафик между абонентами при замене IP-адресов через Network Address Translation. Если система не сможет правильно расшифровать данные получателя трафика, голосовая информация затеряется.
SIP шлюз также называют «SIP helper» или «Service ports». Его используют для передачи игровых и других данных. Практикуют тандем рассматриваемой технологии с протоколами File Transfer Protocol, Point-to-Point Tunneling Protocol…
Приведем несколько достоинств и недостатков ALG при работе с Session Initiation Protocol.
Преимущества | Недостатки |
Подмена адресов и содержимого для корректной связи | Не всегда можно изменить номер рабочего порта |
Нет нужды в ручной проброске портов | Не все роутеры поддерживают такие шлюзы |
Минимизирует количество необходимых технических средств для обмена голосовыми данными с VoIP | Дополнительная настройка |
Протокол инициации телефонных сессий работает как с, так и без Application Level Gateway.
Принцип работы шлюза прикладного уровня (ALG) для SIP-телефонии
Чтобы разобраться в работе таких технологий, как ALG или Network Address Translation, важно понять принцип присвоения адресов в сетях. Последние разбиты на неопределенное число кусков, которые создают для разных групп сотрудников — отделов, филиалов, территориальных представительств.
IP-адреса в разных подсетях могут пересекаться, например, компьютеры бухгалтера и начальника отдела снабжения могут иметь IP 192.168.1.3. Звонок или обмен данными напрямую между 2 такими устройствами невозможен ввиду того, что они выдают себя за одно и тоже. Чтобы избежать путаницы и ненужных ограничений, каждую подсистему с неповторяющимися идентификаторами абонентов выводят на роутер. Последний может быть один на всю сеть или отдельный для её участков.
Каждому маршрутизатору выделяют не менее 1 внешнего IP-адреса. Когда абонент из подсети 1 хочет связаться с абонентом подсети 2, срабатывает подмена адреса — данные от отправителя уходят к роутеру, где он упаковывает послание в собственный «конверт» с внешним IP. Итоговое письмо идет на SIP-сервер, которые перенаправляет его нужному абоненту. Сервер и получатель могут не знать внутренних данных отправителя, достаточно внешнего адреса роутера. Когда придет ответ, маршрутизатор сам определит кому он предназначен. Наглядно пример изображен на картинке ниже.
Для работы Application Level Gateway предпочтителен порт 5060. Раньше шлюз не работал с другими вариантами. На современном оборудовании номер можно настроить вручную.
Для подмены IP используют такие технологии и шлюзы, как NAT. Для звонков Voice IP задействуют Session Initiation Protocol ALG. Важно, чтобы роутер поддерживал обе технологии. Тогда трафик будет перемещаться без ошибок. Если произойдет сбой, Network Address Translation не доставит конверт с обратным адресом, который более высокоуровневый ALG направил абоненту на другом конце «провода». В результате первый абонент ответа никогда не услышит.
Кроме подмены IP, ALG занимается фильтрацией трафика — выбирает что пропустить внутрь локальной сети, а что оставить за её пределами.
ALG можно реализовать в отсутствии маршрутизирующего оборудования. Необходимую работу будет проводить сам абонент.
Не только роутер отправителя, но и остальные маршрутизирующие устройства потенциальных абонентов должны поддерживать ALG, иначе неизбежны ошибки во время передачи данных вплоть до потери связи.
Настройка SIP ALG в роутерах
Общие принципы настройки Session Initiation Protocol ALG остаются едиными, меняются только названия и расположения разделов. Рассмотрим несколько моделей разных производителей для наглядности.
QTech
Компания целенаправленно занимается VoIP оборудованием. Чтобы запустить шлюз на роутерах QTech:
Отзыв нашего читателя
Для моей компании требовалась IP-телефония, которая бы отвечала ряду требований: наличие АТС, возможность использования номеров разных регионов, адекватные цены и возможность оперативно решать вопросы. Выбирал из нескольких провайдеров на рынке, в итоге остановился на Задарма, она отвечает всем нашим требованиям. Подробнее >>>
Не забудьте обновить прошивку роутера в случае возникновения неполадок.
Zyxel/ Keenetic
Для продукции Keenetic или Zyxel пройдите по маршруту Network, NAT, ALG или Advanced Setup, NAT. Далее действуйте аналогично предыдущей инструкции — включите чекбокс напротив надписи «SIP ALG», чтобы запустить функцию. Не забудьте применить внесенные изменения кнопкой «ОК».
Для подмены адресов также используют протокол Session Traversal Utilities и промежуточный сервер Outbound proxy.
Рассмотрим процесс настройки работы шлюза на примере линейки DFL от 210 до 2560 моделей. Следуйте инструкции:
Аналогичные действия можно выполнить с помощью консольных команд. Вводите их поочередно:
Как быстро включить шлюз через более простые интерфейсы D смотрите на видео
Микротик
Чтобы настроить шлюз для моделей производителя следуйте инструкции:
Проблемы в работе
Пользователи SIP-клиентов жалуются на неполадки при включенном Application Level Gateway — у телефонов не получается зарегистрироваться для приема звонка или получить информацию от собеседника. Список причин и их решений читайте в таблице 2.
Проблема | Решение |
Неверные настройки Network Address Translation | Перенастройте правила NAT с учетом данных IP-адресов |
Некорректная настройка ALG | Перенастройте или отключите ALG полностью. Для последнего используйте команду: /ip firewall service-port disable sip |
Нужные порты заблокированы провайдером | Поменять порты на доступные в настройках маршрутизирующего оборудования для проброса |
Отсутствие настроек Voice IP | Авторизоваться в системе конфигурирования и установить нужные настройки |
Неверная настроенная структура сети | Отредактируйте топологию в соответствии с реальным состоянием сети |
Разные проблемы можно решить одним из трех вариантов:
Реализация описанных действий приведет к полной перезагрузке настроек. Как отключить SIP через интерфейсы D вообще, смотрите на видео
ALG — один из способов реализации VoIP без применения дополнительных аппаратных мощностей. Чтобы система функционировала важно подобрать подходящее маршрутизирующее оборудование и SIP-клиент, тогда проблем не будет.
Application-level gateway
Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 16 апреля 2018; проверки требует 1 правка.
Описание[править | править код]
NAT-маршрутизатор ретранслирует пакеты, поступающие изнутри локальной сети и отправляет их во внешнюю сеть, используя свой внешний IP-адрес как адрес отправителя. Также может подменяться порт. Но некоторые сетевые протоколы в содержании своих пакетов передают и пытаются использовать локальный IP-адрес или порт отправителя. Конечно же, после прохождения NAT и подмены локального IP на внешний эти параметры становятся неверными — а значит, удалённая сторона не может наладить соединение.
ALG, идентифицировав пакет как относящийся к данному протоколу, подставляет в качестве IP-адреса и порта свои адрес и порт. Если, по протоколу, соединение по этому порту налаживает удалённый компьютер, автоматически включается ретрансляция.
ALG похож на прокси-сервер; обычно понятием «прокси-сервер» называют сервер, который выполняет дополнительные операции наподобие кэширования, в то время как задача ALG — обеспечить, чтобы клиенты могли пользоваться протоколом.
Протоколы, требующие ALG[править | править код]
Реализации в ОС[править | править код]
Windows Встроенный NAT в ОС Windows (ipnat.sys, в интерфейсе пользователя возможность называется Internet Connection Sharing) использует исполняемые в режиме пользователя ALG-модули, которые загружаются в адресное пространство процесса ALG.EXE (он же сервис по имени alg). В Platform SDK есть заголовочные файлы для разработки ALG-модулей для ранее не поддерживаемых протоколов. Тем не менее, документация на эти интерфейсы не опубликована. Linux Встроенный в ядро межсетевой экран netfilter поддерживает такие протоколы, как AMANDA, FTP, TFTP, IRC, PPTP, H.323, SIP, SNMP, DCCP, GRE и др. Кроме того, обеспечена поддержка подгружаемых модулей, позволяющих реализовать ALG функционал для любых других протоколов, существующих и будущих. В силу свободного статуса самой Linux вся документация на интерфейсы свободно и бесплатно доступна всем.
Реализация в маршрутизаторах[править | править код]
Практически все маршрутизаторы, имеющие NAT, умеют работать с PPTP, IPsec, RTSP, SIP, H.323, SMTP, DNS, TFTP.
Ссылки[править | править код]
Шлюз уровня приложения — Application-level gateway
Функции
ALG может предлагать следующие функции:
Глубокая проверка всех пакетов, обрабатываемых ALG в данной сети, делает возможной эту функцию. ALG понимает протокол, используемый конкретными приложениями, которые он поддерживает.
SIP ALG на одном оборудовании часто мешает другим технологиям, которые пытаются решить ту же проблему, и различные поставщики рекомендуют отключить его.
Служба ALG в Microsoft Windows
ALG в Linux
Что такое SIP ALG
Application-level gateway, или ALG (англ. «шлюз прикладного уровня») — компонент NAT-маршрутизатора, который понимает какой-либо прикладной протокол, и при прохождении через него пакетов этого протокола модифицирует их таким образом, что находящиеся за NAT пользователи могут пользоваться протоколом.
NAT-маршрутизатор ретранслирует пакеты, поступающие изнутри сети, с внешнего IP-адреса. Также может подменяться порт. Но некоторые сетевые протоколы передают IP-адрес или порт отправителя. Конечно же, после прохождения NAT эти параметры становятся неверными — а значит, удалённая сторона не может наладить соединение.
ALG, идентифицировав пакет как относящийся к данному протоколу, подставляет в качестве IP-адреса и порта свои адрес и порт. Если, по протоколу, соединение по этому порту налаживает удалённый компьютер, автоматически включается ретрансляция.
ALG похож на прокси-сервер; обычно понятием «прокси-сервер» называют сервер, который выполняет дополнительные операции наподобие кэширования, в то время как задача ALG — обеспечить, чтобы клиенты могли пользоваться протоколом.
Например в устройствах ZyXEL реализована поддержка IP-телефонии, которая обеспечивается механизмом трансляции сетевых адресов Full Cone NAT и встроенным шлюзом уровня приложения — SIP ALG. SIP ALG (SIP Application Level Gateway) — это шлюз прикладного уровня, который позволяет голосовому VoIP-трафику (RTP) беспрепятственно проходить через устройство с функцией NAT (Network Address Translation). Если в маршрутизаторе присутствует и активирован SIP ALG, то не нужно дополнительно настраивать проброс портов для этого типа трафика.
Как правило, IP-адреса клиентов SIP-телефонии назначаются из диапазона внутренних (локальных) адресов* и их IP-адреса могут пересекаться. В большинстве случаев подключение пользователей к сети осуществляется через устройство с функцией NAT. Если это устройство не будет иметь поддержки SIP ALG, то SIP-сервер не сможет различать клиентов.
Регистрация VoIP-устройства на SIP-сервере возможна при использовании одного из способов преодоления NAT: Outbound proxy, STUN, SIP ALG. При этом если на VoIP-телефоне или другом устройстве c SIP-клиентом, расположенном за NAT, настроен один из двух первых методов, то на устройстве обязательно нужно отключить SIP ALG.
Для беспрепятственного прохождения SIP-трафика через устройство с NAT необходимо транслировать адресацию в SIP-пакетах. SIP-пакет анализируется на уровне приложения, и в нем изменяются IP-адреса. Так SIP ALG позволяет реализовать услуги SIP-телефонии в сети с трансляцией адресов без использования вспомогательных внешних устройств.
На пути прохождения SIP-пакетов нет устройства с NAT
На пути прохождения SIP-пакетов находится устройство с NAT и поддержкой SIP ALG
В этом случае, устройство с NAT (маршрутизатор) подменяет в IP-пакетах IP-адрес источника 192.168.1.33 на свой WAN IP-адрес 210.243.66.215. Но существуют ограничения, без которых SIP-телефония не будет работать. Особенность реализации SIP ALG заключается в том, что он работает только на порту 5060. При использовании другого номера порта механизм SIP ALG не будет работать.
Все устройства с NAT должны поддерживать механизм SIP ALG. Если на пути прохождения SIP-пакетов будет находиться устройство с NAT, которое не поддерживает SIP ALG, то в этом случае SIP-телефония не будет работать.
* — диапазоны внутренних IP-адресов:
Что такое SIP ALG
SIP ALG — шлюз для подмены адресов участников телефонных разговоров с использованием VoIP. Система подойдет не для каждого роутера и сети. В особенностях настройки разберемся в статье с примерами применения ALG.
Что такое SIP ALG
SIP ALG — специализированный шлюз седьмого уровня сетевой модели OSI. ALG необходим чтобы правильно доставлять голосовой трафик между абонентами при замене IP-адресов через Network Address Translation. Если система не сможет правильно расшифровать данные получателя трафика, голосовая информация затеряется.
SIP шлюз также называют «SIP helper» или «Service ports». Его используют для передачи игровых и других данных. Практикуют тандем рассматриваемой технологии с протоколами File Transfer Protocol, Point-to-Point Tunneling Protocol…
Приведем несколько достоинств и недостатков ALG при работе с Session Initiation Protocol.
Преимущества | Недостатки |
Подмена адресов и содержимого для корректной связи | Не всегда можно изменить номер рабочего порта |
Нет нужды в ручной проброске портов | Не все роутеры поддерживают такие шлюзы |
Минимизирует количество необходимых технических средств для обмена голосовыми данными с VoIP | Дополнительная настройка |
Протокол инициации телефонных сессий работает как с, так и без Application Level Gateway.
Принцип работы шлюза прикладного уровня (ALG) для SIP-телефонии
Чтобы разобраться в работе таких технологий, как ALG или Network Address Translation, важно понять принцип присвоения адресов в сетях. Последние разбиты на неопределенное число кусков, которые создают для разных групп сотрудников — отделов, филиалов, территориальных представительств.
IP-адреса в разных подсетях могут пересекаться, например, компьютеры бухгалтера и начальника отдела снабжения могут иметь IP 192.168.1.3. Звонок или обмен данными напрямую между 2 такими устройствами невозможен ввиду того, что они выдают себя за одно и тоже. Чтобы избежать путаницы и ненужных ограничений, каждую подсистему с неповторяющимися идентификаторами абонентов выводят на роутер. Последний может быть один на всю сеть или отдельный для её участков.
Каждому маршрутизатору выделяют не менее 1 внешнего IP-адреса. Когда абонент из подсети 1 хочет связаться с абонентом подсети 2, срабатывает подмена адреса — данные от отправителя уходят к роутеру, где он упаковывает послание в собственный «конверт» с внешним IP. Итоговое письмо идет на SIP-сервер, которые перенаправляет его нужному абоненту. Сервер и получатель могут не знать внутренних данных отправителя, достаточно внешнего адреса роутера. Когда придет ответ, маршрутизатор сам определит кому он предназначен. Наглядно пример изображен на картинке ниже.
Для работы Application Level Gateway предпочтителен порт 5060. Раньше шлюз не работал с другими вариантами. На современном оборудовании номер можно настроить вручную.
Для подмены IP используют такие технологии и шлюзы, как NAT. Для звонков Voice IP задействуют Session Initiation Protocol ALG. Важно, чтобы роутер поддерживал обе технологии. Тогда трафик будет перемещаться без ошибок. Если произойдет сбой, Network Address Translation не доставит конверт с обратным адресом, который более высокоуровневый ALG направил абоненту на другом конце «провода». В результате первый абонент ответа никогда не услышит.
Кроме подмены IP, ALG занимается фильтрацией трафика — выбирает что пропустить внутрь локальной сети, а что оставить за её пределами.
ALG можно реализовать в отсутствии маршрутизирующего оборудования. Необходимую работу будет проводить сам абонент.
Не только роутер отправителя, но и остальные маршрутизирующие устройства потенциальных абонентов должны поддерживать ALG, иначе неизбежны ошибки во время передачи данных вплоть до потери связи.
Настройка SIP ALG в роутерах
Общие принципы настройки Session Initiation Protocol ALG остаются едиными, меняются только названия и расположения разделов. Рассмотрим несколько моделей разных производителей для наглядности.
QTech
Компания целенаправленно занимается VoIP оборудованием. Чтобы запустить шлюз на роутерах QTech:
Отзыв нашего читателя
Для моей компании требовалась IP-телефония, которая бы отвечала ряду требований: наличие АТС, возможность использования номеров разных регионов, адекватные цены и возможность оперативно решать вопросы. Выбирал из нескольких провайдеров на рынке, в итоге остановился на Задарма, она отвечает всем нашим требованиям. Подробнее >>>
Не забудьте обновить прошивку роутера в случае возникновения неполадок.
Zyxel/ Keenetic
Для продукции Keenetic или Zyxel пройдите по маршруту Network, NAT, ALG или Advanced Setup, NAT. Далее действуйте аналогично предыдущей инструкции — включите чекбокс напротив надписи «SIP ALG», чтобы запустить функцию. Не забудьте применить внесенные изменения кнопкой «ОК».
Для подмены адресов также используют протокол Session Traversal Utilities и промежуточный сервер Outbound proxy.
Рассмотрим процесс настройки работы шлюза на примере линейки DFL от 210 до 2560 моделей. Следуйте инструкции:
Аналогичные действия можно выполнить с помощью консольных команд. Вводите их поочередно:
Как быстро включить шлюз через более простые интерфейсы D смотрите на видео
Микротик
Чтобы настроить шлюз для моделей производителя следуйте инструкции:
Проблемы в работе
Пользователи SIP-клиентов жалуются на неполадки при включенном Application Level Gateway — у телефонов не получается зарегистрироваться для приема звонка или получить информацию от собеседника. Список причин и их решений читайте в таблице 2.
Проблема | Решение |
Неверные настройки Network Address Translation | Перенастройте правила NAT с учетом данных IP-адресов |
Некорректная настройка ALG | Перенастройте или отключите ALG полностью. Для последнего используйте команду: /ip firewall service-port disable sip |
Нужные порты заблокированы провайдером | Поменять порты на доступные в настройках маршрутизирующего оборудования для проброса |
Отсутствие настроек Voice IP | Авторизоваться в системе конфигурирования и установить нужные настройки |
Неверная настроенная структура сети | Отредактируйте топологию в соответствии с реальным состоянием сети |
Разные проблемы можно решить одним из трех вариантов:
Реализация описанных действий приведет к полной перезагрузке настроек. Как отключить SIP через интерфейсы D вообще, смотрите на видео
ALG — один из способов реализации VoIP без применения дополнительных аппаратных мощностей. Чтобы система функционировала важно подобрать подходящее маршрутизирующее оборудование и SIP-клиент, тогда проблем не будет.
Application-level gateway
Текущая версия страницы пока не проверялась опытными участниками и может значительно отличаться от версии, проверенной 16 апреля 2018; проверки требует 1 правка.
Описание[править | править код]
NAT-маршрутизатор ретранслирует пакеты, поступающие изнутри локальной сети и отправляет их во внешнюю сеть, используя свой внешний IP-адрес как адрес отправителя. Также может подменяться порт. Но некоторые сетевые протоколы в содержании своих пакетов передают и пытаются использовать локальный IP-адрес или порт отправителя. Конечно же, после прохождения NAT и подмены локального IP на внешний эти параметры становятся неверными — а значит, удалённая сторона не может наладить соединение.
ALG, идентифицировав пакет как относящийся к данному протоколу, подставляет в качестве IP-адреса и порта свои адрес и порт. Если, по протоколу, соединение по этому порту налаживает удалённый компьютер, автоматически включается ретрансляция.
ALG похож на прокси-сервер; обычно понятием «прокси-сервер» называют сервер, который выполняет дополнительные операции наподобие кэширования, в то время как задача ALG — обеспечить, чтобы клиенты могли пользоваться протоколом.
Протоколы, требующие ALG[править | править код]
Реализации в ОС[править | править код]
Windows Встроенный NAT в ОС Windows (ipnat.sys, в интерфейсе пользователя возможность называется Internet Connection Sharing) использует исполняемые в режиме пользователя ALG-модули, которые загружаются в адресное пространство процесса ALG.EXE (он же сервис по имени alg). В Platform SDK есть заголовочные файлы для разработки ALG-модулей для ранее не поддерживаемых протоколов. Тем не менее, документация на эти интерфейсы не опубликована. Linux Встроенный в ядро межсетевой экран netfilter поддерживает такие протоколы, как AMANDA, FTP, TFTP, IRC, PPTP, H.323, SIP, SNMP, DCCP, GRE и др. Кроме того, обеспечена поддержка подгружаемых модулей, позволяющих реализовать ALG функционал для любых других протоколов, существующих и будущих. В силу свободного статуса самой Linux вся документация на интерфейсы свободно и бесплатно доступна всем.
Реализация в маршрутизаторах[править | править код]
Практически все маршрутизаторы, имеющие NAT, умеют работать с PPTP, IPsec, RTSP, SIP, H.323, SMTP, DNS, TFTP.
Ссылки[править | править код]
Шлюз уровня приложения — Application-level gateway
Функции
ALG может предлагать следующие функции:
Глубокая проверка всех пакетов, обрабатываемых ALG в данной сети, делает возможной эту функцию. ALG понимает протокол, используемый конкретными приложениями, которые он поддерживает.
SIP ALG на одном оборудовании часто мешает другим технологиям, которые пытаются решить ту же проблему, и различные поставщики рекомендуют отключить его.