Elastix за NAT

. Просмотров: 19553

Рейтинг:  5 / 5

Звезда активнаЗвезда активнаЗвезда активнаЗвезда активнаЗвезда активна
 

Не всегда возможно выделить серверу с Elastix прямой ip адрес. Я бы даже, в целях безопасности, рекомендовал "прятать" сервер за маршрутизатором с ретрансляцией адресов (NAT).
Без дополнительных настроек удаленные клиенты не смогут присоединиться к серверу или будет проблема в односторонней слышимости.
Предлагаю вам пример настройки для Elastix по протоколу SIP который расположен за маршрутизатором с NAT. Эта инструкция также подойдет и для всех других сборок Астериска с FreePBX (TrixBox, AsteriskNOW)

  1. Настраиваем Elastix.
    Вносим изменения в файл sip_general_custom.conf:
    externip=10.20.30.40
    localnet=192.168.0.0/255.255.255.0
    nat=yes
    canreinvite=no
    registertimeout=20
    registerattempts=0
    maxexpiry=3600
    minexpiry=60

    Первой строкой указываем внешний ip адрес вашего интернет соединения.
    Второй строкой указываем вашу локальную подсеть. Если у вас несколько сетей то и строк может быть несколько.

    При желании все эти настройки можно сделать через веб интерфейс используя Unembedded freePBX, но это не рекомендуется во избежании конфликтов.

  2. Настраиваем маршрутизатор
    Нам необходимо пробросить 5060 и 10000-20000 внешние udp порты на сервер Elastix. Для маршрутизаторов MikroTik будут такие правила:
    /ip firewall filter add action=accept chain=forward dst-address=192.168.0.10 dst-port=5060,10000-20000 protocol=udp in-interface=wan
    /ip firewall nat add action=dst-nat chain=dstnat dst-port=5060,10000-20000 in-interface=wan protocol=udp to-addresses=192.168.0.10
    где 192.168.0.10 адрес вашего Elastix сервера
    wan порт на маршрутизаторе к которому подключен интернет.
    Конечно с вашего Elastix должен быть настроен выход в интернет.

    Если вы сомневаетесь про порты 10000-20000, то откройте файл rtp.conf и посмотрите какие у вас порты указаны в настройках.

 

Данная настройка великолепно работает с sip телефонами которые имеют как прямой ip адрес, так и те, которые расположена также за NAT, при условии что промежуточные провайдеры не блокируют voip трафик. При этом в дополнительной настройки маршрутизатора со стороны клиента нет необходимости. Вам просто в клиенте надо указать внешний ip адрес вашего Elastix.

Но, для 100% надежности, я бы рекомендовал клиентов подключать через vpn, чтобы весь трафик был как бы  локальным.

 

Комментарии  

0 # Ник 06.01.2014 03:11
Большое спасибо за ваш блог, дали мне существенный толчок для дальнейшей настройки Elastix и MikroTik.
Прошу сориентировать: нужно ли производить какие-то манипуляции на MikroTik при условии, что на Elastix подцеплен один SIP аккаунт от МТТ (youmagic.pro) для входящих звонков и один SIP аккаунт телефонии от NetByNet - три линии для исходящих звонков.
В нашей конфигурации нет потребности прямого подключения абонентов вне локальной сети к Elastix, только 1 через VPN.
Меня интересует также вопрос безопасности.

С наступающим Рождеством!
0 # alex 06.01.2014 14:45
Никаких манипуляций кроме в как файле sip_general_cus tom.conf для указания адресов внешнего и локальной сети не нужно.
По безопасности я бы для каждого внутреннего номера указал ip адрес (или подсеть) с которого он может авторизоваться на elastix, ну и пароли посложнее.
0 # antonio 03.08.2015 17:12
А как зайти в sip_general_cus tom.conf?
+1 # Duron 18.07.2014 14:33
Mikrotik замечательно работает с sip через нат без проброса, единсвенное неудобство в кобинете sip провайдера светится внутренний ip
0 # Moskit 08.10.2014 00:58
У меня Mikrotik UPnP включен, проброса не делал - все клиенты внутри сети или по VPN - проще и безопаснее. Работает как часы.
0 # papa-admin 08.10.2014 09:33
У большинства провайдеров проброс портов на Микротике не нужен. Но, если вы хотите принимать входящие звонки, например по ip адресу или если у вас настроены входящие звонки по домену, то это необходимо.
0 # Григорий 25.02.2016 06:42
Статья супер! Очень помогла. Спасибо большое проекту!

Недостаточно прав для комментирования