Форум 3DNews
Вернуться   Форум 3DNews > Софт > Linux & FreeBSD

Ответ Создать новую тему
Опции темы Опции просмотра
Непрочитано 30.09.2004, 13:13   [включить плавающее окно]   #1
Ksyuha
Начинающий
Автор темы
 
Регистрация: 30.09.2004
Squid и два канала Internet

Пожалуйста срочно, горю!!!!!!!!!!!!!!!
Вопрос в следующем. Имеется две сети 192.168.1.0 и 192.168.2.0 и два канала интернет, на машине с Linux RH Enterprise 3 установлены две сетевые карты с IP и шлюзами обоих

сетей, также установлен SQUID.
Нужно настроить Squid для работы с двумя каналами, то есть каждая из сетей работает со своим каналом. Есть идея запустить Squid с двумя процессами тоесть для

конфигурационных файлов /etc/squid/squid1.conf /etc/squid/squid2.conf для процессов /var/run/squid1.pid /var/runsquid2.pid для логов /var/log/squid1 /var/log/squid2 и для кеша

/var/spool/squid1 /var/spool/squid2.
Конфигурационные файлы настраиваю каждый на свою сеть соответственно тоесть пишу ACL и в tcp_outgoing_address конфигурационных файлов прописываю IP соответствующих

интерфейсов. По моему это должно работать если правильно написать или переписать скрипт в /etc/rc.d/init.d/squid но как это сделать не селён.
Если кто знает подскажите как или исправте мой родной скрипт /etc/rc.d/init.d/squid. Заранее благодарен. Ниже привожу родной скрипт
____________________________________________________________ _________________________________
#!/bin/bash
# squid This shell script takes care of starting and stopping

# Squid Internet Object Cache
#
# chkconfig: - 90 25

# description: Squid - Internet Object Cache. Internet object caching is \

# a way to store requested Internet objects (i.e., data available \

# via the HTTP, FTP, and gopher protocols) on a system closer to the \

# requesting site than to the source. Web browsers can then use the \

# local Squid cache as a proxy HTTP server, reducing access time as \

# well as bandwidth consumption.

# pidfile: /var/run/squid.pid

# config: /etc/squid/squid.conf

PATH=/usr/bin:/sbin:/bin:/usr/sbin

export PATH


# Source function library.

. /etc/rc.d/init.d/functions


# Source networking configuration.

. /etc/sysconfig/network


# Check that networking is up.

[ ${NETWORKING} = "no" ] && exit 0

# check if the squid conf file is present
[ -f /etc/squid/squid.conf ] || exit 0

if [ -f /etc/sysconfig/squid ]; then
. /etc/sysconfig/squid
fi

# don't raise an error if the config file is incomplete
# set defaults instead:
SQUID_OPTS=${SQUID_OPTS:-"-D"}
SQUID_PIDFILE_TIMEOUT=${SQUID_PIDFILE_TIMEOUT:-20}
SQUID_SHUTDOWN_TIMEOUT=${SQUID_SHUTDOWN_TIMEOUT:-100}

# determine the name of the squid binary
[ -f /usr/sbin/squid ] && SQUID=squid
[ -z "$SQUID" ] && exit 0

prog="$SQUID"

# determine which one is the cache_swap directory
CACHE_SWAP=`sed -e 's/#.*//g' /etc/squid/squid.conf | \
grep cache_dir | awk '{ print $3 }'`
[ -z "$CACHE_SWAP" ] && CACHE_SWAP=/var/spool/squid

RETVAL=0

start() {
for adir in $CACHE_SWAP; do
if [ ! -d $adir/00 ]; then
echo -n "init_cache_dir $adir... "
$SQUID -z -F -D 2>/dev/null
fi
done
echo -n $"Starting $prog: "
$SQUID $SQUID_OPTS 2> /dev/null
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
timeout=0;
while : ; do
[ ! -f /var/run/squid.pid ] || break
if [ $timeout -ge $SQUID_PIDFILE_TIMEOUT ]; then
RETVAL=1
break
fi
sleep 1 && echo -n "."
timeout=$((timeout+1))
done
fi
[ $RETVAL -eq 0 ] && touch /var/lock/subsys/$SQUID
[ $RETVAL -eq 0 ] && echo_success
[ $RETVAL -ne 0 ] && echo_failure
echo
return $RETVAL
}
stop() {
echo -n $"Stopping $prog: "
$SQUID -k check >/dev/null 2>&1
RETVAL=$?
if [ $RETVAL -eq 0 ] ; then
$SQUID -k shutdown &
rm -f /var/lock/subsys/$SQUID
timeout=0
while : ; do
[ -f /var/run/squid.pid ] || break
if [ $timeout -ge $SQUID_SHUTDOWN_TIMEOUT ]; then
echo
return 1
fi
sleep 2 && echo -n "."
timeout=$((timeout+2))
done
echo_success
echo
else
echo_failure
echo
fi
return $RETVAL
}

reload() {
$SQUID $SQUID_OPTS -k reconfigure
}

restart() {
stop
start
}

condrestart() {
[ -e /var/lock/subsys/squid ] && restart || :
}

rhstatus() {
status $SQUID
$SQUID -k check
}

probe() {
return 0
}
case "$1" in
start)
start
;;
stop)
stop
;;
reload)
reload
;;
restart)
restart
;;
condrestart)
condrestart
;;
status)
rhstatus
;;
probe)
exit 0
;;

*)
echo $"Usage: $0 {start|stop|status|reload|restart|condrestart}"
exit 1
esac
Ksyuha вне форума  
Ответить с цитированием
Непрочитано 30.09.2004, 19:06   [включить плавающее окно]   #2
pl_Vah
Мужской Опытный
 
Аватар для pl_Vah
 
Регистрация: 25.05.2004
Адрес: Moscow
1) Читать http://squid.opennet.ru/

2) я не могу понять задачу....
на одном компе (К1) имееца 2 инета (И1 и И2)
задача юзать на К1 И1 и И2 одновременно.....
собсна те маршруты нада свои тада....... скажем для сетей до 192.0.0.0 через - И1 и после 192.0.0.0 - И2

твоя постановка вопроса примерна такая: у меня 2 мерседеса и я хочу ехать на них одновременно.... причем за рулем каждого сразу... =)
pl_Vah вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 01.10.2004, 12:46   [включить плавающее окно]   #3
zhmurik
Мужской Продвинутый
 
Регистрация: 06.02.2003
Адрес: Калининград
2 канала это серьезно. На глаз 2 выхода. Либо статически разводить трафик по каналам. Например российский по одному, импортный по другому. Либо поднимать протоколы динамической маршрутизации. OSPF, RIP, EIGRP, BGP и т.д.
__________________
With best wishes!
zhmurik вне форума  
Ответить с цитированием
Непрочитано 01.10.2004, 17:36   [включить плавающее окно]   #4
pl_Vah
Мужской Опытный
 
Аватар для pl_Vah
 
Регистрация: 25.05.2004
Адрес: Moscow
вопрос на засыпку: а как ты определишь российский он или нет? например сервер может стоять в Москве а траффик может быть зарубежным.......
pl_Vah вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 05.10.2004, 16:24   [включить плавающее окно]   #5
Ksyuha
Начинающий
Автор темы
 
Регистрация: 30.09.2004
Люди!!!Пожалуйста срочно, горю!!!!!!!!!!!!!!!
Вопрос в следующем. Имеется две сети 192.168.1.0 и 192.168.2.0 и два канала интернет, на машине с Linux RH Enterprise 3 установлены две сетевые карты с IP и шлюзами обоих.
Как мне сделать равный приоритет двух сетевых интерфейсов?
Необходимо что бы одна сеть ходила по одному каналу, а другая по другому. Маршруты прописаны, сетевухи одинаковые, а все пользователи лезут в один канал. Help!!!

Последний раз редактировалось Ksyuha; 05.10.2004 в 16:28.
Ksyuha вне форума  
Ответить с цитированием
Непрочитано 05.10.2004, 17:41   [включить плавающее окно]   #6
pl_Vah
Мужской Опытный
 
Аватар для pl_Vah
 
Регистрация: 25.05.2004
Адрес: Moscow
1) http://www.uinc.ru/articles/37/index.shtml

2) Я так понимаю что у тебя есть 2 канала и эта машина выступает как сервер для того чтоб юзера из сети 192.168.1.0 ходили по канлу #1 а юзера из сети 192.168.2.0 ходили по каналу #2 так?
если так то те нада оформить элементарную маршрутизацию с 192.168.1.0 на канал #1 и со 192.168.2.0 на канал #2

если хочешь помощи - вышли что пишут следующие комманды:
а) netstat -nr
б) ifconfig
в) lsmod
г) chkconfig --list
д) iptables -L

попробуем чо нить сотворить.....
плюс версию ядра..... которую мона получить так:
dmesg | grep version
в ответ получишь что то вроде:
Код:
bash-2.05b# dmesg | grep version
Linux version 2.6.8 (root@vah) (gcc version 3.2.3 20030422 (Gentoo Linux 1.4 3.2.3-r1, propolice)) #1 Thu Sep 23 13:28:48 MSD 2004
libata version 1.02 loaded.
svgalib_helper: Initializing, version 1.9.19
PPP generic driver version 2.4.2
Linux version - это есть версия ядра.... (1-я строка)
и ещё - скомпилированно ли в ядре поддержка NAT.....

3) Ешё один способ - связаца со мной по email (vah@planetwork.ru) или по аське (159044006) что лучше всего.... а рез-ты колдовства я потом сюды отпишу....
pl_Vah вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 06.10.2004, 10:04   [включить плавающее окно]   #7
zhmurik
Мужской Продвинутый
 
Регистрация: 06.02.2003
Адрес: Калининград
Цитата
вопрос на засыпку: а как ты определишь российский он или нет? например сервер может стоять в Москве а траффик может быть зарубежным.......
Запросы на ip адреса российские по одному каналу, а на буржуйские по другому.
__________________
With best wishes!
zhmurik вне форума  
Ответить с цитированием
Непрочитано 06.10.2004, 11:36   [включить плавающее окно]   #8
pl_Vah
Мужской Опытный
 
Аватар для pl_Vah
 
Регистрация: 25.05.2004
Адрес: Moscow
пжалста ситуация:
есть пров, который инет раздает через М-9 (Мск) и 2-й пров который инет раздает через М-10 (Мск)..... вроде сервера стоят в Москве, оба прова в Москве а траффик между ними считаеца как зарубежный.......

что делать? как ты запросы делать будишь?
pl_Vah вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 07.10.2004, 15:23   [включить плавающее окно]   #9
Ksyuha
Начинающий
Автор темы
 
Регистрация: 30.09.2004
Спасибо всем, я уже разобралась. Все проблемы решили с помощью vlan. Если кого заинтересует, отвечу.
Ksyuha вне форума  
Ответить с цитированием
Непрочитано 10.10.2004, 21:20   [включить плавающее окно]   #10
pl_Vah
Мужской Опытный
 
Аватар для pl_Vah
 
Регистрация: 25.05.2004
Адрес: Moscow
Естесенна отвечай.... прям сюды..... что и как.....
pl_Vah вне форума  
Конфигурация ПК
Ответить с цитированием
Непрочитано 11.10.2004, 17:34   [включить плавающее окно]   #11
zhmurik
Мужской Продвинутый
 
Регистрация: 06.02.2003
Адрес: Калининград
Цитата
пжалста ситуация:
есть пров, который инет раздает через М-9 (Мск) и 2-й пров который инет раздает через М-10 (Мск)..... вроде сервера стоят в Москве, оба прова в Москве а траффик между ними считаеца как зарубежный.......

что делать? как ты запросы делать будишь?
Ну это уже политика администратора что и куда разруливать. Я как пример привел. Лично я бы сделал в данном случае трафик на обеих этих провайдеров считал бы как российский. Прописал бы несколько статических маршрутов. На все ip подсетки которые зарегистрированы в россии статически пускал бы трафик по одному каналу, а на все остальные по другому. Хотя все равно это поделка. По хорошему надо какой нить BGP или EIGRP поднимать.
__________________
With best wishes!
zhmurik вне форума  
Ответить с цитированием
Непрочитано 14.10.2004, 12:14   [включить плавающее окно]   #12
Ksyuha
Начинающий
Автор темы
 
Регистрация: 30.09.2004
Я запустила Squid с двумя conf-файлами squid1.conf и squid2.conf, двумя процессами, конфигурационные файлы настроила каждый на свою сеть соответственно тоесть пишу ACL и в tcp_outgoing_address конфигурационных файлов прописываю IP соответствующих интерфейсов, для одной и второй подсети соответственно.
Всё заработало, когда я назначила разные порты Инета: для одной – 3128, а для другой - 3129.
Ksyuha вне форума  
Ответить с цитированием
Непрочитано 14.10.2004, 17:55   [включить плавающее окно]   #13
zhmurik
Мужской Продвинутый
 
Регистрация: 06.02.2003
Адрес: Калининград
Ну если железо позволяет, то можно и так. Хотя я бы для отказоустойчивости разнес бы еще эти каналы на разные машины. Тогда и с ресурсами будет попроще. Опять же сразу можно будет primay и secondary сервисы поподнимать DNS например, почту. Хотя зависит от задачи конечно.
Еще обрати внимание если у тебя в squid используются соседи, то чтоб порты для обмена данными на них тоже не совпадали. По умолчанию 3130.
Кстати как вариант можно эти кэши объявить соседскими и пусть они файлы из друг друга тягают Вдруг получится. По идее должно работать.
__________________
With best wishes!
zhmurik вне форума  
Ответить с цитированием
Ответ Создать новую тему

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 10:46. Часовой пояс GMT +3.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 2000-2017 3DNews. All Rights Reserved.
Администрация 3DNews требует соблюдения на форуме правил и законов РФ
Серверы размещены в Hostkey