Здравствуйте!Есть машина под 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 не работает.
Как хотя бы посмотреть какие пакеты ходят через вторую таблицу... Совсем запутался...
давай посмотрим твои таблицы и правила (rule) маршрутизации
да и посмотри tcpdump куда уходят пакеты от астериска. может они нормально уходят и дело в чем нить другом.
tcpdump великая вещь :) когда более менее понял как ею пользоваться.
тут народ верно подсказал - используй тцпдамп.
а увидишь ты - разницу между тцп и удп. в случае тцп - ип-стек знает куда отправлять пакеты в ответ - откуда пришли, в случае удп - заново просчитывается маршрут доставки пакетов - через дефолтный шлюз.
т.е. для udp не будет работать что то типа
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
?
и как тогда icmp возвращает?
> т.е. для udp не будет работать что то типа
> -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
> -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
> ?будет, но это реализует iptables своими методами ,а не по rfc
правда не работает, проверял с помощью iperf -u. сервер 2 прова ( там iperf server), что самое интересное на одном интерфейсе отвечает на другом - вообще пакеты не уходят ни на один пров, хотя первый пакет от клиента принимает и говорит что connected
Можно в iptables добавить правило для записи в лог. Может быть, установить в правиле ограничение на скорость записи в лог, что бы не захламлять логи. Можно добавить несколько таких правил, до и после строки вызывающей вопросы.И посмотреть как оно соотносится с ожиданиями, с результатами tcpdump. tcpdump - на всех машинах...
> тут народ верно подсказал - используй тцпдамп.
> а увидишь ты - разницу между тцп и удп. в случае тцп
> - ип-стек знает куда отправлять пакеты в ответ - откуда пришли,
> в случае удп - заново просчитывается маршрут доставки пакетов - через
> дефолтный шлюз.при обоих протоколах ответ пойдет согласно таблиц маршрутизации, только при tcp адресом источника будет ip на который был получен пакет, а при udp может быть адрес интерфейса с которого отправляется ответ и отличаться от ip на который пришол пакет, зависит от ПО.