LINUX.ORG.RU
ФорумAdmin

VoIP&NAT


0

0

Не хотелось бы вникать в RTP и прочую гадость, поэтому задам вопрос:

Офисный VoIP-шлюз (192.168.0.250), сидящий за NAT, общается с внешним VoIP-сервером (1.2.3.4).

Имеется внешний реальный IP (5.6.7.8) на гейтвее.

Не долго думая, делаю соединения между своей VoIP-железякой и VoIP-сервером прозрачным:

iptables -t nat -A PREROUTING -i eth0 -s 1.2.3.4 -d 5.6.7.8 -j DNAT --to-destination 192.168.0.250
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT --to-source 5.6.7.8
(В filter всё разрешено)

Могу ли я получить какую-нить бяку при трансляции портов udp?

Инициализация самих звонков (не знаю, чем это сулит с точки зрения протокола) будет происхождить только изнутри. Т.е. никто во внешнем мире не будет звонить нам.

★★★

Последнее исправление: markevichus (всего исправлений: 1)

> Могу ли я получить какую-нить бяку при трансляции портов udp?

Да. Полную жопу с DNS например.

no-dashi ★★★★★
()
Ответ на: комментарий от gserg

Вопрос безопасности здесь какбэ опускаем.

markevichus ★★★
() автор топика
Ответ на: комментарий от as33

>Ну и нахрен тебе помогать?
Действительно...

markevichus ★★★
() автор топика

modprobe nf_nat_sip

лучше на гейтвее сделай и нать на здоровье

ну там проблемы могут быть ибо в sip описывается с каких адресов и как идут 2 rtp потока, я уж точно не помню

dimon555 ★★★★★
()
Ответ на: комментарий от markevichus

>Это сервер одного из VoIP-провайдеров московских.

Если это сервер SIP-провайдера, то у него наверняка поднят STUN-сервер, который можно использовать для работы через NAT.

А если у него еще и asterisk, то наверняка с включенной опцией nat=yes, так что работать через NAT должно без всяких дополнительных фокусов.

Это вообще теоретический вопрос или прямо сейчас стоит и не работает?

fagot ★★★★★
()
Ответ на: комментарий от fagot

Провайдер - orc.ru

К сожалению, это уже реальная проблема.
Набираю номер своего мобильного, находясь с офисного телефона. Поднимаю мобильный и не слышу в нём голоса, т.е. нет исходящего голоса с офисного телефона. То, что говорю в мобильный, прекрасно слышно в офисе.

Ядро на гейте старое (2.6.15). nf_nat_sip включён только с 2.6.18. Сейчас качаю новый кернел, чтобы попробовать сей модуль. Насколько я понимаю, netfilter каким-то образом сам распознаёт sip-трафик и от меня требуется просто настроить NAT.

Просмотрел tcpdump - нигде не увидел каких-либо проблем. Если моя VoIP-коробка посылает что-то с какого-то source port, то шлюз так его и оставляет на своём внешнем интерфейсе. Думаю, если бы таких коробочек у меня было несколько, то тут уже был бы port address translation, но у меня такой ситуации нет.

markevichus ★★★
() автор топика
Ответ на: комментарий от markevichus

>нет исходящего голоса с офисного телефона. То, что говорю в мобильный, прекрасно слышно в офисе.

В этом месте бы сначала проверил настройки Voip-шлюза.

Как вариант: выключить VOIP-шлюз, установить какой-то программный SIP-телефон (xlite, 3cxphone) и проверить с настройками SIP-провайдера работает ли при текущих настройках интернет-маршрутизатора.

fagot ★★★★★
()
Ответ на: комментарий от markevichus

скорее всего сервер на стороне провайдера ожидает rtp поток с private адреса твоего гейта, а после трансляции получается не приватный, на астериске можно было указать nat=yes(на стороне сервера), тогда этот адрес игноруруется, вообщем какие-то такие смутные воспоминания

dimon555 ★★★★★
()
Ответ на: комментарий от dimon555

НЕНАВИСТЬ! НЕНАВИСТЬ! НЕНАВИСТЬ!
На билай и мтс звонит. На мегафон и, видимо, некоторые стационарные номера - нет.
К сожалению, мой личный телефон (он же служил тестовым для работы с телефонией) мегафоновский.

markevichus ★★★
() автор топика
Ответ на: комментарий от markevichus

Я же писал, настройки voip-шлюза скорее всего кривые. Или SIP-оператор бестолковый (менее вероятно).

Проверить последнее софтфоном проще всего. После чего проверить приоритет кодеков, настройки reinvite'ов, отчеты об ошибках и/или спросить у провайдера «чозанах».

fagot ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.