The OpenNET Project / Index page

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



Индекс форумов
Составление сообщения

Исходное сообщение
"Router & iproute2"
Отправлено vbv, 20-Июн-07 20:27 
>Точно не работает, т.к. решение о маршрутизации пакетов от локальных серверов принимается
>сразу же, как появился соответствующий пакет, и повлиять на это сложно
>(т.к. непонятно с какого интерфейса он идет и с какого адреса).
>См. таблицу, которую я привел выше. Использовал различные вариации на тему
>
>
>iptable -t mangle -A OUTPUT -p tcp -d ! $LOCALNET --dport 25
>-j MARK --set-mark 0x64
>ip rule add fwmark 0x64 table expensive
>ip route add default via expesive_gate_ip dev ppp0 table expensive
>ip route flush cache
>
>Пакеты идут по маршруту по умолчанию и действительно маркируются в цепочке output,
>но никуда не перенаправляются, и с этой меткой покидают интерфейс по
>умолчанию (метка уничтожается). Вот так-то (((.
>Временно проблему решил так: указал smtp серверу смартрелей на сервер провайдера, добавил
> source route
>ip rule add from expensive_inteface_ip table expensive
>ip rule add to prov_smart_relay_ip table expensive
>ip route add default via expesive_gate_ip dev ppp0 table expensive
>ip route flush cache

Посмотрел ближе:
Да в моем случае есть одно НО:
они уходят таки с сорцами из таблицы main.
Что у меня не вызвало проблем т.к. живу на своих адресах. :)
т.о.
Пакет таки обрабатывается соответствующей таблицей и запихиватется в правильный интерфейс но с неожиданным адресом srс который он действительно берет из главной таблицы. :(
Специально перестроил маршруты и протестил полный вариант.
Полечилось с добавлением:
iptables -t nat -I POSTROUTING -p tcp -d ! 192.168.0.0/16 --dport 25 -j SNAT --to-source $SOURCE_MAIL_TABLE
Стало уходить с правильным адресом источника и соответственно возвращаться через заявленный интерфейс.

Проверено!
В таком случае полный вид выглядет так:
iptables -t nat -I POSTROUTING -p tcp --dport 25 -j SNAT --to-source $SOURCE_MAIL_TABLE
iptables -t mangle -I OUTPUT -p tcp --dport 25 -j MARK --set-mark 0x64
ip rule add fwmark 0x64 lookup mailtable

tcpdump -vi $INTERFACE
показал правильные tcp сессии на нужном интерфейсе.

PS: Вообще странно, что при обработке другой таблицей, подставляется не тот src адрес.
Хотя возможно так и должно быть.
Почитаю мануал - тогда напишу. Видимо это надо еще задать где-то.

PPS: Хотя если уже смотреть в манипуляцию адресом источника - можно всего этого и не делать.
1. Иметь правильную таблицу для почтового линка.
2. Иметь правильные правила для адреса т.е.
ip rule add to $SOURCE_MAIL_TABLE lookup mailtable
ip rule add from $SOURCE_MAIL_TABLE lookup mailtable
3. Одну строчку с
iptables -t nat -I POSTROUTING -p tcp --dport 25 -j SNAT --to-source $SOURCE_MAIL_TABLE
И в маркировке надобность отпадает т.к. пакеты поймаются по адресу источника....
Не пробовал но скорее всего такой вариант имеет право на жизнь.

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.

На сайте действует частичное премодерирование - после публикации некоторые сообщения от анонимов могут автоматически скрываться ботом. После проверки модератором ошибочно скрытые сообщения раскрываются. Для ускорения раскрытия можно воспользоваться ссылкой "Сообщить модератору", указав в качестве причины обращения "скрыто по ошибке".



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

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