Настройка OpenVPN-туннеля для IP-телефонов Yealink
У моделей 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++). Используйте подходящие данные своей компании.
Укажите:
- страну (set KEY_COUNTRY= Rus)
- область (set KEY_PROVINCE=SPB)
- город (set KEY_CITY=Saint-Petersburg)
- название организации (set KEY_ORG=Marineq)
- контактный e-mail (set KEY_EMAIL=admin@marineq.ru)
Это не обязательное, но рекомендуемое действие.
Сохраните файл.
Для OpenVPN версии 2.2.0:
В файле openssl.cnf по образцу закомментируйте (поставьте # в начале строки) настройки пакетного режима
и данные сертификата PKCS#11
От имени администратора вновь в командной строке введите 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 Использование, подтвердите изменения.
Вы можете включить VPN-туннель и через экранное меню телефона, предварительно загрузив client.tar.
Если все прошло успешно, на экране телефона загорится индикатор VPN.
Связанные публикации
- Комментарии