Перейти к содержанию

Раздельная маршрутизация и Squid


Рекомендуемые сообщения

Здравствуйте, товарищи! С надвигающимися вас праздничками Wink

Ситуация: сервер, три интерфейса, внутренний 192.168.1.1, два инетовских канала. Squid. В iptables прописан редирект от 192.168.1.0 с портов 80, 8080 твт на 3128. Все бы хорошо, но возникла необходимость раскидать трафик в зависимости от ИПов по разным каналам.

ip rule add from 192.168.1.1 table 1

ip rule add from 192.168.1.2 table 2

ip route add default dev ppp0 table 1

ip route add default dev ppp1 table 2

Просто трафик идет через положенные default route'ы, а вот переадресованный уходит через Сквида по общесистемному дефолт роуту. В данный момент я вовсе отрубил переадресацию, но это пока, а проксик все равно нужен.

Задача: Пускать http трафик через проксик, но так, чтобы он уходил согласно положенным таблицам маршрутизации, а не через main.

Возможно ли решить такую проблему средствами Сквида? Если нет, то как ее все-таки можно решить?

Ссылка на комментарий
Поделиться на другие сайты

Нет, через MASQUERADE. Вы имеете в виду - насильно раскидывать трафик по интерфейсам?

iptables -A PREROUTING -s 192.168.1.0/24 -p tcp -m multiport --source-ports 80,8080 -j REDIRECT --to-ports 3128

iptables -A POSTROUTING -s 192.168.1.1 -j SNAT --to-source <адрес ppp0>

iptables -A POSTROUTING -s 192.168.1.2 -j SNAT --to-source <адрес ppp1>

Так?

Ссылка на комментарий
Поделиться на другие сайты

Цитата:

ы имеете в виду - насильно раскидывать трафик по интерфейсам?

можно так попробовать. Но раз с маскуераде не работает значит проблемы с роутингом.

Дело еще в том что раз http трафик заворачивается на сквид, то адресом источника становится адрес сквида и поэтому идея рулить трафик через iproute2 скорее всего не пройдет.

squid выступает здесь в роли маскарада, он подменяет адрес источника на свой а потом обратно.

Получается решение о роутинге принимается уже для пакетов с адресом сквида.

как вариант завести два сквида на разных портах и разрулить сети между ними.

Ссылка на комментарий
Поделиться на другие сайты

Цитата:

адресом источника становится адрес сквида

Да... Как-то не подумал :):)Smile

Цитата:

завести два сквида на разных портах и разрулить сети между ними.

Наверно, так и придется делать...

Ссылка на комментарий
Поделиться на другие сайты

Есть у сквида опция tcp_outgoing_address, тока че-то она у меня пока не пашет Sad

А еще у него есть настройки parent proxy, возникает вопрос - можно ли требовать данные с родительского проксика в зависимости от пользователя? Например:

acl XXX src 192.168.1.2

<проксик для XXX>

Но это вопрос конкретный. А абстрактнее: не кинет ли кто-нить линку на возможно более полную доку по настройке Сквида (комментарии в дефолтном конфиге - не в счет Smile)

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...