Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по FreeBSD (http://forum.oszone.net/forumdisplay.php?f=10)
-   -   Два шлюза, два провайдера. (http://forum.oszone.net/showthread.php?t=147125)

BachiStil 05-08-2009 07:24 1185923

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

leonty 05-08-2009 08:57 1185964

первый раз такую схему вижу, чтобы оба провайдера раздавали инет ччерез прокси.....хм

BuGfiX 05-08-2009 11:19 1186060

Как вариант - в локалке сделать так, чтобы в качестве прокси использовался адрес локального шлюза, на котором либо скриптом, либо руками, мониторить доступность серверов обоих провайдеров и переключать правила в фаерволе.

Negativ 05-08-2009 13:24 1186172

BachiStil,
добавлю к BuGfiX, скрипт меняет приоритет(метрику) маршрута по умолчанию.

leonty 05-08-2009 16:19 1186325

блин, неужели вы поняли что там написано ? о.О
Цитата:

Цитата BachiStil
Есть два шлюза на squid-е »

уже настораживает.
Цитата:

Цитата BachiStil
два провайдера. »

Цитата:

Цитата BachiStil
Как выставить приоритеты использования прокси? »

Сделать один шлюз, подключить к нему обоих провайдеров и уже на нем с помощью скрипта рулить по какому каналу ходить трафику. И не надо будет строить костыли с приоритетами прокси серверов.

BuGfiX, если ты так и сказал, пошу прощения, но я этого не увидел.

BachiStil 20-08-2009 13:20 1198276

По совету решил с помощью скрипта проверять канал, и если 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. Как быть? Подскажите.

wp2 20-08-2009 16:44 1198519

Цитата:

Цитата BachiStil
pch="195.5.5.184" »

укртелеком? )

BachiStil 21-08-2009 05:47 1199030

wp2,
скопировал.
http://forum.ru-board.com/topic.cgi?...3502&start=0#7

BachiStil 25-08-2009 05:53 1202419

Всем спасибо. Задача решена, путем редактирования rc.firewall

wp2 25-08-2009 22:22 1203179

вот только не советую редактировать этот файл :-)


Время: 09:17.

Время: 09:17.
© OSzone.net 2001-