Ip телефон через vpn
Задача: создать защищенный канал голосовой связи "точка-точка".
Для реализации задачи используется IP-телефония через шифрованный канал VPN, что позволяет защититься от прослушивания.
Для связи понадобятся два IP-телефона с поддержкой VPN, подключенные к Интернет. В нашем случае используются IP-телефоны Yealink W52P. Необходимо отметить, что партии этих телефонов для некоторых стран не имеют функцию VPN.
Сердце системы - сервер VPN, который обеспечивает шифрование голосового трафика.
На рисунке выше приведена схема подключения IP-телефона, предлагаемая компанией Yealink. Можно использовать более простой вариант: VPN поднять на виртуальном сервере, размещенном на площадке хостера. Но в этом случае придется платить незначительную абонплату.
Установка и настройка OpenVPN сервера под Debian
VPN-сервер должен иметь две сетевые карты, (даже?) если он находится внутри локальной сети.
Проверяем доступность устройства TUN:
Ответ должен быть примерно таким:
Для установки OpenVPN сервера потребуются модули OpenSSL и LZO.
aptitude install opensslaptitude install debian-keyring debian-archive-keyring
apt-get install liblzo2-2
apt-get install openvpn
Если менеджер пакетов aptitude не установлен в системе, то делаем:
Создаем папку для работы с ключами и копируем в нее стандартные утилиты.
mkdir /etc/openvpn/easy-rsa/cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/
Если easy-rsa нет (для версий openvpn старше 2.3), то устанавливаем и копируем необходимые файлы из другой директории:
aptitude install easy-rsacp -r /usr/share/easy-rsa/* /etc/openvpn/easy-rsa/
Переходим в директорию /etc/openvpn/easy-rsa/ и вводим свои данные в последние 5 строк файла vars:
IP-телефон Yealink W52P использует алгоритм шифрования SHA1, поэтому необходимо изменить следующие параметры в конфигурационном файле OpenSSL /etc/openvpn/easy-rsa/openssl-1.0.0.cnf:
Создаем сертификаты в директории /etc/openvpn/easy-rsa/:
source ./vars./clean-all
./build-ca
./build-key-server server
./build-key user
./build-dh
openvpn --genkey --secret keys/ta.key
Последняя строка не обязательна, но позволяет усилить безопасность. При создании сертификата отвечаем утвердительно на запрос подписи.
Примечание от 26.07.2019. Easy-RSA версии 3 содержит только один скрипт easyrsa. Файл vars можно не использовать. Следующие команды необходимо выполнить для Easy-RSA v.3:
cd /etc/openvpn/easyrsa./easyrsa init-pki
./easyrsa build-ca nopass
./easyrsa gen-req server nopass
./easyrsa sign-req server server
./easyrsa gen-req user nopass
./easyrsa sign-req client user
./easyrsa gen-crl
mkdir /etc/openvpn/ssl -p
openssl dhparam -out /etc/openvpn/ssl/dh.pem 2048
cd /etc/openvpn/ssl
openvpn --genkey --secret ta.key
Ключи созданы. Серверные ключи server.crt, server.key, server.csr, ca.crt, ca.key, dh1024.pem (dh2048.pem) кидаем в папку /etc/openvpn/.
Пользовательские ключи user.crt, user.key, ca.crt понадобятся для настройки IP-телефона.
Копируем файл настроек server.conf из /usr/share/doc/openvpn/examples/sample-config-files в /etc/openvpn/ и меняем настройки на следующие:
port 1194proto udp
dev tun
ca /etc/openvpn/ca.crt
cert /etc/openvpn/server.crt
key /etc/openvpn/server.key
dh /etc/openvpn/dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
client-to-client
keepalive 10 120
comp-lzo no
persist-key
persist-tun
status /etc/openvpn/openvpn-status.log
log /etc/openvpn/openvpn.log
verb 3
Если VPN-сервер находится в локальной сети, то необходимо добавить соответствующие маршруты командой push route.
Примечание: для блокирования подключений пользователей с отозванными сертификатами (revoke-full user) добавить в конфиг:
Запоминаем настройку в /etc/sysctl.conf.
Если не появился сетевой интерфейс tun (проверка командой ifconfig -a), то помогает перезагрузка сервера.
Настройка IP-телефона Yealink W52P
Копируем файл настроек VPN-клиента:
mkdir /etc/openvpn/client/cp -r /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn/client/vpn.cnf
Меняем настройки клиента на следующие:
В директорию /etc/openvpn/client/keys/ закидываем следующие файлы, созданные ранее:
ca.crt
user.crt
user.key
Все готово для архивирования файлов, которые будут загружены на телефон:
Полученный архив openvpn.tar закидываем на телефон.
После импорта файла необходимо нажать кнопку "Confirm" внизу страницы.
После перезагрузки на экране телефона должен появиться значок "VPN". Аналогичным образом настраивается любое количество телефонов с отдельными клиентскими сертификатами.
С телефона на телефон можно звонить по IP-адресу устройства, например, 10.8.0.6. IP-адрес выдает VPN-сервер. Список контактов телефона Yealink W52P редактируется через веб-морду: Contacts - экспорт/импорт.
Дополнительная информация по настройке VPN-сервера и клиентов в инструкции OpenVPN features Yealink IP Phones.
Примечания:
Вместо IP-телефонов Yealink можно использовать более дешевые мобильные смартфоны и дополнительный софт: OpenVPN, CSIPSimple, SA Контакты (для импорта контактов в смартфон).
Для точечных настроек пользователя используем профиль в директории /etc/openvpn/ccd. Например,
Формат файла XML:
<?xml version="1.0" encoding="utf-8"?><YealinkIPPhoneBook>
<Title>Контакты</Title>
<Menu Name="ИмяГруппы">
<Unit Name="ИмяКонтакта" default_photo="" Phone3="" Phone2="" Phone1="10.8.0.4"/>
<Unit Name="ИмяКонтакта2" default_photo="" Phone3="" Phone2="" Phone1="10.8.0.8"/>
</Menu>
</YealinkIPPhoneBook>
Для ограничения доступа к контактам меняем настройки Apache-сервера в файле ports.conf:
---
Данная технология прекрасно работает на смартфонах с помощью программы CSIPSimple (скачать apk-файл надо с apkpure), но только на смартфонах с Android 8 и ниже. Для синхронизации контактов с удаленной адресной книгой используется программа ContactsXML.
Создание защищенного канала голосовой связи (IP-телефония с VPN) : 2 комментария
Здравствуйте как организовать через IP VPN громкоговорящая связь по тч каналу
У моделей SIP-телефонов Yealink T26 и старше есть функция, полезная - работа через OpenVPN.
Как это работает?
После регистрации, настройки и прочих процедур телефон передает все данные в зашифрованном виде через защищенный туннель на базе сервера OpenVPN.
Подключение удаленных клиентских терминалов с помощью этого протокола позволяет:
- Упростить настройку защиты (достаточно настроить один порт 1194 на UDP\ TCP);
- Гарантировать дополнительное шифрование и общий высокий уровень защиты переговоров;
- Усилить барьер от проникновения в сеть злоумышленников – отключен порт 5060, крайне популярный у хакеров.
Процедура настройки сервера требует определенных навыков. Мы постарались составить для вас максимально наглядную инструкцию.
Исходные данные: OpenVPN-сервер разворачивают на компьютере с адресом 192.168.0.2, операционная система Windows 7 (ОС, в принципе, значения не имеет, есть различные версии VPN, в том числе и для Linux).
Часть I. Установка ПО и создание сетевого моста
Загрузите OpenVPN-приложение и начните установку. Все характеристики остаются по умолчанию. В процессе установки вам предложат установить TAP-адаптер – согласитесь.
В Сетевых подключениях задайте вновь созданному подключению название tap. Именно к нему вы далее привяжете OpenVPN-сервер.
Из двух существующих подключений создаете сетевой мост.
Обратите внимание, что в процессе подключение по локальной сети к компьютеру будет потеряно!
Вновь подключитесь к компьютеру и введите IP-адрес сделанного вами моста. Изначально мост получает адрес от DHCP. Ниже установлен адрес 192.168.0.2.
Часть II. SSL-сертификат.
Поскольку протокол использует для взаимного опознавания узлов сертификаты SSL, вам придется создать:
- Корневой сертификат Certificate Authority
- Сертификат Server для OpenVPN
- Сертификат Client, т.е. сертификат клиента (IP-телефона)
В Windows откройте командную строку. Внимание! Вам потребуется openssl 1 версии.
Certificate Authority (CA). Откройте C:\program files\OpenVPN\easy-rsa\ , введите init-config в командной строке.
Отредактируйте по образцу переменные файла vars.bat в этой же папке (оптимально – в редакторе Notepad++). Используйте подходящие данные своей компании.
Это не обязательное, но рекомендуемое действие.
Для OpenVPN версии 2.2.0:
От имени администратора вновь в командной строке введите C:\program files\OpenVPN\easy-rsa >vars и C:\program files\OpenVPN\easy-rsa >clean-all (Процедура создания сертификатов описана в Readme.txt)
Аналогично введите команду build-ca и создайте сертификат CA в папке c:\Program Files\OpenVPN\easy-rsa\keys\, используя значения vars.bat. На все вопросы отвечайте Enter. В качестве Common Name укажите имя сервера (хоста) OpenVPN или любое подходящее название. В примере - просто server.
Создайте параметр Diffie-Hellman. Введите команду build-dh.
Введите build-key-server server. На вопросы отвечайте y (yes). В качестве Common Name укажите server.
Созданный сертификат хоста будет подписан корневым CA.
Теперь сгенерируйте клиентский сертификат. Введите build-key client. Common Name - client.
В результате в папке keys появятся все необходимые для работы сервера и туннеля сертификаты.
Часть III. Конфигурация OpenVPN
Откройте файл server.ovpn (папка С:\Program Files\OpenVPN\sample-config\ ) и введите следующие параметры (помечены красным)
1194 – стандартный порт для данного решения.
Вводим протокол UDP:
Далее указывает туннель – ведь мы уже создали сетевой мост.
Указываем имя, ранее присвоенное OpenVPN адаптеру:
Указываем пути к файлам сертификатов – обратите внимание на правильные значки кавычек.
Указываем путь к файлу с параметрами DH
Уточняем, что используем Ethernet мост, указываем адрес сервера (192.168.0.2) и маску (255.255.255.0), диапазон адресов для телефонов клиентов (192.168.0.100 192.168.0.254). Не забудьте исключить эти адреса на корпоративном DHCP сервере!
В результате длинного набора инструкция клиентам по DHCP назначается адрес своего DNS сервера. Здесь же можно назначить и другие опции DHCP:
Разрешаем абонентам напрямую звонить друг другу и использовать один на всех сертификат, процесс его создания описан во второй части:
Это не очень безопасно, зато заметно ускоряет и упрощает работу сети.
Сохраните отредактированный файл в папке c:\Program Files\OpenVPN\config\
Установите автоматический запуск для сервиса OpenVPN и запустите его.
Убедитесь, что сервис стартовал успешно. Проверьте файл server.log в папке c:\Program Files\OpenVPN\log\
Часть IV. Определение параметров OpenVPN-клиента
В файле client.ovpn (адрес c:\Program Files\OpenVPN\sample-config) укажите следующие данные:
- внешний IP адрес или имя, установленное для OpenVPN сервера. В примере: DDNS офисного сервера.
Некоторые роутеры, в том числе модели популярного бренда Zyxel, изменяют порт для пакетов исходящего трафика, из-за чего сбивается процесс взаимной аутентификации. Если у вашего маршрутизатора есть это свойство, укажите в файле параметр float. Также рекомендуем дополнительно просмотреть документацию к OpenVPN для устранения сопутствующих ошибок.
Далее указываем путь для сертификатов. В нашем примере клиент OpenVPN установлен на компьютер. При использовании ip-телефона потребуются другие данные, более того, аппараты различных марок используют различные файлы. Также обратите внимание на пунктуацию и двойные кавычки!
Сохраните файл в папке c:\Program Files\OpenVPN\config\. Папка должна иметь примерно такой вид.
Часть V. Тестирование VPN-подключения
Установите на другой компьютер (VPN клиент) пакет OpenVPN отсюда.
На Интернет-роутере опубликуйте порт UDP 1194. В примере опубликован этот порт для внутреннего IP адреса 192.168.0.2, на котором установлены серверы OpenVPN. В нашем примере – данные для Zyxel.
С серверного компьютера скопируйте в идентичные папки клиентского компьютера следующие файлы:
Files\OpenVPN\easy-rsa\keys\client.crt
Files\OpenVPN\easy-rsa\keys\client.key
Files\OpenVPN\easy-rsa\keys\ca.crt
Files\OpenVPN\config\client.ovpn
Запустите соединение, нажав на иконку OpenVPN GUI.
Если все вышеуказанные пункты выполнены надлежащим образом, VPN соединение должно установиться и ему должен быть присвоен IP-адрес из пула, указанного в конфигурации сервера в Части III.
Часть VI. Необходимые модификации и подготовка TAR для работы на IP телефоне
Убедившись в стабильности VPN-соединения на примере двух ПК, мы переносим настройки на клиентский IP-телефон.
Действуем по следующей схеме:
- в сопроводительных документах находим адреса файлов конфигурации в телефоне
- вносим изменения
- архивируем измененные файлы и сертификаты в нужном формате и заменяем их в телефоне
- тестируем работу телефона с сервером OpenVPN
При настройке Yealink на работу OpenVPN существуют некоторые особенности:
- архивированный файл конфигурации должен называться client.tar
- файл с конфигурацией OpenVPN клиента называется vpn.cnf (а для компьютера этот файл называется client.ovpn)
- сертификаты лежат в папке keys в файле vpn.cnf
Пути, по которым телефон ищет файлы конфигурации, следующие:
- ca /yealink/config/openvpn/keys/ca.crt
- cert /yealink/config/openvpn/keys/client1.crt
- key /yealink/config/openvpn/keys/client1.key
P.S. Для Yealink серии T4 и выше и W52, а также для видеотелефона VP-530 пути сокращены до /config/openvpn/keys/.
Создаем пустой текстовый файл и вписываем туда:
client
dev tap
proto udp
remote 92.93.94.95
resolv-retry infinite
nobind
ca /yealink/config/openvpn/keys/ca.crt
cert /yealink/config/openvpn/keys/client_spb.crt
key /yealink/config/openvpn/keys/client_spb.key
dh /yealink/config/openvpn/keys/dh1024.pem
verb 3
mute 20
Сохраняем файл под именем vpn.cnf
Скопируем с клиентского компьютера папку c:\Program Files\OpenVPN\easy-rsa\keys\.
Папку keys и файл vpn.cnf добавьте в архив client.tar. Рекомендуем архиватор 7-Zip.
Часть VII. Загрузка TAR-архива (tarball) в IP -телефон и включение VPN- туннеля
Убедитесь, что модель телефона поддерживает OpenVPN. Загрузите в телефон свежий файл прошивки.
Через IP адрес телефона зайдите в Web-интерфейс, в раздел Сеть > Дополнительно.
Для VPN укажите адрес файла client.tar, который был создан в Части VI, и нажмите Импорт.
После установки конфигурации включите параметр VPN Использование, подтвердите изменения.
При написании статьи были рассмотрены телефонные аппараты следующих производителей: Fanvil, Grandstream, Yealink.
Настройка VPN на телефонных аппаратах Fanvil на примере модели X4G.
Информер 1: Обратите внимание, что Fanvil позволяет также использовать L2TP туннель, но в данном типе VPN не реализован механизм шифрования
Настройка OpenVPN немного сложнее в виду того что необходимо подобрать рабочее сочетание параметров. Далее необходимо подгрузить сертификаты: корневой сертификат сервера (ca.crt) и сертификат клиента (client.crt), ключ клиента (client.key) и файл конфигурации (client.ovpn)
Содержимое файла конфигурации OpenVPN для Fanvil должно быть примерно таким:
pic Fanvil_VPN (настройка ВПН в телефоне Fanvil)
Далее в настройках линии (Line > SIP) достаточно адрес сервера сменить на адрес VPN сервера (при условии что АТС является также и сервером OpenVPN), а также указать телефону использовать VPN, выставив параметр Use VPN.
pic Fanvil_VPN_line (Параметр Use VPN в настройках линии)
Информер 2: В настройке были сложности при использовании более старой версии прошивок Fanvil, поэтому рекомендуется провести обновление телефона на максимально свежую версию прошивки.
Далее будет рассмотрена настройка VPN на телефоне Yealink на примере модели SIP-T21P-E2
Общий вид файла конфигурации OpenVPN для Yealink:
pic Yealink_VPN_1 (Настройка OpenVPN на телефонном аппарате Yealink)
Информер 3: Обратите внимание, что в версиях прошивок аппаратов, предназначенных для таможенного союза данная настройка отсутствует, поэтому рекомендуется установить прошивку англоязычную с официального сайта Yealink.
Настройка OpenVPN на телефонах Grandstream на примере телефонного аппарата GXV3140.
Для настройки VPN на данном телефоне необходимо перейти в раздел Maintenance > Open VPN Settings и подгрузить необходимые файлы: корнефой сертификат, сертификат клиента и ключ клиента. Далее указать адрес сервера и порт. После включения VPN на телефоне необходимо перезагрузить его.
pic GXV_VPN (настройка VPN на телефоне Grandstream)
В первую очередь необходимо проверить время на телефонном аппарате и на сервере при их расхождении не будет установлено соединение.
2) соединение установилось но пинг между сервером и клиентом не проходит.
Необходимо проверить, что сжатие на обеих сторонах либо включено, либо выключено, также рекомендуется проверить, что на стороне клиента и сервера используется одинаковый метод шифрования.
Данная инструкция демонстрирует, как подключиться к серверу ретрансляции VPN Gate с помощью L2TP/IPsec VPN клиента, встроенного в мобильную операционную систему Android.
Предварительная конфигурация
- Перейдите в приложение Настройки.
- В разделе сетевых настроек Подключения перейдите в меню Другие настройки > VPN.
Важная информация
Для столбца L2TP/IPsec Windows, Mac, iPhone, Android No client required в списке серверов должна быть отмечена галочка, которая сообщает о поддержке настраиваемого протокола L2TP/IPsec.
- Скопируйте имя узла DDNS (идентификатор, который заканчивается на ".opengw.net") или IP-адрес (цифровое значение xxx.xxx.xxx.xxx) и введите его в поле “Адрес сервера” на экране конфигурации.
Примечание
Рекомендуется использовать имя DDNS – его можно продолжать использовать, даже если соответствующий DDNS IP-адрес в будущем изменится. Тем не менее, в некоторых странах у вас не получиться использовать имя узла DDNS – в этом случае следует использовать IP-адрес.
- Введение vpn в поле "Общий ключ IPSec".
- Отметьте галочку “Показать дополнительные параметры”, если она доступна.
- В поле “Перенаправление маршрутов” введите 0.0.0.0/0. Убедитесь, что вы правильно ввели значение этого поля. В противном случае, вы не сможете установить подключение к VPN-серверу.
- После этого нажмите кнопку “Сохранить”.
Запуск VPN-подключения
- Вы можете в любое время установить новое подключение к VPN-серверу. Откройте настройки VPN, и вы увидите следующий список.
Интернет без ограничений
Когда соединение установлено, весь сетевой трафик будет проходить через VPN-сервер. Вы также можете перейти на сайт ipinfo.io, чтобы посмотреть глобальный IP-адрес.. Вы сможете увидеть видимое из сети местоположение, которое будет отличаться от вашей фактической локации.
При подключении к VPN вы сможете посещать заблокированные веб-сайты и использовать заблокированные приложения.
Настройка VPN (L2TP/IPsec) для iPhone, iPad
Данная инструкция демонстрирует, как подключиться к серверу ретрансляции VPN Gate на iPhone / iPad с помощью L2TP/IPsec VPN клиента, встроенного в iOS.
Предварительная конфигурация
- На главном экране iPhone / iPad выберите приложение Настройки.
- Выберите опцию VPN (или перейдите в меню "Основные > VPN"), затем нажмите Добавить конфигурацию VPN.
- На странице настроек выберите Тип >L2TP и добавьте название соединения в поле Описание, например "VPN Gate".
Важная информация
Для столбца L2TP/IPsec Windows, Mac, iPhone, Android No client required в списке серверов должна быть отмечена галочка, которая сообщает о поддержке настраиваемого протокола L2TP/IPsec.
- Скопируйте имя узла DDNS (идентификатор, который заканчивается на ".opengw.net") или IP-адрес (цифровое значение xxx.xxx.xxx.xxx) и введите его в поле Сервер на экране конфигурации.
Примечание
Рекомендуется использовать имя DDNS – его можно продолжать использовать, даже если соответствующий DDNS IP-адрес в будущем изменится. Тем не менее, в некоторых странах у вас не получиться использовать имя узла DDNS – в этом случае следует использовать IP-адрес.
- Введите vpn в поля "Учетная запись", "Пароль" и "Общий ключ", затем нажмите "Готово".
Запуск VPN-подключения
- Вы можете в любое время установить новое подключение к VPN-серверу, выбрав необходимую конфигурацию в меню настроек VPN и установив переключатель Статус в положение "Вкл".
- iOS показывает индикатор "VPN" в верхней панели, если VPN-подключение установлено.
- Перейдя в конфигурацию, вы можете получить следующую информацию: назначенный IP-адрес и время подключения.
Интернет без ограничений
Когда соединение установлено, весь сетевой трафик будет проходить через VPN-сервер. Вы также можете перейти на сайт ipinfo.io, чтобы посмотреть глобальный IP-адрес.. Вы сможете увидеть видимое из сети местоположение, которое будет отличаться от вашей фактической локации.
При подключении к VPN вы сможете посещать заблокированные веб-сайты и использовать заблокированные приложения.
Читайте также: