два squid на два интерфейса
Модераторы: Trinity admin`s, Free-lance moderator`s
два squid на два интерфейса
FreeBSD 5.2
squid-2.5STABLE2
прокси сервер стоит в локальной сети, сбоку от маршрутизатора-гейта(C-4000)
на сетевом интерфейсе (единственном) настроено еще два интерфейса - vlan1 и vlan2. Роутинг по-умолчанию стоит через vlan1.
Появился второй провайдер, которого надо кешировать тоже.
как на прокси сервере запустить еще один сквид, который запрашивал бы объекты через второй интерфейс(vlan2)
всмысле только tcp_outgoing_address ?
squid-2.5STABLE2
прокси сервер стоит в локальной сети, сбоку от маршрутизатора-гейта(C-4000)
на сетевом интерфейсе (единственном) настроено еще два интерфейса - vlan1 и vlan2. Роутинг по-умолчанию стоит через vlan1.
Появился второй провайдер, которого надо кешировать тоже.
как на прокси сервере запустить еще один сквид, который запрашивал бы объекты через второй интерфейс(vlan2)
всмысле только tcp_outgoing_address ?
а как один сквид направлять то на один то на другой интерфейс.exLH писал(а):Прошу прощения, но не очень понял, зачем Вы собираетесь запускать второй сквид. Если я понял, то у Вас есть фактически 2 интерфеса сетевых? Вот и настраивайте на них роутинг и сквид будет ходить туда, куда направите. Или Вы что-то еще имели в виду?
У нас фактически будет два провайдера - две дороги в интернет.
Так как BGP ради этого ставить/покупать никто не собирается, мне надо как-то развести пользователей по эти двум соскам.
Я собираюсь это делать с помощью http://wpad/wpad.dat скрипта.
а чем не понравилось, позвольте спросить?exLH писал(а):Я, признаюсь, никогда не сталкивался с конкретно такой задачей. Но то, что написано про WPAD мне не очень понравилось.
у меня около 200 пользователей, живут в 4 подсетях ip сети класса B
скриптом wpad.dat я запросто могу, например, 1 и 3 сети направлять на proxy:8080 а 2 и 4 - на proxy:8081
ип адреса клиентов динамические.
может какие то еще варианты по разруливанию пользователей существуют, а я о них не подозреваю?
- exLH
- Сотрудник Тринити
- Сообщения: 5061
- Зарегистрирован: 11 фев 2004, 15:49
- Откуда: Москва
- Контактная информация:
Не понравилось сразу словами про:
This is not a recommendation for any product or version.
Дальше только мельком пробежал даже не вникая в суть того, что там происходит. Но из Вашего поста понял. И на мой взгляд, Вам это не поможет. Почему? Да, можно автоматически раздать настройки подсетям, чтобы броузеры лезли как надо (на 2 прокси-сервера). Можно запустить два сквида на одной машине (надо только правильно раздать им командные строки, а возможно и перекомпилировать, если пути в /var/run или куда-то еще жестко зашиты). Точно так же можно легко пустить на одной машине 2 и более самбы. НО! сквид будет лезть всегда только туда, куда идет роутинг. Он не знает что у Вас там 2 влана. Он шлет пакет и все. Я вижу два выхода.
1. Использование родительского прокси (если Вам его провайдер дает) {покажите мне таких провайдеров
} И тогда нужно пользоваться именно упомянутым Вами tcp_outgoing_address. Вы так и собираетесь? Тогда все должно быть нормально только надо написать отдельный конфиг для каждого сквида.
2. Использовать два компьютера, каждый из которых подключен к своему провайдеру + написать скрипты для перестроения в случае падения одного из каналов.
This is not a recommendation for any product or version.
Дальше только мельком пробежал даже не вникая в суть того, что там происходит. Но из Вашего поста понял. И на мой взгляд, Вам это не поможет. Почему? Да, можно автоматически раздать настройки подсетям, чтобы броузеры лезли как надо (на 2 прокси-сервера). Можно запустить два сквида на одной машине (надо только правильно раздать им командные строки, а возможно и перекомпилировать, если пути в /var/run или куда-то еще жестко зашиты). Точно так же можно легко пустить на одной машине 2 и более самбы. НО! сквид будет лезть всегда только туда, куда идет роутинг. Он не знает что у Вас там 2 влана. Он шлет пакет и все. Я вижу два выхода.
1. Использование родительского прокси (если Вам его провайдер дает) {покажите мне таких провайдеров

2. Использовать два компьютера, каждый из которых подключен к своему провайдеру + написать скрипты для перестроения в случае падения одного из каналов.
а как же всякие утилиты типа wget имеющие опцию --bindexLH писал(а): ...
лезть всегда только туда, куда идет роутинг. Он не знает что у Вас там 2 влана. Он шлет пакет и все.
те все-таки такое бывает?
у нас два провайдера. Один разрешает parent другой только sibling изаимоотношения.Я вижу два выхода.
1. Использование родительского прокси (если Вам его провайдер дает) {покажите мне таких провайдеров}
по-моему взимоотношения с вышестоящими и сестринскими кешами конфигурируется словом cache_peerИ тогда нужно пользоваться именно упомянутым Вами tcp_outgoing_address. Вы так и собираетесь? Тогда все должно быть нормально только надо написать отдельный конфиг для каждого сквида.
а tcp_outgoing_address все-таки биндит(не знаю как-по-русски) сквид на указанный адрес
2. Использовать два компьютера, каждый из которых подключен к своему провайдеру + написать скрипты для перестроения в случае падения одного из каналов.
- exLH
- Сотрудник Тринити
- Сообщения: 5061
- Зарегистрирован: 11 фев 2004, 15:49
- Откуда: Москва
- Контактная информация:
Строчка про "not recommended" взята из доки к сквиду. Я, правда, слегка вырвал ее из контекста, потому как имелось в виду, что такое решение не совсем всем броузерам подойдет.
Касательно bind. Да, есть такая опция и у wget и даже у ping. Но давайте рассмотрим сетку с двумя сетевыми картами eth0 и eth1 (как они там в bsd зовутся, не помню). eth0: 10.0.0.1/24; eth1: 192.168.1.1/24 Что будет если я наберу ping -I 192.168.1.1 10.0.0.2 ?
Пинг пойдет. А с вашей точки зрения, так быть не должно. Если я что-то понимаю (а могу и ошибаться
конечно), то, грубо говоря, интерфейс можно слушать, а вот кричать в него нельзя.
Чтобы у Вас все работало, надо ставить на одном сквиде parent кэш, чтобы только к нему лазить. Можно и tcp_outgoing_address дать, хуже не будет (лучше тоже не должно). Ключевым в моем прошлом посте был именно родительский кэш, а не tcp_outgoing. А на другом сквиде все, как обычно. Тогда (наверое
) будет работать. А для обеспечения работы на случай вылета одного из каналов надо писать скрипт для того чтобы одна из локальных проксей при кризисе становилась родительским кэшом.
Касательно bind. Да, есть такая опция и у wget и даже у ping. Но давайте рассмотрим сетку с двумя сетевыми картами eth0 и eth1 (как они там в bsd зовутся, не помню). eth0: 10.0.0.1/24; eth1: 192.168.1.1/24 Что будет если я наберу ping -I 192.168.1.1 10.0.0.2 ?
Пинг пойдет. А с вашей точки зрения, так быть не должно. Если я что-то понимаю (а могу и ошибаться

Чтобы у Вас все работало, надо ставить на одном сквиде parent кэш, чтобы только к нему лазить. Можно и tcp_outgoing_address дать, хуже не будет (лучше тоже не должно). Ключевым в моем прошлом посте был именно родительский кэш, а не tcp_outgoing. А на другом сквиде все, как обычно. Тогда (наверое

Я реализовывал такую схему в одном из комп. клубов.
Меняется пид, лок файл, имя процесса, директории кеша и логов, порт по которому слушаем клиентов.
Далее варианты:
1. используем 2 парент сервера провайдеров.
2. используем 2 сиблинг сервера провайдеров, у себя ставим niever_direct
3. используя единственный squid, ставим на ядро специальный патч продвинутого роутинга (patch-o-matic http://www.netfilter.org/)
и назначаем разные default gateway для разных подсетей.
(здесь необходимо убедиться подходит ли он к FreeBSD, я не помню)
Последний вариант самый сложный но и самый продвинутый.
Меняется пид, лок файл, имя процесса, директории кеша и логов, порт по которому слушаем клиентов.
Далее варианты:
1. используем 2 парент сервера провайдеров.
2. используем 2 сиблинг сервера провайдеров, у себя ставим niever_direct
3. используя единственный squid, ставим на ядро специальный патч продвинутого роутинга (patch-o-matic http://www.netfilter.org/)
и назначаем разные default gateway для разных подсетей.
(здесь необходимо убедиться подходит ли он к FreeBSD, я не помню)
Последний вариант самый сложный но и самый продвинутый.
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 26 гостей