LINUX.ORG.RU
ФорумAdmin

Настройка роутинга

 


0

1

Добрый день. Предупрежу сразу. я с Linux глубоко на Вы!!! Поэтому извиняйте если будут тупые вопросы. Суть проблемы вот в чем. Есть Сервер Linux (FreePBX). На нем крутится Asterisk. Есть два интерфейса. Вот вывод ifconfig:

[root"lосаlhost~]# ifconfig

eth0 Link encap:Ethernet HWaddr 00:15:5D:IE:0A:32

inetaddr:192.168.30.20 Beast:192.168.30.255 Mask:255.255.255.0

inet6addr: fe80::215:5dff:fele:a32/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU :1500 Metric:1

RX packets:7189710 errors:0 dropped:0 overruns:0 frame:0

TX packets:800869 errors:0 dropped:0 overruns:0 carrier:0

col 1 is ions:0 txqueuelen:1000

RX bytes:843087298 (804.0 MiB) TX bytes:109235146 (104.1 MiB)

eth1 Link encap:Ethernet HWaddr 00:15:5D:IE:0A:33

inetaddr:10.220.103.206 Beast:10.220.103.207 Mask:255.255.255.252

inet6addr: fe80::215:5dff:fele:a33/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU :1500 Metric:1

RX packets:654096 errors:0 dropped:0 overruns:0 frame:0

TX packets:660988 errors:0 dropped:0 overruns:0 carrier:0

col 1 is ions:0 txqueuelen:1000

RX bytes:52345035 (49.9 MiB) TX bytes:110481300 (105.3 MiB)

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU :65536 Metric:1

RX packets:834960 errors:0 dropped:0 overruns:0 frame:0

TX packets:834960 errors:0 dropped:0 overruns:0 carrier:0

col 1 is ions:0 txqueuelen:0

RX bytes:158357262 (151.0 MiB) TX bytes:158357262 (151.0 MiB)

По интерфейсу eth1 работает sip телефония. Интерфейс eth0 сейчас работает только по локалке. вот вывод команды route -n:

[rootQlocalhost ~]tt route -n

Kernel IP routing table

Destination Gateway Genmask Flags Metric Ref Use Iface

10.220.103.204 0.0.0.0 255.255.255.252 U 0 0 0 eth1

192.168.30.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0

169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1

0.0.0.0 10.220.103.205 0.0.0.0 UG 0 0 0 eth1

мне необходимо вывести интерфейс eth0 в интернет через роутер. Если я добавляю default gw 192.168.30.1, то у меня сразу отваливается канал sip. я так понимаю что надо настроить роутинг. чтобы sip шел с адреса 10.220.103.204 через шлюз 10.220.103.205, а все остальное с адреса 192.168.30.20 через шлюз 192.168.30.1

подскажите пожалуйста как правильно настроить такой роутинг.

Может так? ip route add 192.168.30.20 via 192.168.30.1

Sherman ()

Или сделать 192.168.30.1 роутом по умолчанию и добавить правило для 10.220.103.204, что бы он ходил через свой шлюз.

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

а как добавить правило для 10.220.103.204? И можно ли убрать шлюз по умолчанию 10.220.103.205? Или не стоит этого делать? Просто я добавлял маршрут для 10.220.103.204 вот так: route add 10.220.103.204 gw 10.220.103.205 sip работал. как только я добавил шлюз 192.168.30.1

route add default gw 192.168.30.1 eth0 тут же sip прерывается.

Barsilo ()

Узнай, какие адреса используются в телефонии и сделай до них маршрут через 10.220.103.205

ip route add $subnet1 via 10.220.103.205
ip route add $subnet2 via 10.220.103.205
...
После этого можно менять дефолтный маршрут на через 192.168.30.1

Также есть вариант с настройкой policy routing. Сетап в этом случае будет выглядеть так:

ip route add 10.220.103.204/30 dev eth1 table 200
ip route add default via 10.220.103.205 table 200
ip rule add to 10.220.103.206 table 200
ip rule add from 10.220.103.206 table 200
Но в этом случае надо будет настроить астериск, чтобы он использовал адрес 10.220.103.206 для исходящего трафика.

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

у меня в sip настройках на Asterisk указан host=10.220.0.2 externalip=10.220.103.206 localnet 192.168.30.0/24 И какой маршрут делать? Я немного непонимаю, так и писать $subnet1(2) или надо вместо этого прописать подсеть?

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

У тебя через eth1 уходит только транк до 10.220.0.2? Или там есть еще sip-клиенты, которые подключаются к астериску? Если только транк, то достаточно указать такой маршрут:

ip route add 10.220.0.2 via 10.220.103.205
Иначе тебе нужно узнать все адреса/подсети, которые используются для телефонии, и для каждой подсети добавить маршрут.

Я немного непонимаю, так и писать $subnet1(2) или надо вместо этого прописать подсеть?

Прописать подсеть.

Deleted ()
Ответ на: комментарий от Barsilo

понятно. а потом добавлять default gw 192.168.30.1?

Ага.

Для адреса 192.168.30.20 надо маршрут прописывать?

Нет, больше ничего не надо делать. Ради интереса, какой маршрут для 192.168.30.20 ты хотел сделать?

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

прописал маршрут ip route add 10.220.0.2 via 10.220.103.205 добавил шлюз route add default gw 192.168.30.1 eth0

sip работает нормально а вот 8.8.8.8 не пингуются

route -n

Destination Gateway Genmask Flags Metric Ref Use Iface

10.220.0.2 10.220.103.205 255.255.255.255 UGH 0 0 0 eth1

10.220.103.204 0.0.0.0 255.255.255.252 U 0 0 0 eth1

192.168.30.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0

169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1

0.0.0.0 192.168.30.1 0.0.0.0 UG 0 0 0 eth0

0.0.0.0 10.220.103.205 0.0.0.0 UG 0 0 0 eth1

что не так?

Barsilo ()
2 августа 2017 г.
Ответ на: комментарий от Deleted

и эти команды будут выполняться при каждом запуске сервера? Их надо просто списком прописать?

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

Да, при каждом запуске. Пиши как писал бы в командную строку, одна строка - одна команда.

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