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

Бесконечная регистрация-vpn-mikrotik-nat

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

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

Ответить
koriston
Сообщения: 3
Зарегистрирован: 12 июл 2022, 04:34

Бесконечная регистрация-vpn-mikrotik-nat

Сообщение koriston »

Схема сети такая:
1. есть сервер с asterisk'ом, на нем поднят openvpn server 192.168.8.1/24
2. есть mirkotik, подключенный к openvpn (получает 192.168.8.10)
3. за микротом стоит cisco 7911 (получает локальный адрес 172.50.20.34)

С конфигом сервера вроде все в порядке, так как если поднять виртуалку 172.50.20.33 циска регистрируется и звонит, и принимает звонки.
При этом linphone и на телефоне, и на пк нормально работает при указанной схеме (адресация тоже 172.50.20, а сервер 192.168.8.1)

Видимо, что-то не так с прохождением трафика, но никак не могу догнать.

Со стороны сервера видно, что он доволен и отвечает корректно

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

04:33:02.382417 IP 192.168.8.10.49154 > 192.168.8.1.5060: SIP: REGISTER sip:192.168.8.1 SIP/2.0
04:33:02.383255 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: SIP/2.0 200 OK
04:33:02.383909 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:02.385147 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:02.883982 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:02.892100 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:03.883641 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:03.886804 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:05.883821 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:05.883837 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:05.883842 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:05.891997 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:05.892021 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:05.893110 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:05.902202 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:05.904309 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:06.385876 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:06.402970 IP 192.168.8.10.49154 > 192.168.8.1.5060: SIP: REGISTER sip:192.168.8.1 SIP/2.0
04:33:06.403443 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: SIP/2.0 200 OK
04:33:06.403936 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:06.892812 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:06.903924 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:07.888029 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:07.903327 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:09.883562 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:09.884101 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:09.884119 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:09.892256 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:09.892276 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:09.902401 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:09.903504 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:09.903521 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:10.385202 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: NOTIFY sip:5202@172.50.20.34:5060;transport=udp SIP/2.0
04:33:10.392976 IP 192.168.8.10.49154 > 192.168.8.1.5060: SIP: REGISTER sip:192.168.8.1 SIP/2.0
04:33:10.393512 IP 192.168.8.1.5060 > 192.168.8.10.49154: SIP: SIP/2.0 200 OK
Со стороны микрота это выглядит так:

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

9233	1002.089722	172.50.20.34	192.168.8.1	SIP	723	Request: REGISTER sip:192.168.8.1  (1 binding) | 
9234	1002.089753	172.50.20.34	192.168.8.1	SIP	723	Request: REGISTER sip:192.168.8.1  (1 binding) | 
9235	1002.089784	192.168.8.10	192.168.8.1	SIP	723	Request: REGISTER sip:192.168.8.1  (1 binding) | 
9236	1002.118244	192.168.8.1	192.168.8.10	SIP	645	Request: NOTIFY sip:5202@172.50.20.34:5060;transport=udp | 
9237	1002.118276	192.168.8.1	172.50.20.34	SIP	645	Request: NOTIFY sip:5202@172.50.20.34:5060;transport=udp | 
9238	1002.157201	192.168.8.1	192.168.8.10	SIP	643	Status: 200 OK  (1 binding) | 
9239	1002.157232	192.168.8.1	172.50.20.34	SIP	643	Status: 200 OK  (1 binding) | 
9240	1002.157295	192.168.8.1	192.168.8.10	SIP	645	Request: NOTIFY sip:5202@172.50.20.34:5060;transport=udp | 
9241	1002.157326	192.168.8.1	172.50.20.34	SIP	645	Request: NOTIFY sip:5202@172.50.20.34:5060;transport=udp | 
9242	1002.619307	192.168.8.1	192.168.8.10	SIP	645	Request: NOTIFY sip:5202@172.50.20.34:5060;transport=udp | 
9243	1002.619338	192.168.8.1	172.50.20.34	SIP	645	Request: NOTIFY sip:5202@172.50.20.34:5060;transport=udp | 
9244	1002.658326	192.168.8.1	192.168.8.10	SIP	645	Request: NOTIFY sip:5202@172.50.20.34:5060;transport=udp | 
9245	1002.658357	192.168.8.1	172.50.20.34	SIP	645	Request: NOTIFY sip:5202@172.50.20.34:5060;transport=udp | 
9246	1003.609466	192.168.8.1	192.168.8.10	SIP	645	Request: NOTIFY sip:5202@172.50.20.34:5060;transport=udp | 
9247	1003.609497	192.168.8.1	172.50.20.34	SIP	645	Request: NOTIFY sip:5202@172.50.20.34:5060;transport=udp | 
9248	1003.648360	192.168.8.1	192.168.8.10	SIP	645	Request: NOTIFY sip:5202@172.50.20.34:5060;transport=udp | 
9249	1003.648391	192.168.8.1	172.50.20.34	SIP	645	Request: NOTIFY sip:5202@172.50.20.34:5060;transport=udp | 
SIP ALG отключен. Интерфейс VPN за маскарадом. При этом пинги все ходят, порты nmap щупает.

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

add action=netmap chain=dstnat disabled=yes dst-address=192.168.8.10 dst-port=49000-50000 protocol=udp to-addresses=172.50.20.34 to-ports=49000-50000
add action=netmap chain=dstnat disabled=yes port=5060 protocol=udp src-address=192.168.8.1 to-addresses=172.50.20.34
Где-то мелочь упускаю?
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Бесконечная регистрация-vpn-mikrotik-nat

Сообщение ded »

Проблема в Микротике.
Судя по логу - ответ ОК на запрос REGISTER от cisco 7911 (кототрый получает локальный адрес 172.50.20.34) посылается сразу на два адреса:49154
9238 1002.157201 192.168.8.1 192.168.8.10 SIP 643 Status: 200 OK (1 binding) | - этот до телефона вряд ли доходит, тут NAT, а циско телефоны NAT не любят.
9239 1002.157232 192.168.8.1 172.50.20.34 SIP 643 Status: 200 OK (1 binding) | - этот возможно и приходит, но телефон его игнорирует, потому что запрос на сервер приходил с адреса IP 192.168.8.10 и порта 49154, прошло бы, если бы Микротик корректно отработал SIP ALG, но он выключен:
IP 192.168.8.10.49154 > 192.168.8.1.5060: SIP: REGISTER sip:192.168.8.1 SIP/2.0

Идеальная схема при удалённых подключений Cisco phones - VPN без НАТа, чистый роутинг.
koriston
Сообщения: 3
Зарегистрирован: 12 июл 2022, 04:34

Re: Бесконечная регистрация-vpn-mikrotik-nat

Сообщение koriston »

Идеальная схема при удалённых подключений Cisco phones - VPN без НАТа, чистый роутинг.
Я правильно понимаю, что речь про создание правила mangle на добавление метки роутинга на трафик телефона, а затем в маршрутах добавление маршрута для данной метки в интерфейс впн?
Не совсем понятно, как в этом случае ответ дойдет обратно
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Бесконечная регистрация-vpn-mikrotik-nat

Сообщение ded »

Не правильно. Маршрутизацию VPN надо проверить отдельно.
Центральная площадка с Астериск и удалённая площадка должны иметь внутренние адреса в разных подсетях, а не в одной. А у вас 192.168.8.1 на Астериске и 192.168.8.10 на удалённом телефоне. В одной подсети - это свичинг, а не роутинг.

Проблемы с SIP за НАТ лежат в двух плоскостях - на layer 3 и на layer 7 модели OSI.
То есть маршрутизация и уровень приложений. Правила mangle на добавление метки роутинга на трафик телефона решают проблемы только роутинга. Если между Астериск и удалённой площадкой точно всё ОК с VPN, то должно быть и с регистрацией всё ОК
Но если задампить и посмотреть внутри содержание пакетов сигнализации SIP, то в REGISTER и/или в INVITE From: 7911@172.50.20.34 ( а не From: 7911@192.168.8.10 )
иначе откуда Астериск узнал про REGISTER от 172.50.20.34?
koriston
Сообщения: 3
Зарегистрирован: 12 июл 2022, 04:34

Re: Бесконечная регистрация-vpn-mikrotik-nat

Сообщение koriston »

На удаленном телефоне 172 адрес. Так и получается, что сервер с атс на 192.168.8.1, клиент впн на микротике 192.168.8.10, при этом сам микротик 172.50.20.1
Может есть пример правил, как сделать без мангла и роутмарка?
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH