LINUX.ORG.RU
ФорумAdmin

IP-aliasing и SNAT


0

0

Добрый день всем. ПОмогите разобраться со следующей штукой.

Есть шлюз с двумя сетевыми картами: eth0(192.168.0.1) смотрит в локалку, на eth1 повешено два IP-адреса: 10.х.х.х и 217.х.х.х.

С помощью iproute2 настроена балансировка нагрузки на 2 канала: ip route add default nexthop via 10.x.x.y dev eth1 \ nexthop via 217.x.x.y dev eth1, где 10.х.х.y и 217.x.x.y - это IP-адреса шлюзов провайдеров.

Если я делаю -t nat -A POSTROUTING -j MASQUERADE, все работает, пакеты уходят с разных адресов и все хорошо, НО:

мне нужно делать SNAT ТОЛЬКО в том случае, когда пакеты уходят на 217.х.х.y, а пакеты, идущие на 10.х.х.y просто форвардить, не меняя в них адрес источника.

Подскажите, есть ли какие-то средства разделить такие пакеты на этапе POSTROUTING, бьюсь вторую неделю, ничего не могу придумать.

Огромное спасибо всем, кто откликнется.


по идее -o eth1:1 и -o eth1:2 должно разделить их, только не надо использовать -o eth1, так как это зацепит и все алиасы на интерфейсе.

anonymous
()
Ответ на: комментарий от anonymous

В том-то вся проблема: iptables не понимает алиасов и ругается матом при появлении конструкций типа eth1:x

Вопрос в том, можно ли после принятия решения о маршрутизации как-то определить в iptables, на шлюз которого из провайдеров уйдет пакет, либо каким-то образом промаркировать пакет во время принятия решения о маршрутизации?

Peters
() автор топика
Ответ на: комментарий от Peters

балансировку в этом случае надо делать по другому, например, через модуль random в iptables, там можно и весовую нагрузку на шлюзы определить, в этот момент можно и промаркировать пакет. В силу специфики поставленной тобой задачи о случайном адресе маршрутизации не получается привязаться к адресам отправителя и получателя, единственное определенное это MAC получателя(в случае если два шлюза твоих провайдеров не сидят так же на одной сетевухе), но по MAC'у получателя iptables работать не может, это уже транспортный уровень, а iptables работает на IP уровне.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.