Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Конфигурация и настройка / Asterisk и iptables

Asterisk и iptables

помогите разобраться
1 23>
Откуда: Almaty, Kazakhstan
Сообщений: 64

Asterisk и iptables

Добрый день уважаемые форумчане, т.к. мне здесь помогли уже в двух моих самых сложных для меня вопросах, решил обратиться к знатокам т.е. к Вам.

в общем есть АстерискNOW) создал файл

fw

основываясь на многочисленных ошибках и решениях, в нем написал следующее

#!/bin/sh
INET="0.0.0.0/0"
INT="192.168.10.99"
EXT="XXX.XXX.XXX.XXX"
LOCAL="192.168.10.0/24"
ADMIN="192.168.10.136"
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD

#denied traffic for all
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

#allowed trafic for port 22
iptables -A INPUT -p TCP --source-port 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p TCP --source-port 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p TCP --destination-port 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p TCP --destination-port 22 -m state --state NEW,ESTABLISHED -j ACCEPT

#allowed traffic for SIP phones which located behind NAT
iptables -A INPUT -p UDP -m udp --dport 8766:35000 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p UDP -m udp --dport 8766:35000 -m state --state NEW,ESTABLISHED -j ACCEPT

#SIP for local users
iptables -A INPUT -p UDP -m udp --dport 5060:5070 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p UDP -m udp --dport 5060:5070 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p UDP -m udp --sport 5060:5070 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p UDP -m udp --sport 5060:5070 -m state --state NEW,ESTABLISHED -j ACCEPT

#manager account acces
iptables -A INPUT -p TCP -s $ADMIN --sport 5038 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p TCP -d $ADMIN --sport 5038 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p TCP -s $ADMIN --dport 5038 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p TCP -d $ADMIN --dport 5038 -m state --state NEW,ESTABLISHED -j ACCEPT

#Port 80 for administrator
iptables -A INPUT -p TCP -s $ADMIN --sport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p TCP -d $ADMIN --sport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p TCP -s $ADMIN --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p TCP -d $ADMIN --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
#iptables -A INPUT -d $ADMIN -m state --state NEW,ESTABLISHED -j ACCEPT
#iptables -A OUTPUT -s $ADMIN -m state --state NEW,ESTABLISHED -j ACCEPT

#Security Rules
#iptables -A INPUT -p tcp --syn -m limit --limit 1/s -j ACCEPT
#iptables -A INPUT -p tcp --syn -j DROP





SIP телефоны регистрируются, звонят, но я слышу абонента, а он меня нет.
какое или какие правила нужно добавиться чтобы остаться защищенным на внешнем ip адресе, при том чтобы абонент слышал меня.


Спасибо огромное.!
2009-11-23 07:08

Сообщений: 13

Re: Asterisk и iptables

http://www.voip-info.org/wiki/view/Asterisk+firewall+rules

Посмотри там где RTP
2009-11-23 08:43

Откуда: Almaty, Kazakhstan
Сообщений: 64

Re: Asterisk и iptables

zmc:

http://www.voip-info.org/wiki/view/Asterisk+firewall+rules

Посмотри там где RTP
вот здесь?

# RTP - the media stream
iptables -A INPUT -p udp -m udp --dport 10000:20000 -j ACCEPT

так у меня этот диапазон вот здесь попадает в разрешенные

#allowed traffic for SIP phones which located behind NAT
iptables -A INPUT -p UDP -m udp --dport 8766:35000 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p UDP -m udp --dport 8766:35000 -m state --state NEW,ESTABLISHED -j ACCEPT

есть идеи?
2009-11-23 18:44

Сообщений: 866

Re: Asterisk и iptables

ну для начала
iptables -L INPUT
а то кто же знает загрузили ли вы эти правила и принялись ли они.

далее, у вас canreinvite ао что стоит? может у вас телефоны напрямую пытаются общаться. поставьте в no чтобы медиа через астериск шел.

потом tcpdump в руки и смотрите что происходит.
2009-11-23 18:58

Сообщений: 13

Re: Asterisk и iptables

Я так полагаю, что у вас в /etc/asterisk/rtp.conf rtpstart и rtpend, соответственно 8766,35000, посмотрите может чего.

А вообще dimas правельно написал, к тому же если выше приведенные правила не все, то хотелось бы посмотреть весь список для определения общего контекста.

А так вообще поставте перед:
iptables -A INPUT -p UDP -m udp --dport 8766:35000 -m state --state NEW,ESTABLISHED -j ACCEPT

что то вида:
iptables -A INPUT -p UDP -m udp --dport 8766:35000 -m state --state NEW,ESTABLISHED -j LOG --log-prefix "RTP-TRAF: "

Звоните, если правила rtp отрабатывают, то в /var/log/syslog должны быть записи, ну вообщем стандартно tail -f /var/log/syslog | grep "RTP-TRAF"

Если же нет то ...
А так на вскитку, не знаю может у UDP определения сессии нет это же не TCP все же, попробуйте состояние сесси убрать.



2009-11-24 07:54

Сообщений: 13

Re: Asterisk и iptables

Забыл совсем, а * на том же компе где и фаерволл, так на всякий случай :-)
2009-11-24 07:56

Откуда: Almaty, Kazakhstan
Сообщений: 64

Re: Asterisk и iptables

все заработали разговоры.. только при таком раскладе

iptables -A INPUT -p UDP -m udp --dport 8766:90000 -m state --state NEW,ESTABLISHED -j LOG --log-prefix "RTP-TRAF: "
iptables -A INPUT -p UDP -m udp --dport 8766:90000 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p UDP -m udp --dport 8766:90000 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p UDP -m udp --sport 8766:90000 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p UDP -m udp --sport 8766:90000 -m state --state NEW,ESTABLISHED -j ACCEPT


почему такой широкий диапазон?....
дело в том что я посмотрел на это
sip show peers
212/212 91.204.237.93 D N A 63318 OK (141 ms)
211/211 (Unspecified) 5060 UNKNOWN
210/210 (Unspecified) D 0 UNKNOWN
209/209 (Unspecified) D 0 UNKNOWN
208/208 (Unspecified) D 0 UNKNOWN
207/207 (Unspecified) D 0 UNKNOWN
206/206 (Unspecified) D 0 UNKNOWN
205/205 (Unspecified) D 0 UNKNOWN
204/204 (Unspecified) D N A 0 UNKNOWN
203/203 (Unspecified) D N A 0 UNKNOWN
202/202 (Unspecified) D 0 UNKNOWN
201/201 192.168.10.98 D 5060 OK (11 ms)
200/200 192.168.10.136 D 9528 OK (9 ms)
oktell-out/829 192.168.10.50 5060 Unmonitored
222/222 (Unspecified) D N A 0 UNKNOWN
demo/74010 217.15.180.50 N 5060 OK (23 ms)
829/829 192.168.10.50 D 5060 OK (20 ms)

телефон который работает через NAT получил такой 63318 порт.... это значит что это больше чем 35000 а тем более больше ччем 20000 а в /etc/asterisk/rtp.conf rtpstart и rtpend стоит у меня от 10000 до 20000 незнаю почему но что то мимо проходит трафик....

если есть идеи...будет супер!!!!



и еще вопрос.... в общем при таких настройках

iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 5038 -j ACCEPT
iptables -A INPUT -p udp --dport 4569 -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
iptables -A OUTPUT -p all -j ACCEPT


почему то GUI не работает... открывается первая страница где я должен ввести пароль и все затыкается потом показывает ошибку. даже не знаю что с этим делать....может есть варианты?.... может какие то еще порты должны быть открыты для GUI(http://xx.xx.xx.xx)???

мое предположение...

первая страница открывается по принципу 80-ого порта, а дальше уже авторизация и работа проходит по каким то портам... незнаю даже по каким точно... вот и мучаюсь....


а когда все разрешаю... все порты все делаю в общем ACCEPT то все работает...


Идеи?
2009-11-25 12:58

Откуда: Almaty, Kazakhstan
Сообщений: 64

Re: Asterisk и iptables

вот кстати мои lsof -i

[root@localhost ~]# lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
portmap 2227 rpc 3u IPv4 5961 UDP *:sunrpc
portmap 2227 rpc 4u IPv4 5962 TCP *:sunrpc (LISTEN)
rpc.statd 2256 root 3u IPv4 6066 UDP *:739
rpc.statd 2256 root 6u IPv4 6057 UDP *:736
rpc.statd 2256 root 7u IPv4 6074 TCP *:netrcs (LISTEN)
sshd 2568 root 3u IPv6 6731 TCP *:ssh (LISTEN)
cupsd 2606 root 4u IPv4 6794 TCP localhost.localdomain:ipp (LISTEN)
cupsd 2606 root 6u IPv4 6797 UDP *:ipp
mysqld 2717 mysql 10u IPv4 6950 TCP *:mysql (LISTEN)
sendmail 2755 root 4u IPv4 7038 TCP localhost.localdomain:smtp (LISTEN)
httpd 2795 root 3u IPv6 7134 TCP *:http (LISTEN)
httpd 2856 apache 3u IPv6 7134 TCP *:http (LISTEN)
httpd 2857 apache 3u IPv6 7134 TCP *:http (LISTEN)
httpd 2858 apache 3u IPv6 7134 TCP *:http (LISTEN)
httpd 2859 apache 3u IPv6 7134 TCP *:http (LISTEN)
httpd 2860 apache 3u IPv6 7134 TCP *:http (LISTEN)
httpd 2861 apache 3u IPv6 7134 TCP *:http (LISTEN)
httpd 2862 apache 3u IPv6 7134 TCP *:http (LISTEN)
httpd 2863 apache 3u IPv6 7134 TCP *:http (LISTEN)
avahi-dae 2877 avahi 13u IPv4 7337 UDP *:mdns
avahi-dae 2877 avahi 14u IPv6 7338 UDP *:mdns
avahi-dae 2877 avahi 15u IPv4 7339 UDP *:50235
avahi-dae 2877 avahi 16u IPv6 7340 UDP *:35388
asterisk 2985 asterisk 8u IPv4 8761 UDP *:sip
asterisk 2985 asterisk 10u IPv4 8770 UDP *:iax
asterisk 2985 asterisk 11u IPv4 8772 TCP *:5038 (LISTEN)
op_server 3033 asterisk 4u IPv4 8882 TCP *:upnotifyp (LISTEN)
op_server 3033 asterisk 6u IPv4 36299 TCP localhost.localdomain:50662->localhost.localdomain:5038 (ESTABLISHED)
sshd 5412 root 3u IPv6 23629 TCP 192.168.10.99:ssh->192.168.10.136:49694 (ESTABLISHED)
httpd 17972 apache 3u IPv6 7134 TCP *:http (LISTEN)
httpd 26563 apache 3u IPv6 7134 TCP *:http (LISTEN)
2009-11-25 13:11

Сообщений: 76

Re: Asterisk и iptables

Тут некоторые строчки явно неверны.

#!/bin/sh
INET="0.0.0.0/0"
INT="192.168.10.99"
EXT="XXX.XXX.XXX.XXX"
LOCAL="192.168.10.0/24"
ADMIN="192.168.10.136"
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD

#denied traffic for all
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

#allowed trafic for port 22
Например тут, с чего это вы решили что клиент подключаясь к вашему ssh будет все данные отправлять с 22 порта? в 99% при подключении к серверу программисты при написании программы не задают константный порт и ос выбирает его сама случайно. Строчку удалить
#iptables -A INPUT -p TCP --source-port 22 -m state --state NEW,ESTABLISHED -j ACCEPT
Эти 2 строчки верны
iptables -A OUTPUT -p TCP --source-port 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p TCP --destination-port 22 -m state --state NEW,ESTABLISHED -j ACCEPT
Аналогично вышеописанному
#iptables -A OUTPUT -p TCP --destination-port 22 -m state --state NEW,ESTABLISHED -j ACCEPT

#allowed traffic for SIP phones which located behind NAT
iptables -A INPUT -p UDP -m udp --dport 8766:35000 -m state --state NEW,ESTABLISHED -j ACCEPT
Опять же вы можете задать с какого по какой порт будет использовать астериск но тут вы указываете что у телефона будут использоваться порты 8766:35000. Большинство телефонов конечно позволяет как и астериск позволяет задать такие рамки, но если вы этого не сделали или вам этого не нужно делайте привязку только к исходящим портам
#iptables -A OUTPUT -p UDP -m udp --dport 8766:35000 -m state --state NEW,ESTABLISHED -j ACCEPT
Правильней будет вот так
iptables -A OUTPUT -p UDP -m udp --sport 8766:35000 -m state --state NEW,ESTABLISHED -j ACCEPT


#Port 80 for administrator

Сдесь ниже аналогичные ошибки
Невидел браузера в котором можно задать что бы он подключался ко всем сайтам с 80-го порта, однако следующая строка разрешит доступ если подключение пойдёт с ip админ и с 80 порта.

iptables -A INPUT -p TCP -s $ADMIN --sport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

Дальше примеры приводить не буду тут одна и таже ошибка
2009-11-25 13:58

Сообщений: 76

Re: Asterisk и iptables

Эти 2 строчки верны
iptables -A OUTPUT -p TCP --source-port 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A INPUT -p TCP --destination-port 22 -m state --state NEW,ESTABLISHED -j ACCEPT

Нет тоже не совсем верны, у вас подключения идут к ssh значит ssh отвечает на запросы а не создаёт новое подключение NEW следует убрать
iptables -A OUTPUT -p TCP --source-port 22 -m state --state ESTABLISHED -j ACCEPT
2009-11-25 14:06

1 23>
Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru