VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

iax2 между серверами через OpenVPN

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

tem2016
Сообщения: 16
Зарегистрирован: 24 мар 2016, 15:58

Re: iax2 между серверами через OpenVPN

Сообщение tem2016 »

Еще раз добрый день.
Да, я в астериске совсем не эксперт,только учусь. Всего-то - прочитал библию Астериска от О'Рейли, поднял два сервера Астериска, настроил на одном звонки через СИП-провайдера и диалплан расписал, гордиться нечем. Первый раз настраиваю такую сложную связку - на одном сервере и белый IP по pppoe и OpenVPN-туннель и сам Asterisk. И я довольно сильно запутался. Потому и пробую то iax2 то sip, ведь если заработает один, то и второй вариант тоже будет работать. На данный момент остановился все же на SIP, с ним проходит звонок, но нет голоса, потому как в tcpdump из туннеля показывает, что клиент шлет RTP поток на внешний белый IP офисного Астериска. Почему так - понять пока не могу.
На сервере у меня
Got RTP packet from 192.168.1.117:10114 (type 08, seq 031869, ts 1709680732, len 000160)
Sent RTP packet to 10.0.0.17:12264 (type 00, seq 006522, ts 1709680728, len 000160)
Got RTP packet from 192.168.1.117:10114 (type 08, seq 031870, ts 1709680892, len 000160)
Sent RTP packet to 10.0.0.17:12264 (type 00, seq 006523, ts 1709680888, len 000160)
Got RTP packet from 192.168.1.117:10114 (type 08, seq 031871, ts 1709681052, len 000160)
Sent RTP packet to 10.0.0.17:12264 (type 00, seq 006524, ts 1709681048, len 000160)
Got RTP packet from 192.168.1.117:10114 (type 08, seq 031872, ts 1709681212, len 000160)
Sent RTP packet to 10.0.0.17:12264 (type 00, seq 006525, ts 1709681208, len 000160)
Got RTP packet from 192.168.1.117:10114 (type 08, seq 031873, ts 1709681372, len 000160)
Sent RTP packet to 10.0.0.17:12264 (type 00, seq 006526, ts 1709681368, len 000160)
Got RTP packet from 192.168.1.117:10114 (type 08, seq 031874, ts 1709681532, len 000160)
Sent RTP packet to 10.0.0.17:12264 (type 00, seq 006527, ts 1709681528, len 000160)
Got RTP packet from 192.168.1.117:10114 (type 08, seq 031875, ts 1709681692, len 000160)
Sent RTP packet to 10.0.0.17:12264 (type 00, seq 006528, ts 1709681688, len 000160)
Got RTP packet from 192.168.1.117:10114 (type 08, seq 031876, ts 1709681852, len 000160)
Sent RTP packet to 10.0.0.17:12264 (type 00, seq 006529, ts 1709681848, len 000160)
Got RTP packet from 192.168.1.117:10114 (type 08, seq 031877, ts 1709682012, len 000160)
Sent RTP packet to 10.0.0.17:12264 (type 00, seq 006530, ts 1709682008, len 000160)
А на клиенте:
Sent RTP P2P packet to 192.168.2.11:10060 (type 00, len 000160)
Sent RTP P2P packet to 7.7.7.7:11544 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10060 (type 00, len 000160)
Sent RTP P2P packet to 7.7.7.7:11544 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10060 (type 00, len 000160)
Sent RTP P2P packet to 7.7.7.7:11544 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10060 (type 00, len 000160)
Sent RTP P2P packet to 7.7.7.7:11544 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10060 (type 00, len 000160)
Sent RTP P2P packet to 7.7.7.7:11544 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10060 (type 00, len 000160)
Sent RTP P2P packet to 7.7.7.7:11544 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10060 (type 00, len 000160)
Sent RTP P2P packet to 7.7.7.7:11544 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10060 (type 00, len 000160)
Sent RTP P2P packet to 7.7.7.7:11544 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10060 (type 00, len 000160)
Sent RTP P2P packet to 7.7.7.7:11544 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10060 (type 00, len 000160)
Sent RTP P2P packet to 7.7.7.7:11544 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10060 (type 00, len 000160)
Sent RTP P2P packet to 7.7.7.7:11544 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10060 (type 00, len 000160)
Sent RTP P2P packet to 7.7.7.7:11544 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10060 (type 00, len 000160)
Sent RTP P2P packet to 7.7.7.7:11544 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10060 (type 00, len 000160)
Здесь 7.7.7.7 - внешний белый IP Астериска.
Почему шлет на белый - не понимаю. В описаниях пира-сервера в sip.conf стоит fromdomain=10.0.0.* соответственно концам VPN-тоннеля. Почему упорно на втором отправляется на белый IP? Возможно, потому что в офисе в sip.conf [general] прописано жестко externip=7.7.7.7? Как это можно поправить? Убрать нельзя, так как это требование провайдера телефонии...

Кстати, пока гуглил, нашел в рунете неоднократное упоминание ника awsswa - судя по всему, он очень грамотный специалист, хотя и временно официально нетрудоустроенный. Прочитал много интересного.
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: iax2 между серверами через OpenVPN

Сообщение awsswa »

Уже не безработный благодаря ded. Спасибо ему за это.
Правда работа не айс но ... лучше синица в руках.

Когда есть свободное время и меня штырит ... могу много чего напрограммировать.

Если шлет не туда - либо нету localnet= либо у вас маршруты в openvpn криво прописаны
платный суппорт по мере возможностей
vlego
Сообщения: 153
Зарегистрирован: 11 окт 2010, 13:54
Откуда: Moscow

Re: iax2 между серверами через OpenVPN

Сообщение vlego »

tem2016, У Вас проблемы, связаны не с настройкой астериск -на 98%, а с настройкой сервера и сети. Настроите верно вышесказаное и астериск у Вас правильно заработает. У Вас в настройках астериска - что только не понаписано..., простите - и без таких архитектурных излишеств должно все заработать, тем более по iax2. Если (а у Вас так и есть), - неправильно ходят пакеты, Вы будете неастраивать свою простенькую схему очень долго. Из серии - вызов слышу голос нет и наоборот, потом tcpdump до посинения смотреть, потом логи бесконечные выкладывать на форум и т.д.

Посмотрите маршруты через traceroute ... туда и обратно. Оч. полезно. Чудес - не бывает.
localnet = полезно прописать для каждого интерфейса (sip|iax), но если сетка работает некорректно - это как слону дробина. Если совсем туго с пониманием - куда пакетик пошёл, иногда полезно прикрыть порты на том интерфейсе , куда пакеты не должны попадать..., чтобы усугубить ситуацию ну и т.д. Либо схему свою упростите и стройте по частям, а так Вы с ума сойдете....
tem2016
Сообщения: 16
Зарегистрирован: 24 мар 2016, 15:58

Re: iax2 между серверами через OpenVPN

Сообщение tem2016 »

Да, дело действительно в настройке сети.
У меня еще пока понимания полного нет, как должен работать Астериск по VPN. То ли пробрасывать в тоннель локальный интерфейс астериска, то ли прописывать в sip.conf localnet=10.0.0.0/24/. В итоге выбираю второй вариант - пробую по нему, пусть работает через виртуальные интерфейсы tun0.
Я начал с трассировки. С обоих сторон в туннеле интерфейсы пингуются. Вот с клиента на сервер:
ping 10.0.0.1
PING 10.0.0.1 (10.0.0.1) 56(84) bytes of data.
64 bytes from 10.0.0.1: icmp_seq=1 ttl=64 time=2.87 ms
64 bytes from 10.0.0.1: icmp_seq=2 ttl=64 time=2.70 ms
64 bytes from 10.0.0.1: icmp_seq=3 ttl=64 time=2.67 ms
Вот с сервера на клиент:
ping 10.0.0.17
PING 10.0.0.17 (10.0.0.17) 56(84) bytes of data.
64 bytes from 10.0.0.17: icmp_seq=1 ttl=64 time=2.58 ms
64 bytes from 10.0.0.17: icmp_seq=2 ttl=64 time=2.63 ms
64 bytes from 10.0.0.17: icmp_seq=3 ttl=64 time=2.65 ms
64 bytes from 10.0.0.17: icmp_seq=4 ttl=64 time=2.58 ms
Далее я лезу в sip.conf и убеждаюсь, что в локальной сети у меня прописана сеть OpenVPN и сама локалка.
Клиент:
localnet=192.168.2.0/255.255.255.0
localnet=10.0.0.0/255.255.255.0
Сервер:
externip=7.7.7.7
localnet=192.168.1.1/255.255.255.0
localnet=10.0.0.0/255.255.255.0
Далее там же в sip.conf описание пира на клиенте:
host=10.0.0.1
fromdomain=10.0.0.17
Описание клиента на сервере:
host=10.0.0.17
fromdomain=10.0.0.1
При этом картина RTP Debug у меня сильно поменялась. Вот сервер, вроде работающий обмен RTP с телефоном (seq увеличивается, пакеты в обе стороны ходят, обмен идет) и отправка пакетов в тоннель:
Got RTP packet from 192.168.1.117:10120 (type 08, seq 017702, ts 1075358922, len 000160)
Sent RTP packet to 10.0.0.17:10984 (type 00, seq 044558, ts 1075358920, len 000160)
Sent RTP P2P packet to 192.168.1.117:10120 (type 00, len 000160)
Got RTP packet from 192.168.1.117:10120 (type 08, seq 017703, ts 1075359082, len 000160)
Sent RTP packet to 10.0.0.17:10984 (type 00, seq 044559, ts 1075359080, len 000160)
Sent RTP P2P packet to 192.168.1.117:10120 (type 00, len 000160)
Got RTP packet from 192.168.1.117:10120 (type 08, seq 017704, ts 1075359242, len 000160)
Sent RTP packet to 10.0.0.17:10984 (type 00, seq 044560, ts 1075359240, len 000160)
Sent RTP P2P packet to 192.168.1.117:10120 (type 00, len 000160)
Got RTP packet from 192.168.1.117:10120 (type 08, seq 017705, ts 1075359402, len 000160)
Sent RTP packet to 10.0.0.17:10984 (type 00, seq 044561, ts 1075359400, len 000160)
Sent RTP P2P packet to 192.168.1.117:10120 (type 00, len 000160)
Got RTP packet from 192.168.1.117:10120 (type 08, seq 017706, ts 1075359562, len 000160)
Sent RTP packet to 10.0.0.17:10984 (type 00, seq 044562, ts 1075359560, len 000160)
Sent RTP P2P packet to 192.168.1.117:10120 (type 00, len 000160)
Got RTP packet from 192.168.1.117:10120 (type 08, seq 017707, ts 1075359722, len 000160)
Sent RTP packet to 10.0.0.17:10984 (type 00, seq 044563, ts 1075359720, len 000160)
Sent RTP P2P packet to 192.168.1.117:10120 (type 00, len 000160)
А вот на клиенте у меня по прежнему картина непонятная:
Sent RTP P2P packet to 10.0.0.1:15652 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10064 (type 00, len 000160)
Sent RTP P2P packet to 10.0.0.1:15652 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10064 (type 00, len 000160)
Sent RTP P2P packet to 10.0.0.1:15652 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10064 (type 00, len 000160)
Sent RTP P2P packet to 10.0.0.1:15652 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10064 (type 00, len 000160)
Sent RTP P2P packet to 10.0.0.1:15652 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10064 (type 00, len 000160)
Sent RTP P2P packet to 10.0.0.1:15652 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10064 (type 00, len 000160)
Sent RTP P2P packet to 10.0.0.1:15652 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10064 (type 00, len 000160)
Sent RTP P2P packet to 10.0.0.1:15652 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10064 (type 00, len 000160)
Sent RTP P2P packet to 10.0.0.1:15652 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10064 (type 00, len 000160)
Sent RTP P2P packet to 10.0.0.1:15652 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10064 (type 00, len 000160)
Sent RTP P2P packet to 10.0.0.1:15652 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10064 (type 00, len 000160)
Sent RTP P2P packet to 10.0.0.1:15652 (type 00, len 000160)
Sent RTP P2P packet to 192.168.2.11:10064 (type 00, len 000160)
Sent RTP P2P packet to 10.0.0.1:15652 (type 00, len 000160)
То есть клиент пакеты отправлять отправляет, но ничего не получает в ответ. Буду дальше ковыряться.
awsswa
Сообщения: 2390
Зарегистрирован: 09 июн 2012, 10:52
Откуда: Россия, Пермь skype: yarick_perm

Re: iax2 между серверами через OpenVPN

Сообщение awsswa »

Двойка вам за это localnet=192.168.1.1/255.255.255.0

Подсказываю ваша сеть 192.168.2.х должна знать где сеть 192.168.1.х
платный суппорт по мере возможностей
vlego
Сообщения: 153
Зарегистрирован: 11 окт 2010, 13:54
Откуда: Moscow

Re: iax2 между серверами через OpenVPN

Сообщение vlego »

еще пара двоек
1) externip=7.7.7.7 -- Вы что... реально за натом ? openVPN это не совсем nat (грубо говоря)
2) Вы как и все, ищете неисправности при помощи астериска, при этом неверно настраиваете сервер и сеть.

Напоминаете человека, который купил новую машину, а вместо того чтобы ехать - начал дверь разбирать и смотреть что там внутри, а запчасти на форум выкладывать.
tem2016
Сообщения: 16
Зарегистрирован: 24 мар 2016, 15:58

Re: iax2 между серверами через OpenVPN

Сообщение tem2016 »

1. externip=7.7.7.7 - это белый IP офисного сервера, через который уже работает телефония от СИП-провайдера.
Задаем IP адрес, который будет использоваться, как IP адрес источника во всех SIP сообщениях, когда работаем с SIP клиентами, для которых указан параметр NAT в yes.
:oops: За каким я это написал, если у меня на данный момент нет клиентов за NAT? :oops: Удалил эту строку.
Двойка вам за это localnet=192.168.1.1/255.255.255.0
:oops: согласен. Исправил на 192.168.1.0/255.255.255.0
Подсказываю ваша сеть 192.168.2.х должна знать где сеть 192.168.1.х
Она знает, вот на клиенте:
netstat -nr
192.168.1.0 10.0.0.18 255.255.255.0 UG 0 0 0 tun0
192.168.2.0 0.0.0.0 255.255.255.0 U 0 0 0 enp4s0
Я вот чувствую, что решение где-то рядом и должен до него докопаться.
Во вложении лог звонка в Wireshark со стороны клиента на интерфейсе tun0:
Вложения
лог звонка в Wireshark со стороны клиента на интерфейсе tun0
лог звонка в Wireshark со стороны клиента на интерфейсе tun0
vlego
Сообщения: 153
Зарегистрирован: 11 окт 2010, 13:54
Откуда: Moscow

Re: iax2 между серверами через OpenVPN

Сообщение vlego »

почитайте http://forum.asterisk.ru/viewtopic.php?f=5&t=229 - сообщения от ded
может у вас разум прояснится. Если хотите, что то сказать дельное - рисуйте схему соединения сети, а не портянки кидайте. У вас уже шарк в ход пошел... так дело не сдвинется.
tem2016
Сообщения: 16
Зарегистрирован: 24 мар 2016, 15:58

Re: iax2 между серверами через OpenVPN

Сообщение tem2016 »

Ибо сети VPN не надо НАТить, они просто маршрутизируются.
Да, я уже понял, что у меня NAT нигде не используется, а опция externip только для него и нужна. Ее удалил.
Нарисовал рисунок, теперь и мне станет легче.
Вложения
Sxema.png
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: iax2 между серверами через OpenVPN

Сообщение ded »

Левая часть - 192.168.0.14, а ИП телефон там же - 192.168.1.115
Я всё правильно понимаю?
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH