В последнее время во многих городах (и особенно в Москве) стали широко распространяться высокоскоростные подключения основанные на Ethernet (домовые сети), кабельных модемах (сети кабельного телевидения), а так же на ASDL (технология высокоскоростного ассиметричного доступа), которые, однако, обладают серьезным недостатком — пользователь такого соединения обычно сильно ограничен по объему так называемого «входящего» трафика, т.е. по объему скачиваемой информации. Не секрет, что большинство пользователей имеет определенные предпочтения при просмотре сайтов — одни и те же сайты посещаются изо дня в день в поисках свежей информации опубликованной на их страницах (например http://www.softerra.ru). При этом раз за разом закачивается большое количество статичной информации — разного рода плашки, графические заголовки и т.п. Многие немедленно мне возразят — а как же встроенный кеш браузера? Да пожалуй никак, отвечу я — к сожалению способы кеширования у браузеров настолько далеки от совершенства, что не выдерживают никакой критики. А если у вас дома или в офисе к Интернету подключен не один компьютер, а несколько? Надеюсь теперь многие поняли о чем пойдет речь в этой статье — о решении проблемы кеширования входящего трафика кардинальным образом, а именно при помощи домашнего прокси-сервера. Итак если вы хотите снизить объем входящего трафика и/или у вас дома или в офисе к Интернету подключено несколько пользователей решение с использованием прокси-сервера для вас. Да, я чуть не забыл — использование прокси-сервера на медленном выделенном канале (скажем 64кбит/сек) значительно ускорит загрузку страниц ваших любимых сайтов. Для устройства прокси-сервера будем использовать бесплатное программное обеспечение —прокси-сервер Squid (см. http://www.squid-cache.org) на базе FreeBSD или Linux. Вообще-то Squid существует и для Windows NT, однако ценность такого решения на мой взгляд является сомнительной. Перед установкой Squid следует скачать последнюю стабильную версию в виде исходных кодов ( http://www.squid-cache.org/Versions/v2/2.4/), или бинарного пакета с сервера производителя дистрибутива вашей операционной системы. Для компиляции исходных кодов применяется стандартная последовательность: ./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). Несколько нажатий на кнопку «ОК» и ваш браузер готов для работы с прокси-сервером! Комментарии: 0 Отправить другу |