Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Asterisk должен отвечать на двух IP адресах

3

Имеется Asterisk 1.6 на роутере с двумя внешними IP адресами (два разных интернет провайдера для надёжности). Сам по себе роутинг в линуксе разруливается с помощью source route. SIP клиенты могут залогинется только к одному IP который подставляется при default route, на второй IP можно залогинется только если клиент использует TCP SIP. Смотрел SIP монитором, астериск получает UDP SIP регистрацию на IP#2 но сам отвечает подставляя IP#1. Как побороть это?

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

спросил 2012-06-06 08:16:03 +0400

nil Gravatar nil
41 4 2 4

12 Ответов

0

В sip.conf externip=0.0.0.0

ссылка удалить спам редактировать

ответил 2012-06-06 11:36:32 +0400

tsv91 Gravatar tsv91
55 9 1 8
http://bicnet.ru/
0

В данном случае, наверное, только используя externhost.
Только для этого нужно иметь доменное имя.
Если доменного имя нет, то можно использовать DinDNS или другие схожие сервисы.

ссылка удалить спам редактировать

ответил 2012-06-06 15:36:37 +0400

bolshoy_plohish Gravatar bolshoy_plohish
1358 21 16 37

Comments

externhost какая-то странная альтернатива. Две A записи для хоста указывать категорически нельзя, т.к. если один канал, то получится игра в рулетку. Как вариант - менять одну единственную A запись для хоста, но нужно учитывать, что бывают кэширующие днс сервера, которые будут держать в кэше старый адрес. В общем использование externhost во всех отношениях не есть хорошо. Проще менять externip при смене канала.

andy-none ( 2012-06-06 15:50:47 +0400 )редактировать

А при этом Asterisk передергивать не придется?

bolshoy_plohish ( 2012-06-06 16:32:32 +0400 )редактировать
0

в sip.conf:

externip= или externhost=

и соответственно обновлять при переключении провайдеров

ссылка удалить спам редактировать

ответил 2012-06-06 10:20:25 +0400

Olpag Gravatar Olpag
1884 3 4 29

Comments

В том то и задача чтобы можно было соединяться на оба IP всегда. Когда переключение канала происходит и default route меняется, то другой IP начинает работать.

nil ( 2012-06-06 10:38:10 +0400 )редактировать

Чисто теоретически - можно, но если asterisk будет не за натом. Тогда если убрать externip в пакетах должен проставляться IP адрес интерфейса, на который пришел запрос. А так даже и не знаю. Разве что при переключении канала - менять externip в файле...

andy-none ( 2012-06-06 13:36:29 +0400 )редактировать
0

Почему не дать разруливать это Камалии например?

ссылка удалить спам редактировать

ответил 2012-06-06 16:30:33 +0400

Zavr2008 Gravatar Zavr2008 flag of Russian Federation
2685 11 9 37
http://mh.otx.ru/
0

Боюсь что эта задача решается только установкой роутера отдельного.

ссылка удалить спам редактировать

ответил 2012-06-06 16:54:19 +0400

shakirov Gravatar shakirov flag of Russian Federation
1143 45 11 44
http://gammatelecom.ru/

Comments

Нука, расскажи ка идею подобной конснструкции, а то я что-то сообразить не могу.

bolshoy_plohish ( 2012-06-06 18:02:10 +0400 )редактировать

вроде как всё просто, на роутере сорсроутинг включаем и маппим порт (с двух внешних интерфейсов) на внутренний IP с астериском.

shakirov ( 2012-06-06 18:12:38 +0400 )редактировать

не пройдет. астериск будет показывать внеший адрес толко один.

meral ( 2012-06-07 00:33:47 +0400 )редактировать
0

это очень сложная задача. астериск за натом так работаьт не будет.ибо нужно это единицам из милионов.

можно решить используя семейство ser(kamailio/opensips) но это уровень "ГУРУ".

еще можно решить делая sipnat на ваших роутерах. тоже гуру, только в iptables.

простое решение только одно - сделать на внешнем vps relay/nat и пробросить openvpn.

ссылка удалить спам редактировать

ответил 2012-06-06 17:10:54 +0400

meral Gravatar meral flag of Ukraine
21228 23 18 169
http://pro-sip.net/

Comments

А для IAX есть решение?

bolshoy_plohish ( 2012-06-06 18:08:40 +0400 )редактировать

Asterisk не за NATом, роутер и есть Asterisk и у него 2 IP разных.

nil ( 2012-06-06 19:54:51 +0400 )редактировать

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

meral ( 2012-06-07 00:33:07 +0400 )редактировать
0

На FreeSWITCH вроде как можно реализовать такую задачу.
Поставить FreeSWITCH перед Asteris.
У меня, правда, с наскоку разобраться не получилось.:-)))

ссылка удалить спам редактировать

ответил 2012-06-07 05:23:03 +0400

bolshoy_plohish Gravatar bolshoy_plohish
1358 21 16 37
0

Ставим роутер с тремя портами. Два WAN (два провайдера) и один LAN (астериск). На рутере настраиваем маркировкой соединений, все что пришло через WAN1 - отдавать через WAN1, что через WAN2 отдавать через WAN2. На астериске будет соответвенно всего один адресс с одним маршрутом.

ссылка удалить спам редактировать

ответил 2012-06-06 22:33:04 +0400

alphil Gravatar alphil flag of Spain
500 10 4 14
http://www.damal.es/

Comments

угу. маркирование соединений это для меня чтото страшное. но все равно не будет работать. сами догадаетесь почему?)

meral ( 2012-06-07 00:31:30 +0400 )редактировать
0

Если провайдер работатет по TCP то можно слать на одного по tcp а на др по udp, тогда source адреса точно можно сделать разными

bindport=5060
bindaddr=X.X.X.X;
tcpbindaddr=Y.Y.Y.Y
transport=tcp
ссылка удалить спам редактировать

ответил 2012-06-07 09:04:52 +0400

Zavr2008 Gravatar Zavr2008 flag of Russian Federation
2685 11 9 37
http://mh.otx.ru/
0

Астериск тут не причем. у вас дефолтный маршут выходит через IP1, соответственно когда приходит пакет на IP2, выйдет он через IP1. Как вариант прописать маршуты для подсети для IP2. Но в любом случае будет работать только один. Чтобы отвечало с того интерфейса откуда пришел, нужно настраивать iptables и route.

ссылка удалить спам редактировать

ответил 2012-06-07 11:25:31 +0400

brost Gravatar brost flag of Russian Federation
100 12 2 12
http://asterisk-system.ru...

Comments

:-) Что-то новенькое!

Здесь вот почитай для начала:

http://tools.ietf.org/html/rfc2543

bolshoy_plohish ( 2012-06-07 12:32:51 +0400 )редактировать

Другое дело, как можно перехватить пакеты и поправить на лету заголовки?

bolshoy_plohish ( 2012-06-07 12:42:58 +0400 )редактировать

пересылкой пакетов согласно маршрутам занимается OS. Если в sip.conf настроен bindaddr=0.0.0.0., а у сервера два белых ИП.то настраивать нужно маршрутизацию. поправьте если я ошибаюсь.

brost ( 2012-06-07 13:07:58 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку
1 закладка

подписаться на rss ленту новостей

Статистика

Задан: 2012-06-06 08:16:03 +0400

Просмотрен: 2,396 раз

Обновлен: Jun 07 '12

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.