URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 86186
[ Назад ]

Исходное сообщение
"Два шлюза, два провайдера."

Отправлено BachiStil , 05-Авг-09 07:29 
Здравствуйте, друзья.
Подскажите пожалуйста. Есть два шлюза на squid-е, OS FreeBSD, два провайдера. Как выставить приоритеты использования прокси? т.е.1-ый прокси основной, 2-ой резервный,  и хочется, чтоб если 1-ый провайдер отвалится (по какой-либо причине),  локалка выходила через резервный, а когда провайдер снова будет доступен-все возвращалось на прежнее место.

Содержание

Сообщения в этом обсуждении
"Два шлюза, два провайдера."
Отправлено Serjant , 05-Авг-09 09:03 
>Здравствуйте, друзья.
>Подскажите пожалуйста. Есть два шлюза на squid-е, OS FreeBSD, два провайдера. Как
>выставить приоритеты использования прокси? т.е.1-ый прокси основной, 2-ой резервный,  и
>хочется, чтоб если 1-ый провайдер отвалится (по какой-либо причине),  локалка
>выходила через резервный, а когда провайдер снова будет доступен-все возвращалось на
>прежнее место.

Для начала сделать из двух шлюзов - один.


"Два шлюза, два провайдера."
Отправлено BachiStil , 20-Авг-09 13:39 
Необходимо чтоб было два.
По совету решил с помощью скрипта проверять канал, и если 1-ый провайдер отвалился меняю Gateway default на ip 2-го прокси.

#!/bin/sh

pgw="172.17.17.1"
pch="195.5.5.184"
bgw="172.18.18.1"

#
echo=/bin/echo
grep=/usr/bin/grep
ping=/sbin/ping
route=/sbin/route
date=/bin/date
awk=/usr/bin/awk
netstat=/usr/bin/netstat


if [ `${ping} -n -c 5 -o -t 5 ${pch} | ${grep} " packet loss" | ${awk} '{split($7, a, "."); print a[1]}'` != 100 ]; then
if [ `${netstat} -rn | ${grep} "^default" | ${awk} '{print $2}'` != ${pgw} ]; then
${route} -q change default ${pgw} > /dev/null 2>&1
${echo} "primary link up at: `${date}`">> /var/log/monitor_isp.log
fi
else
if [ `${netstat} -rn | ${grep} "^default" | ${awk} '{print $2}'` != ${bgw} ]; then
${route} -q change default ${bgw} > /dev/null 2>&1
${echo} "primary link down at: `${date}`">> /var/log/monitor_isp.log
fi
fi

Но у меня не получается отправить пакеты на резервный GW, при смене значения Gateway default, т.к. в squid.conf директива tcp_outgoing_address указывает всей подсети выходить через внешний IP. Как быть? Подскажите.