[Решено] Asterisk и маршрутизация пакетов (несколько интерфейсов)
Далее, провайдер дает IP куда коннектиться сипом. IP этот вообще не и сети которую дал провайдер а глобальный, но ходить туда надо через тот кабель что дал провайдер. Я настраиваю маршрутизацию что бы принудительно пускать все пакеты на этот ip через настроенный на провайдера интерфейс. Все нормально работает, трейсроут ходит как надо.
А вот астериск почему то все равно ломится к провайдеру через глобальный канал. Такое ощущение что для него таблица маршрутизации это не писанное правило. Как бы ему объяснить как куда и через чего ходить. Ничего кроме определения сетей в конфигурации я не нашел.
Last edited by max73 on Fri Sep 16, 2011 23:20
Ну и вывод route.
Астериск не занимается маршрутизацией пакетов. Этим занимается ядро.
_________________
Asterisk 1.4.30 @ Ubuntu 9.04 + Cisco MC3810 + NEC NEAX 2000IPS + Polycom IP Phones
localnet=192.168.0.0/255.255.255.0
localnet=10.200.30.192/255.255.255.224
ну и таблица маршрутизации:
| Code: |
| xxxx@xxxx:/etc# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 90.290.20.34 10.200.30.193 255.255.255.255 UGH 0 0 0 eth2 90.20.190.40 0.0.0.0 255.255.255.248 U 0 0 0 eth0 10.200.30.192 0.0.0.0 255.255.255.224 U 0 0 0 eth2 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 0.0.0.0 10.200.30.193 0.0.0.0 UG 0 0 0 eth2 0.0.0.0 90.20.190.41 0.0.0.0 UG 0 0 0 eth0 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth1 |
говорит что то о чем то?
трейсроут ходит как по маслу через чего надо и куда надо
| Code: |
| 0.0.0.0 10.200.30.193 0.0.0.0 UG 0 0 0 eth2 0.0.0.0 90.20.190.41 0.0.0.0 UG 0 0 0 eth0 0.0.0.0 192.168.0.1 0.0.0.0 UG 0 0 0 eth1 |
пойду курить iproute2 и рисовать таблицы маршрутизации.
Блин, ну почему все не может быть просто.
| Code: |
| 10.200.30.0 10.200.30.193 255.255.255.0 UG 0 0 0 eth2 |
и только один дефолт роут
| Code: |
| sudo route add ip-сервера-провайдера gw шлюз-через-который вы подключаетесь |
Допустим это будет выглядеть так
| Code: |
| sudo route add 10.200.30.5 gw 10.200.30.1 |
где 10.200.30.5 - ip сервера телефонии провайдера
а 10.200.30.1 - шлюз провайдера
_________________
Gentoo, Asterisk 1.8.5, GSM
| Code: |
| 90.290.20.34 10.200.30.193 255.255.255.255 UGH 0 0 0 eth2 192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1 0.0.0.0 90.20.190.41 0.0.0.0 UG 0 0 0 eth0 |
итого:
1. Выход на IP-телефонию через нужный шлюз.
2. Работа с внутренней сеткой напрямую по интерфейсу.
3. Выход в интернет через шлюз интернет-провайдера.
То есть после полной очистки таблицы делаем следущее:
| Code: |
| #route add default gw 90.20.190.41 #route add host 90.290.20.34 gw 10.200.30.193 |
На 192.168.x.x само пропишется.
Это если я правильно понял, какие у вас шлюзы куда смотрят.
default via xxx.xxx.xxx.xxx в файле ipv4route
для всех интерфейсов, кроме 90.20.190.44
_________________
http://www.myipats.ru
Меня только беспокоит обновления системы. Если вдруг кто то решит эту подсистемку обновить и скрипты перепишутся из репозитария, от может пипец случиться.
Обычно я стараюсь настроить подобные системы исходя из логики дистрибутива, что бы все что мне надо укладывалось в общую концепцию. Тогда и обновления проходят гладко и вообще спокойненько.
Но не важно, сейчас мне главное проверить связь с провайдером.
Added after 1 hours 58 minutes:
не помогло
Added after 5 minutes:
а тем не менее traceroute почему то ходит по какому надо пути, и этот момент меня весьма бесит
Added after 6 minutes:
но больше всего бесит:
| Code: |
| xxx@xxx:~# ip route get to 90.290.20.34 90.290.20.34 via 10.200.30.193 dev eth2 src 10.200.30.212 cache mtu 1500 advmss 1460 hoplimit 64 |
ну что еще этой гадине надо то!!!!!?????? все же правильно понимает куда чего пихать
Added after 10 minutes:
а да, еще
там на этой машине еще один маршрут торчит, который ятту не стал приводить. Есть главный маршрутизатор, на него приходят многие vpn каналы, в том числе и моя домашняя сеть, ну чтоб удобно было рулить всем этим по IP а не пробросами портов. Так вот, маршрутик это работает и нормально работает. То есть все пакеты для сети 192.168.222.0/24 отсылает на главный маршрутизатор и тот уже их мне домой шлет. Я дома как бы на работе сижу, никаких проблем.
ТАК КАКОГО ХРЕНА ASTERISK НЕ ХОЧЕТ СЛАТЬ ПАКЕТЫ ВСЕГО ЛИШЬ ДЛЯ ОДНОГО IP ПО ТОМУ МАРШРУТУ КОТОРЫЙ Я ЕМУ УКАЗАЛ!!!!!!?
localnet=90.290.20.34/32
кстати, никто почему то не обратил внимание на 290 в адресе, чего не может быть в принципе.
но не важно, протсо всем на будущее надо учесть, если транк к провадеру идет таким хитрым способом, то есть ip провайдерского сервера не попадает в выделенную сеть, то надо его указывать как локальный, тогда астериск пошлет его как надо.
Added after 1 minutes:
да, и спасибо господам с ЖЖ, хоть я и наехал на одного из них, думал что троль такой. Оказалось что просто человек привык более детально описывать задави и не мог понять моих общих описаний.