Здравствуйте.Есть сервер под Debian, на нём 2 uplink-канала и внутренняя сетка с белыми IP.
Задача состоит в сдедующем: нужно сделать так, чтобы новые соединения, иницированные из внутренней сетки распределялись по разным каналам и ходили по ним (не без помощи NAT, конечно); а соединения, иницированные из внешки (обращение на белые IP) уходили туда же, откуда пришли (т.е. только в один из каналов).
Первой идеей было метить в iptables пакеты с состоянием NEW и адресом источника из внтуренней сетки, а потом уже через ip rule направить куда надо:
iptables -A PREROUTING -t mangle -s [внутр.сетка] -m state --state NEW -j MARK --set-mark 1.
ip rule add to [специфичное_назначение] fwmark 1 table [таблица]
Но не сработало. Пробовал много разных вариантов, пока ничего толкового не вышло.Помогите советом.
>(не без помощи NAT, конечно);Если с использованием NAT - то в чем проблема? Вообще проблемы нет.
> Но не сработало.
А что не сработало?
Не осилили разницу между MARK и CONNMARK ? Там еще --restore-mark есть.>Пробовал много разных вариантов, пока ничего толкового не вышло.
> Помогите советом.Входящие _соединения_ маркируем.
Когда идет ответный пакет, проверяем, не маркирован ли он уже. Если маркирован - не перемаркировываем, не натим, отправляем "откуда пришел".