URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 93691
[ Назад ]

Исходное сообщение
"2 шлюза на одной машине "

Отправлено Oleg , 16-Авг-12 09:42 
Здравствуйте!

Есть машина под ubuntu в локалке. Есть 2 шлюза - 10.0.0.1 и 10.0.0.2. На обоих нат.
на машине подняты 2 сетевых интерфейса eth0:0 (10.0.0.3) и eth1 (10.0.0.4).
10.0.0.1 - не имеет внешнего прямого IP, но через него должно ходить все. И в общем ходит :)
10.0.0.2 - имеет внешний прямой IP. На нем проброс портов - 80 и для Asterisk 5060 и 10000-12000 udp. Порты проброшены на 10.0.0.4.
Настроена вторая таблица маршрутизации, создано правило для пакетов, приходящих и уходящих с 10.0.0.4, дабы использовать эту таблицу. Apache работает. Asterisk нет.
Команд диагностики не знаю, и вообще по этой теме мало инфы в инете.

В идеале даже не нужно 10.0.0.4. Достаточно одного IP, главное чтобы пакеты приходящие от Asterisk и от Apache.

Наверное надо всем пакетам от Asterisk с помощью iptables добавлять fwmark, и пихать их во вторую таблицу. Но почему то fwmark по owner id не работает.

Как хотя бы посмотреть какие пакеты ходят через вторую таблицу... Совсем запутался...


Содержание

Сообщения в этом обсуждении
"2 шлюза на одной машине "
Отправлено 1 , 16-Авг-12 11:25 
давай посмотрим твои таблицы и правила (rule) маршрутизации

"2 шлюза на одной машине "
Отправлено 1 , 16-Авг-12 11:34 
да и посмотри tcpdump куда уходят пакеты от астериска. может они нормально уходят и дело в чем нить другом.
tcpdump великая вещь :) когда более менее понял как ею пользоваться.



"2 шлюза на одной машине "
Отправлено parad , 16-Авг-12 11:46 
тут народ верно подсказал - используй тцпдамп.
а увидишь ты - разницу между тцп и удп. в случае тцп - ип-стек знает куда отправлять пакеты в ответ - откуда пришли, в случае удп - заново просчитывается маршрут доставки пакетов - через дефолтный шлюз.

"2 шлюза на одной машине "
Отправлено 1 , 16-Авг-12 13:17 
т.е. для udp не будет работать что то типа
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
?

"2 шлюза на одной машине "
Отправлено 1 , 16-Авг-12 13:19 
и как тогда icmp возвращает?

"2 шлюза на одной машине "
Отправлено reader , 16-Авг-12 21:58 
> т.е. для udp не будет работать что то типа
> -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
> -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
> ?

будет, но это реализует iptables своими методами ,а не по rfc


"2 шлюза на одной машине "
Отправлено 1 , 16-Авг-12 14:15 
правда не работает, проверял с помощью iperf -u. сервер 2 прова ( там iperf server), что самое интересное на одном интерфейсе отвечает на другом - вообще пакеты не уходят ни на один пров, хотя первый пакет от клиента принимает и говорит что connected

"2 шлюза на одной машине "
Отправлено And , 16-Авг-12 21:31 
Можно в iptables добавить правило для записи в лог. Может быть, установить в правиле ограничение на скорость записи в лог, что бы не захламлять логи. Можно добавить несколько таких правил, до и после строки вызывающей вопросы.

И посмотреть как оно соотносится с ожиданиями, с результатами tcpdump. tcpdump - на всех машинах...


"2 шлюза на одной машине "
Отправлено reader , 16-Авг-12 21:56 
> тут народ верно подсказал - используй тцпдамп.
> а увидишь ты - разницу между тцп и удп. в случае тцп
> - ип-стек знает куда отправлять пакеты в ответ - откуда пришли,
> в случае удп - заново просчитывается маршрут доставки пакетов - через
> дефолтный шлюз.

при обоих протоколах ответ пойдет согласно таблиц маршрутизации, только при tcp адресом источника будет ip на который был получен пакет, а при udp может быть адрес интерфейса с которого отправляется ответ и отличаться от ip на который пришол пакет, зависит от ПО.