Привет всем.
Прошу прощения, если вызвал и кого то раздражение, так как тема не новая, НО!, облазил просторы интернет и не нашел действительно рабочей конфигурации, поэтому с предложениями "я это не делал, но должно работать" просьба не беспокоиться.
Теперь суть задачи:
сервер на базе Ubuntu Server 8.04, 3 сетевые карты (2 - интернет, 1 - локальная сеть), необходимо чтобы клиенты с определенных IP адресов ходили по своиму каналу в интернет ЧЕРЕЗ Squid.
Теперь, что уже решено: без Squid - все работает (через iproute2, все очень легко и прекрасно разводиться, информации об этом много).
Суть проблемы: Squid работает только(?) с основной таблицей маршрутизации, в которой, естественно, указан только один шлюз по умолчанию. Поэтому даже если прописать параметр tcp_outgoing_address в конфиге squid, и он не совпадет с адресом сетевой карты, где шлюз по умолчанию - squid работать не будет. В интернете есть несколько статей, где описано как поднимали 2 squid на разные интерфейсы, но как они использовали два шлюза в одной(?) таблице маршрутизации (или делали это как-то по другому) ни слова не сказано. Все что написано в этих статьях, в моем случаи не работает! Squid подымается только на сетевой карте со шлюзом по умолчанию!
Где-то на форуме, вскользь, было сказано, что данную проблему можно решить путем маркировки пакетов от отдельных клиентов и потом в iproute заворачивать их на другую таблицу маршрутизации (из основной), но как это делать на практике, я не представляю.
Прошу откликнуться, тех кто решил эту проблему на практике, я думаю эта информация будет полезна не только мне...