Введение
В этой статье я опишу свой опыт подключения телефонов Fanvil X2, X3S, X4, X5S и X6 (новая линейка IP-телефонов Fanvil) к серверу 3CX через встроенный в прошивку телефонов VPN-туннель L2TP.
Прежде всего, объясню, для чего это нужно. Допустим, у вас есть удаленный сотрудник (или даже несколько) работающий из дома. Вы можете подключить его «домашний офис» по VPN, однако для этого необходимо поддержка VPN со стороны его домашнего роутера и настройка различных ограничений доступа к корпоративным ресурсам из домашней сети этого сотрудника. Вы также можете подключить телефон напрямую через RPS сервер, как описано в этом руководстве. Однако недостаток такого подхода в том, что вам придется открывать SIP-порт 5060 для всего мира. Хотя в 3CX весьма основательная система собственной безопасности, использовать такую конфигурацию следует с осторожностью. Вторая проблема — не все маршрутизаторы «позволяют» IP-телефонам корректно работать через NAT. Кроме того, вы не сможете оперативно подключаться к веб-интерфейсу IP-телефона (ведь он находится в домашней сети пользователя).
Хороший способ подключения удаленных пользователей реализует фирменная технология 3CX Tunnel в утилите 3CX SBC. Но в этом случае вам придется у пользователя устанавливать устройство типа Raspberry Pi или инсталлировать утилиту на ПК пользователя. Недостаток — связь будет только тогда, когда работает компьютер.
Подключение телефона по VPN туннелю L2TP устраняет почти все эти недостатки:
- Телефон выглядит для 3CX локальным — не нужно открывать SIP порт и можно легко подключаться на веб-интерфейс устройства
- Не нужно использовать 3CX SBC
- Очень простая настройка
Обратите внимание! В соответствии с документацией Fanvil, туннель L2TP не шифрует трафик. Это умеет делать туннель OpenVPN, однако его настройка довольно трудоемка и выходит за рамки данной статьи. Также шифрование трафика реализована в технологии 3CX Tunnel.
Настройка подключения состоит из трех этапов:
- Модификация стокового шаблона Fanvil
- Автонастройка телефона модифицированным шаблоном
- Настройка L2TP туннеля на маршрутизаторе Mikrotik и создание пользователей
- Проверка подключения
Модификация стокового шаблона Fanvil
Модификация шаблона нужна для автоматизации настройки L2TP туннеля на телефонах (чтобы не настраивать адрес и учетные данные туннеля вручную на каждом телефоне). Самый простой способ — использовать для L2TP-пользователя те же учетные данные, что и для SIP-аккаунта. Эти параметры будут автоматически подставляться в шаблон через переменные автонастройки 3CX.
Для понимания, что же именно нужно менять сделаем две вещи.
Настройте L2TP вручную так, как вам нужно (Раздел Network — VPN).
![](https://habrastorage.org/getpro/habr/post_images/be7/f46/a27/be7f46a27b31681a9c08476ba141d110.png)
Откройте конфигурацию телефона (System — Configurations) и поищите в ней по ключевому слову vpn.
![](https://habrastorage.org/getpro/habr/post_images/813/39e/f40/81339ef40facad60f97b175d585d64d6.png)
Вот что нужно поменять в стоковом шаблоне 3CX.
![](https://habrastorage.org/getpro/habr/post_images/23c/c8e/42c/23cc8e42cc814b350e67b8e1ae798f69.png)
Скопируем шаблон, назовем его fanvil_l2tp и укажем следующие переменные:
- VPN Mode — 1 (L2TP)
- L2TP_LNS_IP — внешний адрес / имя сервера 3CX
- L2TP_User_Name — имя пользователя SIP
- L2TP_Password — пароль пользователя SIP
- Enable_VPN_Tunnel — 1 (Вкл.)
![](https://habrastorage.org/getpro/habr/post_images/013/dd9/dd4/013dd9dd4fe318183c726a2db2da22b2.png)
Нажмите OK и шаблон будет готов.
Автонастройка телефона модифицированным шаблоном
Теперь шаблоном можно настраивать телефоны. Однако перед этим обязательно вручную прошейте их официально поддерживаемой прошивкой 3CX, чтобы к ним могли корректно применяться шаблоны автонастройки от 3CX.
После ручной прошивки, настройте телефон в локальной сети стоковым шаблоном от 3CX, как указано здесь. Затем можно повторно обновить прошивку, если они доступна. Но теперь уже это делается автоматически из раздела интерфейса управления 3CX Телефоны — кнопка Прошивка.
![](https://habrastorage.org/getpro/habr/post_images/28f/f07/36f/28ff0736f9f02cdca5fa78bc091e4ffc.png)
После того, как телефон успешно прошит, настроен и подключен, перейдите в раздел Пользователи — Пользователь — Автонастройка телефона, удалите привязанный телефон (стоковый шаблон) и замените его модифицированным шаблоном.
![](https://habrastorage.org/getpro/habr/post_images/229/862/b82/229862b829489b8a485ea3b24d54ed99.png)
После этого перейдите в раздел Телефоны, выделите пользователя и нажмите кнопку Перенастроить.
![](https://habrastorage.org/getpro/habr/post_images/dbd/1ce/0bc/dbd1ce0bceeb6364026d0c9ec9ae3959.png)
Телефон обновит шаблон и включит туннель L2TP.
Обратите внимание! На модифицированные шаблоны официальная техподдержка 3CX не распространяется.
Обратите внимание! При выходе обновленного стокового шаблона 3CX, следует снова создать его модифицированную версию и перенастроить телефоны.
Настройка L2TP туннеля на маршрутизаторе Mikrotik
Существует множество схожих руководств по настройке L2TP туннеля в Mikrotik. Я опишу самый быстрый способ, который, однако, требует некоторых модификаций.
Если у вас новый роутер, настройте его через меню Quick Set и включите VPN доступ.
![](https://habrastorage.org/getpro/habr/post_images/254/063/cf9/254063cf992287e96697907f3ff1c433.png)
Обратите внимание! На роутере зайдите в раздел PPP — Profiles — default-encryption и обязательно укажите DNS сервер, который будет выдаваться телефонам. Без этой настройки телефоны Fanvil не подключаются.
![](https://habrastorage.org/getpro/habr/post_images/0ea/4d2/c54/0ea4d2c541662889ee6fa6f30131f9e2.png)
На скриншоте выше локальный адрес L2TP-сервера 192.168.89.1, адреса телефонам выдаются из пула адресов vpn, а DNS сервер — IP-адрес локального сетевого интерфейса (или бриджа) Mikrotik.
Теперь в разделе PPP — Secrets добавьте учетные данные авторизации телефонов. Как было сказано, они совпадают с учетными данными SIP. Если хотите это автоматизировать — экспортируйте пользователей из 3CX, отредактируйте файл экспорта и создайте пользователей скриптом в Mikrotik. Этот процесс мы опустим.
![](https://habrastorage.org/getpro/habr/post_images/1fc/68c/180/1fc68c18069f773109bd86aacb8989d5.png)
Если вы хотите использовать подключения IP-телефонов (L2TP-интерфейсы) в различных правилах маршрутизатора, рекомендую создать L2TP Server Binding для каждого телефона (PPP — Interface — L2TP Server Binding). Это позволяет создать статические интерфейсы, которые не будут исчезать из правил при отключении VPN-клиента.
![](https://habrastorage.org/getpro/habr/post_images/4d0/d55/213/4d0d55213c48e8dd7034868bc7b9f09d.png)
На этом настройка L2TP-сервера Mikrotik завершена.
Проверка подключения
Включите телефон в удаленной сети. Он должен получить IP-адрес от вашего L2TP сервера.
![](https://habrastorage.org/getpro/habr/post_images/679/92a/8b3/67992a8b33e366734b2c12e251c25d11.png)
И успешно зарегистрироваться на 3CX.
![](https://habrastorage.org/getpro/habr/post_images/91c/68b/442/91c68b442ebd88517a04c76c43305536.png)
Соответствующий динамический интерфейс L2TP должен появиться и на Mikrotik.
![](https://habrastorage.org/getpro/habr/post_images/5b4/f06/2db/5b4f062db914ca87d3d27eff100bc9f2.png)
Наберите на телефоне *777 (эхотест 3CX). Поговорите в трубку — вы должны услышать себя. Это означает, что подключение работает корректно.
Заключение
Во время тестирования различных моделей Fanvil я заметил, что телефоны X2, X3S и X4 подключаются и работают корректно. В то же время модели X5 и X6 не подключаются по VPN. Возможно, дело в прошивке телефона. В данный момент мы работаем по этому вопросу с техподдержкой Fanvil.