>[оверквотинг удален]
> Все прокси непрозрачные.
> LAN - отдельный VLAN между серверами
> Хочется чтобы SQUID3 при падении канала PROV1, ходил через SQUID2 и PROV2.
> А когда PROV1 восстановится ходил через SQUID1 и PROV1.
> Думал решить это при помощи LARTC. Однако может squid сам умеет отслеживать
> "жив или мертв" инет за parent proxy ? Пользователям за SQUID3
> нужен стабильный и фильтрованный инет, но чтобы видели они его только
> через одну дырку - порт 3128 на сервере SQUID3. Зафильтрую все
> кроме этого порта iptables'ами.
> Возможно реализовать схему подобным образом?Я когда-то давно-давно на FreeBSD делал так, схема работает до сих пор исправно.
#!/bin/sh
GW1=8.8.8.8
/sbin/ping -q -c 4 $GW1 > /dev/null 2>&1
if [ $? != 0 ]; then
if [ -f ~vit/failed ]; then
exit 1
else
perl -pi -e "s/#*cache_peer/cache_peer/g" /usr/local/etc/squid/squid.conf
perl -pi -e "s/#*never_direct/never_direct/g" /usr/local/etc/squid/squid.conf
/usr/local/etc/rc.d/squid reload
~vit/inet_failed.pl
touch ~vit/failed
fi
else
if [ -f ~vit/failed ]; then
perl -pi -e "s/#*cache_peer/#cache_peer/g" /usr/local/etc/squid/squid.conf
perl -pi -e "s/#*never_direct/#never_direct/g" /usr/local/etc/squid/squid.conf
/usr/local/etc/rc.d/squid reload
~vit/inet_restored.pl
rm ~vit/failed
else
exit 1
fi
fi
Добавляешь в крон на проверку раз в минуту.
~vit меняешь на свое имя.
cache_peer в squid.conf пишешь через кого ходить.
inet_restored.pl и inet_failed.pl это скрипты, к-е на почту шлют уведомления