LINUX.ORG.RU
ФорумAdmin

Policy based routing (source MAC)

 , , , ,


0

1

В сети есть 2 роутера и сервер. Роутеры имеют свои аплинки в «мир». На обоих роутерах сконфигурен NAT для «выпуска» сервера в мир. Также на обоих роутерах сделан DNAT определенных портов на сервер. На самом сервере шлюз по умолчанию роутер1 и ес-но связь «из вне» работает только через роутер1.

Нужен PBR для «решения проблемы». Усложнение в том, что сервере только 1 интерфейс 1 IP и добавлять алиас чтобы сделать ip rule from ... не хотелось бы. Ведь у нас когда пакеты приходят с роутера2, можно по Source MAC их классифицировать и т.о. сделать нужную нам маршрутизацию.

В iptables делаю "-m mac --mac-source [MAC] -j CONNMARK --set-mark 2", также делаю ip rule fwmark 2 lookup router2. Соб-но в табличке router2 прописан default gw через роутер2. В -t mangle -A PREROUTING делаю --restore-mark.

Пакеты пришедшие через роутер2 маркируются (ну во всяком случае правило iptables пополняется попаданиями), но ответы уходят по прежнему через роутер1 с основной таблицы маршрутизации.

Можно ли так делать и что я делаю не так? Может где-то надо еще восстанавливать метку?

EDIT: Я наверное сам себе правильные вопросы задаю... видимо надо еще в -t mangle -A OUTPUT восстанавливать метку? Попозже попробую.

EDIT2: Ну конечно же после добавления правила -t mangle -A OUTPUT -j CONNMARK --restore-mark всё заработало. Поспешил с вопросом, но может кому-то полезно будет. :)



Последнее исправление: nstorm (всего исправлений: 4)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.