Страница 1 из 1

Затруднения в подключении телефонов Yealink к OpenVPN

Добавлено: 28 июн 2018, 22:45
Nursultan
Приветствую всех присутствующих! господа и дамы. Стояла АТС Asterisk + FreePBX, с настроенным OpenVPN, к которому подключался телефон Yealink t21p. Но спустя полтора года АТС упала, починить так и не удалось, т.к. я не эксперт по Asterisk. Решил поднять по новой, скачал Distro Centos7 + FreePBX13(знаю, вариант для чайников, но этот вариант быстрее и проще). Все благополучно поднялось, логи без ошибок, красота. Но пришла пора Поднимать OpenVPN. На старом Астере OpenVPN поднимал не я, но похоже было сделано с помощью этой статьи https://2keep.net/openvpn-server-and-ip ... /#comments
Начал делать по инструкции, 1 с чем столкнулся, что через yum устанавливается e-asyrsa3, скачал easy-rsa 2.2.2 с GitHab, и скопировал фалы по инструкции(может его надо было объявить? я тупо скопировал, т.к. это сбор скриптов). Ничего не пошло, из-за того, что на телефоне не просмотришь логи, решил сначала проверить работоспособность, настроив OpenVPN client на пользовательском компе. Ничего не поперло, хоть и ifconfig показал новую сеть.
Начал изучать статьи по настройке OpenVPN с помощью easyrsa3. Настроил сначала по этой статье, https://www.dmosk.ru/miniinstruktions.p ... n-easyrsa3 , но тут так и не удалось сформировать ключ Диффи-Хеллмана 1024(т.е. телефон принимает ДХ 1024). Настроил по https://www.oslogic.ru/knowledge/605/so ... -easy-rsa/ , установил параметры примерно под первую статью. ключь ДХ 1024, в openssl-1.0.cnf поставил sha1(хз почему не sha256). Сгенерировал все необходимы ключи и сертификаты, и настроил OpenVPN client на Винде, все поднялось. Переписал конф файл клиента для Yealink, но снова тишина.
данные /etc/openvpn/easyrsa3/vars

Код: Выделить всё

set_var EASYRSA_REQ_COUNTRY	"KZ"
set_var EASYRSA_REQ_PROVINCE	"Almaty"
set_var EASYRSA_REQ_CITY	"Almaty"
set_var EASYRSA_REQ_ORG	"Company"
set_var EASYRSA_REQ_EMAIL	"it@mail.ru"
set_var EASYRSA_REQ_OU		"IT"
set_var EASYRSA_KEY_SIZE 1024
server.conf

Код: Выделить всё

local 192.168.x.x
port xxxx
proto udp
dev tun
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/issued/vpn-server.crt
key /etc/openvpn/keys/private/vpn-server.key
dh /etc/openvpn/keys/dh.pem
#tls-auth /etc/openvpn/keys/ta.key 0
server 172.16.10.0 255.255.255.0
ifconfig-pool-persist ipp.txt
keepalive 10 120
max-clients 32
client-to-client
persist-key
persist-tun
status /var/log/openvpn/openvpn-status.log
log-append /var/log/openvpn/openvpn.log
verb 4
mute 20
daemon
mode server
tls-server
comp-lzo
кусочек openssl-1.0.cnf

Код: Выделить всё

####################################################################
[ CA_default ]

dir		= $ENV::EASYRSA_PKI	# Where everything is kept
certs		= $dir			# Where the issued certs are kept
crl_dir		= $dir			# Where the issued crl are kept
database	= $dir/index.txt	# database index file.
new_certs_dir	= $dir/certs_by_serial	# default place for new certs.

certificate	= $dir/ca.crt	 	# The CA certificate
serial		= $dir/serial 		# The current serial number
crl		= $dir/crl.pem 		# The current CRL
private_key	= $dir/private/ca.key	# The private key
RANDFILE	= $dir/.rand		# private random number file

x509_extensions	= basic_exts		# The extentions to add to the cert

# This allows a V2 CRL. Ancient browsers don't like it, but anything Easy-RSA
# is designed for will. In return, we get the Issuer attached to CRLs.
crl_extensions	= crl_ext

default_days	= $ENV::EASYRSA_CERT_EXPIRE	# how long to certify for
default_crl_days= $ENV::EASYRSA_CRL_DAYS	# how long before next CRL
default_md	= sha1		# use public key default MD
preserve	= no			# keep passed DN ordering

# A few difference way of specifying how similar the request should look
# For type CA, the listed attributes must be the same, and the optional
# and supplied fields are just that :-)
policy		= policy_anything

# For the 'anything' policy, which defines allowed DN fields
[ policy_anything ]
countryName		= optional
stateOrProvinceName	= optional
localityName		= optional
organizationName	= optional
organizationalUnitName	= optional
commonName		= supplied
name			= optional
emailAddress		= optional

####################################################################
# Easy-RSA request handling
# We key off $DN_MODE to determine how to format the DN
[ req ]
default_bits		= $ENV::EASYRSA_KEY_SIZE
default_keyfile 	= privkey.pem
default_md		= sha1
distinguished_name	= $ENV::EASYRSA_DN
x509_extensions		= easyrsa_ca	# The extentions to add to the self signed cert
конф файл телефона vpn.cnf

Код: Выделить всё

setenv SERVER_POLL_TIMEOUT 4
reneg-sec 604800
sndbuf 100000
rcvbuf 100000
auth-retry nointeract
client
dev tun
dev-type tun 
proto udp
remote it.compa.kz xxxx udp
nobind
ca /config/openvpn/keys/ca.crt
cert /config/openvpn/keys/yalink.crt
key  /config/openvpn/keys/yalink.key
ns-cert-type server
comp-lzo no
verb 3
Данные для server.conf и vpn.cnf брал с конф файлов из старой АТС.
При данных настройках OpenVPN client на Винде работает
настройки vpn.ovpn

Код: Выделить всё

client
resolv-retry infinite
remote it.comp.kz xxxx
proto udp
dev tun
comp-lzo
ca ca.crt
cert yealink.crt
key yealink.key
dh dh.pem
#tls-client
#tls-auth ta.key 1
float
keepalive 10 120
persist-key
persist-tun
verb 0
Но вот телефон гад не хочет подключаться к VPN.
В логах OpenVPNa данные по последнему успешному подключению через Винду, а на телефон логов не пишет.
Подскажите какие настройки я прописываю не так, или easy-rsa 2 я не так запустил, и можно ли каким-то чудом на телефоне проверить ошибки.
Извините за столь длинный текст, но пытался описать как можно яснее. Заранее всех благодарю.

Re: Затруднения в подключении телефонов Yealink к OpenVPN

Добавлено: 29 июн 2018, 12:34
Nursultan
Забыл добавить конф фалй для телефона

Код: Выделить всё

setenv SERVER_POLL_TIMEOUT 4
reneg-sec 604800
sndbuf 100000
rcvbuf 100000
auth-retry nointeract
client
dev tun
dev-type tun 
proto udp
remote it.comp.kz xxxx udp
nobind
ca /config/openvpn/keys/ca.crt
cert /config/openvpn/keys/yalink.crt
key  /config/openvpn/keys/yalink.key
ns-cert-type server
comp-lzo no
verb 3

Re: Затруднения в подключении телефонов Yealink к OpenVPN

Добавлено: 30 июн 2018, 10:16
awsswa
На телефоне есть настройка - указать syslog сервер и уровень логгирования
Указываете свой сервер с asterisk - уровень DEBUG
и на сервере с asterisk ловите события
tcpdump -i any port 514 -v
если так не прокатит тогда по ip адресу телефона

из ошибок явных
в телефоне - без компресии - comp-lzo no
на сервере с компресией - comp-lzo

Re: Затруднения в подключении телефонов Yealink к OpenVPN

Добавлено: 02 июл 2018, 08:35
Vlad1983
конфиг сервера (работает с Grandstream c Yealink не проверялось)

Код: Выделить всё

proto tcp-server
port 3501
dev tun1
mode server
tls-server
comp-lzo no
daemon
script-security 2
server 10.10.60.0 255.255.255.0
verb 2
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/server.crt
key /etc/openvpn/keys/server.key
dh /etc/openvpn/keys/dh1024.pem
crl-verify /etc/openvpn/keys/crl.pem
persist-key
persist-tun
keepalive 10 120
cipher BF-CBC
topology net30
status /dev/shm/openvpn-tel-status.log
log-append /var/log/openvpn-tel.log
max-clients 20
sndbuf 0
rcvbuf 0

Re: Затруднения в подключении телефонов Yealink к OpenVPN

Добавлено: 03 июл 2018, 11:36
Nursultan
Похоже для Yealink не подходит, прописал, подогнал под свои данные, и ничего

Re: Затруднения в подключении телефонов Yealink к OpenVPN

Добавлено: 03 июл 2018, 11:50
Vlad1983
нужно смотреть что клиент сыпит в логи.
Grandstream вроде не могли подключиться пока не выставил явно "cipher".

Re: Затруднения в подключении телефонов Yealink к OpenVPN

Добавлено: 03 июл 2018, 16:32
Nursultan
awsswa писал(а):На телефоне есть настройка - указать syslog сервер и уровень логгирования
Указываете свой сервер с asterisk - уровень DEBUG
и на сервере с asterisk ловите события
tcpdump -i any port 514 -v
если так не прокатит тогда по ip адресу телефона

из ошибок явных
в телефоне - без компресии - comp-lzo no
на сервере с компресией - comp-lzo
Да, не заметил компрессию, но это не помогло. tcpdump -i tun0 и port не выдают ничего, вообще тишина.

Re: Затруднения в подключении телефонов Yealink к OpenVPN

Добавлено: 03 июл 2018, 16:38
awsswa
чудес не бывает - либо трафик от телефона идет не туда - либо его кто то режет

Re: Затруднения в подключении телефонов Yealink к OpenVPN

Добавлено: 04 июл 2018, 07:08
Nursultan
Методом тыка все же заработал, возможно после исправления компрессии, я не перезагружал телефон. В общем вчера вечером посидел, для проверки переименовал архив с ключами и конфигом с openvpn.tar в client.tar, загрузил этот архив на телефон, и перегрузил телефон. После он заработал. Поедее имя архива не должно же влиять, скорее всего перегрузка помогла