URL: https://www.opennet.dev/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID10
Нить номер: 5401
[ Назад ]

Исходное сообщение
"Iptables и Виртуальная АТС"

Отправлено mutagen_spree , 14-Дек-16 07:57 
Доброго времени суток. В нашей конторе решили подключить Виртуальную АТС, от МТС. Имеется шлюз на Debian. При настройке файрвола возникли сложности. Порт 5060 вроде не понадобилось открывать, клиент регистрируется на сервере. А вот с RTP трафиком возникли проблемы. В интернете все пишут что надо открыть порты с 10000:20000   iptables -A INPUT -p udp -m udp –dport 10000:20000 -j ACCEPT. Но это не помогает. Перепробовал разные способы, не пойму куда девается трафик.
От их техподдержки помощи никакой добиться не удалось
З.Ы. Если политику по умолчанию для FORWARD сделать ACCEPT, то работает нормально.

Подскажите как быть. Заранее благодарен


Содержание

Сообщения в этом обсуждении
"Iptables и Виртуальная АТС"
Отправлено shadow_alone , 14-Дек-16 08:10 
Так тебе не INPUT, а FORWARD для этих портов нужно - это раз.

уменьши диапазон RTP портов на asterisk, полюбе тебе 10к портов не нужно, и сделай разрешение на них.

ну, или, если не asterisk, а конечные устройства у тебя, смотри у них в настройках диапазон RTP, и действуй в соответствии с этим.


"Iptables и Виртуальная АТС"
Отправлено mutagen_spree , 14-Дек-16 08:15 
> Так тебе не INPUT, а FORWARD для этих портов нужно - это
> раз.
> уменьши диапазон RTP портов на asterisk, полюбе тебе 10к портов не нужно,
> и сделай разрешение на них.

Дело в том что своего asteriska у меня нет, и я не пойму куда мне пробрасывать эти порты.


"Iptables и Виртуальная АТС"
Отправлено shadow_alone , 14-Дек-16 08:18 
> Дело в том что своего asteriska у меня нет, и я не
> пойму куда мне пробрасывать эти порты.

пробрасывать ничего никуда не надо, разрешите форвард для SIP и RTP - вот и всё

Только вначале выясните какие RTP порты на конечных устройствах настроены.


"Iptables и Виртуальная АТС"
Отправлено mutagen_spree , 14-Дек-16 09:27 
>> Дело в том что своего asteriska у меня нет, и я не
>> пойму куда мне пробрасывать эти порты.
> пробрасывать ничего никуда не надо, разрешите форвард для SIP и RTP -
> вот и всё
> Только вначале выясните какие RTP порты на конечных устройствах настроены.

Добавил -A FORWARD -p udp --dport 5060 -j ACCEPT и
-A FORWARD -p udp -m multiport --dports 10000:20000 -j ACCEPT.
В настройках sip-клиента указал Range of ports used for RTP 10000:20000

не заработало. iptables -L -n-v показывает:
Chain FORWARD (policy DROP 504 packets, 74867 bytes)
pkts bytes target     prot opt in     out     source               destination
14529   12M bad_tcp_pkts  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0
15561   13M ULOG       all  --  *      *       0.0.0.0/0            0.0.0.0/0            ULOG copy_range 0 nlgroup 1 queue_threshold 1
14856   13M ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    0     0 lan_inet   all  --  eth1   ppp0    0.0.0.0/0            0.0.0.0/0
  690 88893 lan_inet   all  --  eth1   eth2    0.0.0.0/0            0.0.0.0/0
    2  1174 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:5060
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            multiport dports 10000:20000
    0     0 allowed    tcp  --  ppp0   *       0.0.0.0/0            192.168.23.9         tcp dpt:443

получается через 5060 идут пакеты нормально, а по 10000:20000 не идут


"Iptables и Виртуальная АТС"
Отправлено серг , 14-Дек-16 09:42 
tcpdump  очень поможет

"Iptables и Виртуальная АТС"
Отправлено shadow_alone , 14-Дек-16 09:45 
это на IN FORWARD,
а на OUT?

вы ж не знаете RTP порты назначения...

-A FORWARD -p udp -m multiport -d IP.AD.DRE.SS --dports 10000:20000 -j ACCEPT.
-A FORWARD -p udp -m multiport -s IP.AD.DRE.SS --sports 10000:20000 -j ACCEPT.

IP.AD.DRE.SS - адрес клиента

и опять же, нахрена вам такой диапазон то в 10к?

если уж вы установили порты RTP на клиенте, нахрена такие то?
ну сделайте 10000-10020 - для одного клиента то.... нахрена 10к портов?


"Iptables и Виртуальная АТС"
Отправлено mutagen_spree , 14-Дек-16 10:01 
> это на IN FORWARD,
> а на OUT?
> вы ж не знаете RTP порты назначения...
> -A FORWARD -p udp -m multiport -d IP.AD.DRE.SS --dports 10000:20000 -j ACCEPT.
> -A FORWARD -p udp -m multiport -s IP.AD.DRE.SS --sports 10000:20000 -j ACCEPT.
>  IP.AD.DRE.SS - адрес клиента
> и опять же, нахрена вам такой диапазон то в 10к?
> если уж вы установили порты RTP на клиенте, нахрена такие то?
> ну сделайте 10000-10020 - для одного клиента то.... нахрена 10к портов?

Ну клиент то не один будет. А диапазон ставлю как на большинстве источников советуют. Провайдер не предоставил такой информации


"Iptables и Виртуальная АТС"
Отправлено shadow_alone , 14-Дек-16 10:03 
> Ну клиент то не один будет. А диапазон ставлю как на большинстве
> источников советуют. Провайдер не предоставил такой информации

Если вам посоветуют с балкона прыгнуть? Самому понять что столько портов для одного клиента нах не нужно, что не позволяет?

делайте правила без адреса тогда...


"Iptables и Виртуальная АТС"
Отправлено mutagen_spree , 14-Дек-16 10:12 
>> Ну клиент то не один будет. А диапазон ставлю как на большинстве
>> источников советуют. Провайдер не предоставил такой информации
> Если вам посоветуют с балкона прыгнуть? Самому понять что столько портов для
> одного клиента нах не нужно, что не позволяет?
> делайте правила без адреса тогда...

Все заработало, спасибо огромное!!! Уменьшил диапазон и добавил -A FORWARD -p udp -m multiport --sport 10000:10020 -j ACCEPT как вы сказали и вуаля.


"Iptables и Виртуальная АТС"
Отправлено shadow_alone , 14-Дек-16 10:17 
Сделай на разных клиентах разные диапазоны, например

1. 10000-10020
2. 10021-10040
3. 10041-10060
и так далее,
а потом открой FORWARD на весь диапазон
например, на 5 клиентов - 10000-10100