The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"маршрутизация через iproute2, пакет уходит с ошибочным SRC I..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [ Отслеживать ]

"маршрутизация через iproute2, пакет уходит с ошибочным SRC I..."  +/
Сообщение от SVLD email on 05-Июл-09, 03:40 
Классика жанра:
- два провайдера
- один маршрут дефолтный, другой для "других нужд" отстроен по технологии set-mark/fwmark

Понадобилось SIP пробросить через второй инет (не дефолтный), делаю:
- в iptables -t nat PREROUTING завожу правило -s SIP_SERVER -j MARK --set-mark 0x2
- соответсвенно довожу до "ума" через ip ro add default IF_ISP2 via GW_ISP2 table ISP2
   плюс ip ru add fwmark 0x2 table ISP2

всё вроде хорошо, но почемуто именно с от SIP_SERVER пакеты пробрасываясь через IF_ISP2 по непонятной мне причине имеют исходящий IP равный  моему адресу для ISP1 !!!

т.е. бывает при перезагрузке всё работает нормально, а бывает клинит :(

нарисую ещё разок фигурально:
------как есть (неправильно)--------
IP IP_ISP1.5080 > SIPNET.5060: SIP (исходящий пакет с интерфейса IF_ISP2)
ну и тишина... ибо IP_ISP1 у провайдера ISP2 конечно не валиден
------как должно быть (правильно)---
IP IP_ISP2.5080 > SIPNET.5060: SIP
IP SIPNET.5060 > IP_ISP2.5080: SIP
... и т.д.

люди добрые, помогите, а?

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "маршрутизация через iproute2, пакет уходит с ошибочным SRC I..."  +/
Сообщение от PavelR (??) on 05-Июл-09, 11:03 
Потому что:

1. вы не смотрите на правила файрволла в комплексе
2. вы не смотрите на правила маршрутизации и таблицы маршрутизации в комплексе.
3. потому что вы не объединяете правила и таблицы маршрутизации в единую картину с правилами файрволла.


резюмирую:

iptables -nvL
iptables -nvL -t nat
iptables -nvL -t mangle

ip ru sh
ip ro sh table main
ip ro sh table default
ip ro sh table ISP1
ip ro sh table ISP2

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "маршрутизация через iproute2, пакет уходит с ошибочным SRC I..."  +/
Сообщение от SVLD on 05-Июл-09, 17:57 
ну это предложение слишком общее, меня скорее интересует как увидеть причину по которой исходящий пакет имеет неверный адрес.

дело в том, что у меня есть ряд компьютеров, для которых в -t mangle PREROUTING стоит правило -s IP_PC -j MARK --set-mark и эти компьютеры абсолютно спокойно ходят через ISP2

делаю небольшую поправку (сначала не заметил): SIP-сервер находится от локалки (в которой часть компов ходит через ISP1, часть через ISP2) через сервер (назавем его PC_GW), который эти пакеты от SIP NAT-ит, имея две сетевухи - одна смотрит в локалку, другая в сетку с SIP-ом.

что интересно, генерируя пакет netcat-ом на PC_GW (UDP,dport=5060,dst=sipnet.ru) пакет доходит до основного шлюза и выходит в свет через IF_ISP2 с адресом IP_ISP2, но если пакет такойже приходит от SIP, NAT-ится PC_GW в его локальный IP (на стороне основного шлюза он 1:1 как и сгенерированный netcat-ом), но почемуто уходит через IF_ISP2 с адресом IP_ISP1

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "маршрутизация через iproute2, пакет уходит с ошибочным SRC I..."  +/
Сообщение от PavelR (??) on 05-Июл-09, 19:10 
>ну это предложение слишком общее, меня скорее интересует как увидеть причину по
>которой исходящий пакет имеет неверный адрес.

повторить еще раз, как смотреть причину ?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "маршрутизация через iproute2, пакет уходит с ошибочным SRC I..."  +/
Сообщение от SVLD on 06-Июл-09, 00:30 
>повторить еще раз, как смотреть причину ?

ну например команда ip r g 212.53.40.40
говорит мне, что всё правильно:
212.53.40.40 via GW_ISP2 dev eth1.307  src IP_ISP2 <----- вот один из этапов проверки
    cache  mtu 1500 advmss 1460 hoplimit 64

какими инструментами проследить "решения" системы об исходящем интерфейсе?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "маршрутизация через iproute2, пакет уходит с ошибочным SRC I..."  +/
Сообщение от SVLD on 06-Июл-09, 01:11 
тема закрыта, нет сил разбираться, НО каким-то непостяжимым образом вся загвоздка оказалась в порту 5080... поменял на сервере на 5081, скоррестировал правила - и всё работает наура!

убивал такой ньюанс - пакет доходил до цепочки -t mangle POSTROUTING, но в -t nat POSTROUTING он таинственным образом исчезал 8-(

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "маршрутизация через iproute2, пакет уходит с ошибочным SRC I..."  +/
Сообщение от PavelR (??) on 06-Июл-09, 09:50 
>тема закрыта, нет сил разбираться, НО каким-то непостяжимым образом вся загвоздка оказалась
>в порту 5080... поменял на сервере на 5081, скоррестировал правила -
>и всё работает наура!
>
>убивал такой ньюанс - пакет доходил до цепочки -t mangle POSTROUTING, но
>в -t nat POSTROUTING он таинственным образом исчезал 8-(

lsmod |grep sip

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

7. "маршрутизация через iproute2, пакет уходит с ошибочным SRC I..."  +/
Сообщение от SVLD email on 06-Июл-09, 11:30 
>lsmod |grep sip

была такая мысль :) думал хелпер перехватывает, а нет - пусто

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру