В последнее время во многих городах (и особенно в Москве) стали широко распространяться высокоскоростные подключения основанные на Ethernet (домовые сети), кабельных модемах (сети кабельного телевидения), а так же на ASDL (технология высокоскоростного ассиметричного доступа), которые, однако, обладают серьезным недостатком - пользователь такого соединения обычно сильно ограничен по объему так называемого "входящего" трафика, т.е. по объему скачиваемой информации. Не секрет, что большинство пользователей имеет определенные предпочтения при просмотре сайтов - одни и те же сайты посещаются изо дня в день в поисках свежей информации опубликованной на их страницах (например http://www.softerra.ru/). При этом раз за разом закачивается большое количество статичной информации - разного рода плашки, графические заголовки и т.п. Многие немедленно мне возразят - а как же встроенный кеш браузера? Да пожалуй никак, отвечу я - к сожалению способы кеширования у браузеров настолько далеки от совершенства, что не выдерживают никакой критики. А если у вас дома или в офисе к Интернету подключен не один компьютер, а несколько?
Надеюсь теперь многие поняли о чем пойдет речь в этой статье - о решении проблемы кеширования входящего трафика кардинальным образом, а именно при помощи домашнего прокси-сервера. Итак если вы хотите снизить объем входящего трафика и/или у вас дома или в офисе к Интернету подключено несколько пользователей решение с использованием прокси-сервера для вас. Да, я чуть не забыл - использование прокси-сервера на медленном выделенном канале (скажем 64кбит/сек) значительно ускорит загрузку страниц ваших любимых сайтов.
Для устройства прокси-сервера будем
использовать бесплатное программное обеспечение - прокси-сервер
Squid (см. http://www.squid-cache.org/) на базе FreeBSD или
Linux. Вообще-то Squid существует и для Windows NT, однако ценность
такого решения на мой взгляд является сомнительной. Перед установкой
Squid следует скачать последнюю стабильную версию в виде исходных кодов, или бинарного пакета с сервера
производителя дистрибутива вашей операционной системы. Для
компиляции исходных кодов применяется стандартная
последовательность:
./configure
make
make install
(требуются права root)
Для установки бинарного пакета следует
применять способы характерные для вашей операционной системы,
например для FreeBSD следует подать такую команду (от пользователя
root):
pkg_add squid-2.4_x.tgz
После установки следует приступить к конфигурированию. Местонахождение конфигурационных файлов сильно отличается в зависимости от дистрибутива (/etc, /usr/local/etc/squid, /usr/local/squid/etc). В общем случае рекомендую поискать файл squid.conf следующей командой (желательно от root): find / -name "squid.conf" -print Загрузите squid.conf в подходящий редактор. Почти 3000 строк. Возьмите себя в руки, все не так страшно - реальный конфигурационный файл будет куда меньше. Итак пример простого конфигурационного файла для squid (подразумевается что у нас локальная сеть класса C 192.16.0.0/255.255.0.0), а машина c прокси-сервером имеет адрес 192.16.0.1 с шлюзом в Интернете (см. рисунок):
# IP-адрес и порт на котором будет
доступен
# прокси-сервер для клиентов
http_port
192.16.0.1:3128
# Отключим "общение" с соседними
прокси-серверами
icp_port 0
htcp_port 0
# Отключим
кеширование динамически загружаемых страниц
acl QUERY
urlpath_regex cgi-bin \?
no_cache deny QUERY
# Укажем
местонахождение и размер кеша (200Мб)
cache_dir ufs /var/squid
200 32 384
# Местонахождение логов запросов к
прокси-серверу
cache_access_log
/usr/local/squid/logs/access.log
# Местонахождение логов
кеша
cache_log /usr/local/squid/logs/cache.log
# Отключим
бесполезный лог менеджера кеша
cache_store_log none
#
Пароль для анонимного ftp-соединения
ftp_user ano@nim.ru
#
Откроем доступ к прокси-серверу с клиентов
# из нашей подсети
(192.16.0.0/255.255.0.0)
acl all src 192.16.0.0/16
http_access
allow all
Следует отметить, что squid по
умолчанию будет запущен с правами пользователя nobody из группы
nogroup (это один из самых бесправных пользователей в системе),
следовательно необходимо позаботиться о соответствующих правах
доступа к каталогам:
chmod nobody:nogroup
/usr/local/squid/logs
mkdir /var/squid
chmod nobody:nogroup
/var/squid
Теперь все готово для первого
запуска:
/usr/local/squid/bin/squid -z
Эта команда создаст
необходимое количество подкаталогов в которых будут храниться данные
кеша. Все готово, теперь можно запускать прокси-сервер в обычном
режиме:
/usr/local/squid/bin/RunCache >/dev/null 2>&1
&
Однако разумно запускать squid сразу при старте системы,
например в FreeBSD для этого следует в каталоге /usr/local/etc/rc.d
создать файл следующего содержания:
#!/bin/sh
case "$1"
in
; старт прокси-сервера
start)
rm
/usr/local/squid/logs/squid.pid >/dev/null 2>&1
(cd
/tmp; /usr/local/squid/bin/RunCache >/dev/null 2>&1
&)
echo -n ' squid'
; остановка
прокси-сервера
stop)
kill `cat
/usr/local/squid/logs/squid.pid`
esac
exit 0
Итак прокси-сервер работает. Теперь, для работы с ним, необходимо правильно настроить наш браузер: например для Internet Explorer v6.0 это делается следующим образом: меню Tools ? Internet Options: далее вкладка Connections, кнопка LAN Settings: в открывшемся диалоговом окне требуется установить флажок Use proxy server for your LAN и записать адрес и порт прокси-сервера в соответствующие поля (в нашем случае это 192.16.0.1 и 3128). Несколько нажатий на кнопку ОК и ваш браузер готов для работы с прокси-сервером!
" [ опубликовано 14/01/2002 ]