Имеется два канала, один PPP0, другой ETH0. Треба почту и один Squid пустить через ETH0, а второй Squid через PPP0.
Вопрос: как заставить Squid ходить через определенный интерфейс?
на ppp0 постоянный ip ?
>на ppp0 постоянный ip ?В принципе да. Т.е., например, на eth0 - 192.168.100.1, далее через шлюз натится наружу, на ppp0 - 212.100.100.10, прямой выход в инет.
При поднятии ppp0 меняется таблица маршрутизации, посему отрубил ее на фиг (defaultroute). Сейчас маршруты берутся только из gated.
Добился путем прописывания tcp_outgoing_address и udp_outgoing_address того, что теперь второй прокси имеет адрес интерфейса ppp0. Но ломится он через eth0 :(. Вот как бы его заставить идти через ppp0?
>Имеется два канала, один PPP0, другой ETH0. Треба почту и один Squid
>пустить через ETH0, а второй Squid через PPP0.
>Вопрос: как заставить Squid ходить через определенный интерфейс?почта к сквиду отношения не имеет! пропускай ее правилами firewall мимо прокси, сквид не заент протколов smtp и pop !
насчет двух интерфейсов тут есть варианты, или запускаешь два сквида сос воими настройками и кэшами или настраиваешь один! путь будет один .
в скиде указываешь на каких ip и портах слушать
например:
http_port 192.168.100.1:3128
http_port 212.100.100.10:3128по идее сквид уже должен отвечать по тому интерфейсу, на который пришел запрос ! если все-таки так не работает, то как ты правильно заметил настрой tcp_outgoing_address , udp_outgoing_address вроде бы не нужен, он используется для работы с другими прокси по icp.
еще один вариант настройки сквида с двумя каналами наружу читай тут
http://www.bog.pp.ru/work/squid.html#balans
>почта к сквиду отношения не имеет! пропускай ее правилами firewall мимо прокси,
>сквид не заент протколов smtp и pop !
Да это понятно, я просто проблему обрисовал. Главное - чтобы Squid смог ходить.>в скиде указываешь на каких ip и портах слушать
>например:
>http_port 192.168.100.1:3128
>http_port 212.100.100.10:3128
>
>по идее сквид уже должен отвечать по тому интерфейсу, на который пришел
>запрос ! если все-таки так не работает, то как ты правильно
>заметил настрой tcp_outgoing_address , udp_outgoing_address вроде бы не нужен, он
>используется для работы с другими прокси по icp.
Не канает. Мне нужно, чтобы при обращении на 192.168.100.1:3128 шло по одному интерфейсу, а при обращении на 192.168.100.1:8080 - шло по другому. Т.е. один прокси висит на 3128, другой - на 8080. IP интерфейса ppp0 - 212.100.100.10 из сети не виден, и прописывать правила маршрутов достанусь - доступ к этому серверу идет, не только из нашей локальной сети, но и из других, соединенных с нами через маршрутизаторы. Правила для доступа из внешних сетей на 192.168.100.1 уже есть. Причем 192.168.100.1 nat'ится через сервер, не находящийся в нашей подсети, но связанный с нами через маршрутизатор. Т.е., например, с 191.168.10.1. Т.е. при обращении к 192.168.100.1, если не будут прописаны маршруты, он не будет знать, куда ломиться, поэтому все принудительно заворачивается на 191.168.10.1.
В то же время "ping -I ppp0 www.ru" вполне работает. Т.е. мне надо что-нидь типа того же: "squid2 -I ppp0".
Так можно ли это сделать?
Или другой вопрос: есть ли под Уних прога, принудительно заворачивающая весь трафик от указанного приложения через определенный интерфейс?>
>еще один вариант настройки сквида с двумя каналами наружу читай тут
>
>http://www.bog.pp.ru/work/squid.html#balansТам варианты либо созданием дополнительных проксей, либо с посылкой на определенные адреса. Мне же нужно, чтобы и тот и тот ПОЛНОЦЕННО работали, неважно куда я хочу полезть :) И в том примере не учитывается то, что у меня идет принудительное заворчивание всего трафика на другой шлюз. (нначе нельзя, так как шлюз в другой подсети). Или я не прав?