Авторизация

Topic-icon Персональная телефонная станция Астериск+Centos+OpenVPN

Больше
4 мес. 3 нед. назад #481 от devid2017
devid2017 создал эту тему: Персональная телефонная станция Астериск+Centos+OpenVPN
Здравствуйте, товарищи...

В прологе к этому сайту автор умело заметил, что можно использовать все "вкусности" Asterisk телефонии, пользуясь микшером VPN каналов. В итоге хотелось бы получить городской номер из своей квартиры у себя в кармане, в смартфон. Для этого, как я понял будет достаточно "прикрутить" 2 VPN канала - один для смартфона (который, кстати, будет работать на 3G, получая интернет различных операторов, то на любом подвернувшемся Wi-Fi), - с Андроидом вроде всё подробно написано, хотя пока не пробовал, а второй канал, следует прикрутить к Centos... Я, как телефонист (нифига не разу, не линуксоид, но приходится вникать ;-) ) вижу, что в большинстве случаев Астер ставят, почему-то, на Centos (ранее 6, а сейчас уже и на 7 - логика одна). Телефонисты - народ бедный, поэтому работаем мы на том, что спи... списали. А это чаще всего старый pc, на который встаёт 6 Centos - 32 бита (реже 7 - он же 64 бита), без графической оболочки... Тут довольно подробно расписано, как это сделать на Linux Rasberi с помощью автоподгрузки файла настроек vpnki-ZXY.ovpn, и всё же Centos отличается. Первое, что бросается в глаза: это импорт 3-х ключей\сертификатов:
/etc/openvpn/easy-rsa/keys/ca.crt
/etc/openvpn/easy-rsa/keys/client.crt
/etc/openvpn/easy-rsa/keys/client.key
Если вам по какой-то причине не хочется возиться с ключами (как тут предлагается в личном кабинете) можно сделать client.ovpn файл, но только сами ключи запихнул внутрь. Это удобно по двум причинам:

1) Не нужно возиться с копированием целой стопки файлов
2) Лихо работает на мобильных устройствах
Вот как должен выглядеть файл

client
dev tun
dev-type tun
server-poll-timeout 4
ns-cert-type server
reneg-sec 604800
sndbuf 100000
rcvbuf 100000
auth-user-pass
proto udp
remote ams.vpnki.ru 1194 (сервер и порт?)
resolv-retry infinite
nobind

persist-key
persist-tun

mute-replay-warnings

<ca>
BEGIN CERTIFICATE
тело файла
END CERTIFICATE
</ca>

<cert>
BEGIN CERTIFICATE
тело файла
END CERTIFICATE
</cert>

<key>
BEGIN PRIVATE KEY
тело файла
END PRIVATE KEY
</key>

key-direction 1
remote-cert-tls server
cipher AES-128-CBC

comp-lzo
verb 3

Вот тут-то я и запутался ;-) если посмотреть на скаченный файл, для импорта настроек, то в нём, как буд-то бы лежит первый - сертификат файл - ca.crt? Не так ли? И Второй - ключ - соответствует файлу client.key
<ca>
BEGIN CERTIFICATE
ZXYXZXYXZXYXZXYXZXYXZXYX
END CERTIFICATE

BEGIN OpenVPN Static key V1
abcd10abcd10abcd10abcd10abcd10
END OpenVPN Static key V1
Вопрос, правильно ли "угадан"-ы файлы, которые требует Centos? И где найти ещё один...

В дальнейшем, настройка vpnki-Centos, конечно, займёт своё место в разделе - "как настроить", а класс системы определит поток телефонистов, как наиболее часто пользующих, почему-то Centos. В любых проявлениях - сервис очень нужный. Спасибо!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
4 мес. 2 нед. назад #484 от admin
admin ответил в теме Персональная телефонная станция Астериск+Centos+OpenVPN
Телефонисты - народ бедный? :) Ну уж позвольте ....
Касательно сертификатов.
Честно говоря, я и сам забыл что и чему там соответствует, а вот мой коллега, который это помнит сейчас в отпуске и будет только только в понедельник.
Лично мне казалось, что:
между <key> и </key> действительно client.key,
между <cert> и </cert> это сертификат клиента, но у нас не используется авторизация по сертификату, а используется имя и пароль,
между <ca> и </ca> это центр сертификации, который, на самом деле и не сервер и не клиент, а центр сертификации, но в вашем случае это будет сертификат сервера ca.cert
Если я не напутал что-то то вы можете попробовать подключиться без client.cert - это должна быть рабочая конфигурация для openvpn
Но могу и ошибаться...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
4 мес. 2 нед. назад #485 от admin
admin ответил в теме Персональная телефонная станция Астериск+Centos+OpenVPN

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
4 мес. 2 нед. назад #486 от admin
admin ответил в теме Персональная телефонная станция Астериск+Centos+OpenVPN
Все почти так как я написал, но вот ответ моего коллеги (который в отпуске)

В нашем ovpn-файле имеется ca.crt и ta.key (опция tls-auth).

Мы не используем аутентификацию клиентов по сертификатам и потому нам не нужен client.crt или client.key. Вместо этого у нас логин/пароль. Мы могли бы сделать и то и другое, т.е. клиентские сертификаты + логин/пароль, но это было бы надругательством над здравым смыслом.

Если какой-то клиент OpenVPN зачем-то требует в конфигурации клиентский сертификат и отказывается принимать конфигурацию без него, то надо посмотреть на этого клиента. Но это сильно вряд ли.

Важно, что ta.key обязателен.

Если вы не можете влить готовый ovpn-файл и не можете сделать по инструкции для дебиана, то вам предстоит не только отговорить своего OpenVPN-клиента использовать клиентский сертификат, но и еще обучить его использовать tls-auth.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
4 мес. 2 нед. назад #487 от devid2017
devid2017 ответил в теме Персональная телефонная станция Астериск+Centos+OpenVPN

admin пишет: Телефонисты - народ бедный? :) Ну уж позвольте ....

- Грешно смеяться, над больными людьми (С) Увы, не всем так везёт - есть ещё люди, которые работаю в такой конторе - как МГТС ("лично я хожу на работу, только потому что, она меня облагораживает..."(C) )
Так вот, зато мне терять нечего...;-) Что касается сабжа - я слишком зачитался умных книг и статей - всё должно быть просто - импорт настроек должен происходить с Вашего файла - и точка. Но есть некие "нюансы", которые я сейчас опишу (сам для себя или в faq можно класть - проверив предварительно):

Centos 7 (можно было бы и 6 - думаю похоже будет)
Подключаем репозиторий EPEL
Для того чтобы установить OpenVPN – необходимо подключить EPEL-репозиторий (Extra Packages for Enterprise Linux):
1 $ yum -y install epel-release

Устанавливаем OpenVPN
1 $ yum -y install openvpn
Скачиваем файл-профиля из Л.К. - vpnki_name.ovpn, переименовываем его в client.conf и кладём по адресу /etc/openvpn. Туда же кладём файл credentials.txt – текстовый файл, я делал UTF8, в котором всего 2 строчки:
user1234
password
Сохраняем файл, он лежит в той же дир, что и client.conf. В client.conf редактируем строку «auth-user-pass»\ заменяем на «auth-user-pass credentials.txt». Теперь можно протестить:
openvpn /etc/openvpn
И если всё «ок», о чём можно будет убедится в л.к. «статистика» - появится подключение, (посмотреть статус подключения из Centos можно - systemctl status Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.)
Добавим OpenVPN в автозагрузку
теперь добавим это чудо в автозагрузку - systemctl enable Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.. Всё гасим – через 10 минут убеждаемся, в статистика – пропадает подключение – снова стартуем – должно появится…

Сами вопросы:
Всё делалось на машине с отстреленным IP-Tables, FirewallD и SELinux – со всем эти «барахлом», надо будет как-то жить (в л.к. указан адрес и порт UDP) – видимо в IP-Tables пойдёт этот порт, открытый на исходящие… Интересно, только его надо будет открыть?
Теперь ещё веселуха – когда тестировал с Windows соединением всё, со свистом, подцепилось из того же файлика профиля и в статистике «забегали» байты, при подключении… При подключении Centos – даже и не булькнуло – соединение есть, байты не движутся, даже когда Ваш сервер пингую… Может байты начнут расти, когда второе плечо соберу – VPN на мобильном телефоне, и их вместе смикширую? Возможно, также, Centos потребует настроить маршрутизацию к новому соединению (лес тёмный). В ifconfig теперь появился новый девайс - "tun0" - это наш туннель. Непонятно также, почему он кажет IP адрес такой же, как и у Вашего сервера - inet 172.1.....

Поскольку мой Centos уже «наелся» кривых патчей и я накидал разных версий софта, которые на нём конфликтуют, то буду его скоро переставлять – на новою систему попробую следовать своей же инструкции (например, при установке сдуру, я ещё и OPENVPN Server поднял – и он теперь в логах воняет сильно…).

P.S. Надеюсь опыт настройки такой схемы будет полезен - телефона всё-таки...

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
4 мес. 2 нед. назад #491 от admin
admin ответил в теме Персональная телефонная станция Астериск+Centos+OpenVPN
МГТС это жеж флагман... (правда, по-моему, идущий под воду из-за отношения к клиентам, ну да ладно) ... не об этом речь
Мои мысли по поводу ответов:
1. На исходящий трафик UDP, скорее всего, никаких специальных правил городить не нужно. Включайте свои фаерволы - все должно работать.
2. Насчет байтов в статистике. Статистика с интерфейсов снимается и публикуется после окончания пользовательской сессии. Это нормальная практика. Снимать ее в момент работы канала можно, но не имеет особенного смысла, так как биллинг нужен один раз и по факту. Думаю вы немного ошиблись строками когда смотрели на страницу статистики
3. Насчет адреса устройства TUN мне нужно посмотреть что там у меня, но сейчас нет возможности. Посмотрю чуть позже
4. Вот сервер openvpn лучше уберите, а то многое будет непонятным - где клиент, а где сервер и что они хотят

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Модераторы: mb