AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

Два IP адреса на одном сетевом интерфейсе. Помогите с проблемой!

Newbies/FAQ Forum 27 сообщений -
#1

Два IP адреса на одном сетевом интерфейсе. Помогите с проблемой!


Добрый день!
Подскажите, как решить такую проблему: имеется Астериск 1.8.30 с одним сетевым интерфейсом, на котором назначены адреса IP1 и IP2.
И почему то, когда INVITE оператора приходит на IP1, то ответ 100 TRYING уже отправляется с IP2!

Что можно с этим сделать?
#2

ну для начала показать настройки сетевой карты и роутинга
_________________
платный суппорт по мере возможностей
#3

На интерфейсе назначено 2 IP:

auto eth0:0 iface eth0:0 inet staticaddress 192.168.137.3 netmask 255.255.255.0 gateway 192.168.137.1
auto eth0:1 iface eth0:1 inet staticaddress 192.168.137.4 netmask 255.255.255.0 gateway 192.168.137.1

А какой именно роутинг показывать?
#4

А какой тайный смысл в такой настройке сетевого интерфейса? Ладно были бы разные подсети, а так немного непонятно...
#5

На самом деле, на интерфейсе прописано два внешних адреса.
Данный конфиг фиктивный, и указан здесь для примера.
#6

Используйте для этого route с жестким указанием направлений
_________________
P4 3.0 + 1Gb CentOS 5.8 Aster 1.8.16
Не люблю gui-сборки: натуральный продукт вкуснее.
И еще: я ПРОФИ так как НЕ ЛЕНЮСЬ читать литературу.
#7

два внешних IP и оба за NAT? ужаснах. Не умеет Астер это правильно..
можно сделать костыль, вывесить его на внешние статические IP.

_________________
http://mh.otx.ru Гибкие SIP/E1 шлюзы Alvis. SIP-Модернизация LDK/TDA:VoIP, Добавь E1 к Asterisk.
UPDATE! Теперь и T.38! Скидки для форумчан!!
#8

А можно пример привести в общем виде, если не затруднит?

Схема такая: IPa IP1
IPb IP2

IPa, IPb удаленные, находятся на оборудовании провайдера. IP1, IP2 находятся на одном физ. интерфейсе моего сервера.
#9

serg128 @ Вт Окт 28, 2014 13:03 писал(а):
А можно пример привести в общем виде, если не затруднит?

Схема такая: IPa IP1
IPb IP2

IPa, IPb удаленные, находятся на оборудовании провайдера. IP1, IP2 находятся на одном физ. интерфейсе моего сервера.


Создаем файлик /etc/sysconfig/network-scripts/route-"имя интерфейса"

В нём прописываем:

IPa/32 via ШлюзIP1
IPb/32 via ШлюзIP2

Вроде так

_________________
С уважением, DarkUser.
#10

Спасибо, а как быть если ШлюзIP1 = ШлюзIP2? Адреса из одной подсети.
Где такой скрипт хранится в ubuntu?
#11

* там 1 стоит или 2?
Если два то приколотить каждый * к отдельному IP в конфиге * bindadr externalip.
Если 1 то не получится.

Или я чет не понимаю в данном описании.
#12

а проблема у вас всего лишь - в двух gateway

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

_________________
платный суппорт по мере возможностей
#13

Возможно ввел в заблуждение некоторых участников, но попытаюсь объяснить все с начала:

На данный момент имеем уже две сетевые карты. Каждой, на интерфейсы eth0 и eth1 соответственно установлен внешний IP1 и IP2.
Эти IP1 и IP2 принадлежат одному провайдеру, соответственно Gateway у них общий, т.е. один. Назовем его IP_gw.

Вторая сетевуха ситуацию некоим образом не решила, Asterisk тупит!
#14

Это не тупит, это просто маршрутизацию надо правильно настраивать.
#15

Цитата:
Это не тупит, это просто маршрутизацию надо правильно настраивать


Возможно. А как ее настроить?

Added after 2 hours 34 minutes:

Запутался окончательно...
Вот все, что есть:

Код:


root@motor:~# netstat -r
Таблица маршутизации ядра протокола IP
Destination Gateway Genmask Flags MSS Window irtt Iface
default 62.xxx.yyy.190 0.0.0.0 UG 0 0 0 eth0
62.xxx.yyy.160 * 255.255.255.224 U 0 0 0 eth2
62.xxx.yyy.160 * 255.255.255.224 U 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth1




/etc/network/interfaces

Код:


# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
iface eth0 inet static
address 62.xxx.yyy.163
netmask 255.255.255.224
gateway 62.xxx.yyy.190
dns-nameservers 8.8.8.8
auto eth0

# local interface
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
auto eth1


iface eth2 inet static
address 62.xxx.yyy.165
netmask 255.255.255.224


#16

Я бы на месте сервера тоже запутался:
Цитата:
Код:
62.xxx.yyy.160 * 255.255.255.224 U 0 0 0 eth2
62.xxx.yyy.160 * 255.255.255.224 U 0 0 0 eth0

Два интерфейса в одну и туже подсеть.
Если вам нужен второй адрес из этой же подсети, то добавьте его alias`ом на этот же интерейс или повесьте его на lo0 или на lo1, а прова попросите пророутить второй через первый. В обоих случаях адрес добавлять с маской /32, например 62.xxx.yyy.165/32
#17

Сделал алиасом через /32 маску - сеть вообще пропала.
В итоге сделал алиасом с родной /27 маской. Сеть заработала, оба внешних IP стали активными.


НО, в результате этого наблюдаю такую картину (IP1=eth0, IP2=eth0:0):
Код:

IPa ---REGISTER---> IP2
IPa
#18

Цитата:
Сделал алиасом через /32 маску - сеть вообще пропала.

как добавляли ?
что при этом видно в:
Код:
# ifconfig -a

Код:
# netstat -r


Цитата:
Asterisk заставить отвечать с того же адреса, на который ему пришел запрос?

Астериск 2 сетевых интерфейса
#19

Задавал так:

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 62.xxx.yyy.163
netmask 255.255.255.255
gateway 62.xxx.yyy.190
dns-nameservers 8.8.8.8

# local interface
auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0

# alias
auto eth0:0
iface eth0:0 inet static
address 62.xxx.yyy.165
netmask 255.255.255.255


Что было прописано в выводе тех команд - незнаю, т.к. отстрелило сеть и я вернул все назад.
#20

Цитата:
address 62.xxx.yyy.163
netmask 255.255.255.255
address 62.xxx.yyy.165
netmask 255.255.255.255

не удивительно что "отстрелило", вы же оба адреса с маской /32 добавляете. уфф... пригласите системного администратора, он вам поможет, т.к. это азы работы сети
#21

а разве 255.255.255.255 и /32 не одно и то же?
#22

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

почему сеть отстрелило понял. другой вопрос - как правильно надо было прописать?
#24

Что-то здается мне что ему нужен multiple routing.
serg128
Вот посмотри http://lartc.org/howto/lartc.rpdb.multiple-links.html, в этом случае ОС всегда будет отвечать по тому интерфейсу(адресу на интерфейсе) на который пришел пакет.
#25

serg128 писал(а):
как правильно надо было прописать?

Так как я выше писал, один адрес с выданной маской /27, другой с /32.
Для FreeBSD было бы так:
Код:
ifconfig IFACENAME 62.xxx.yyy.163/27
ifconfig IFACENAME add 62.xxx.yyy.190/32

Где IFACENAME это имя нужно интерфейса.

_Pavel_ писал(а):
Что-то здается мне что ему нужен multiple routing.

Это когда провы разные и соответсвенно ипы из разных подсетей и шлюза два. А у него то пров один и опа ипа из одной подсети.
#26

Но только 62.xxx.yyy.190 это gateway.

Я правильно понимаю, что финальный вариант будет выглядеть так:
Код:

ifconfig IFACENAME 62.xxx.yyy.163/27
ifconfig IFACENAME add 62.xxx.yyy.165/32
route add default gateway 62.xxx.yyy.190
#27

ну да, ессно, просто копипаст меня подвел, не тот ип скопировал.