Jump to content

Squid как прозрачный кэширующий прокси


Recommended Posts

В каком плане наиболее высоких? У меня стоит squid прозрачный, в скриптах iptables всех клиентов заставляю через него работать, загрузка страниц действительно ускорилась. Вот уже больше чем пол года стоит и отлично работает. Через него же настроено обрезание канала по 50% на закачку и на лазания по инету... :)

Link to post
Share on other sites

Я щас на работе, поэтому 100% рабочий конфиг дать не могу, если кому нуна - пишите вышлю или сюда запостю, а вообще брал вот здесь:

 

http://gazette.linux.ru.net/rus/articles/b...ting_HOWTO.html

 

но что-то там у меня кажись не пахало, переписывал... вообщем если не будет работать пишите на мыло или в асю - вышлю без проблем... лучше вечером (после 21:00 Киевское Время).

Link to post
Share on other sites

squid.conf

---[ begin ]---

#squid.conf

#Каждый ключ в этом файле очень подробно описан в оригинальном

#файле squid.conf

#и по адресу http://www.visolve.com/squidman/Configuration%20Guide.html

visible_hostname city.home

#

#Порты, которые Squid будет "слушать".

http_port 3128

icp_port 3130

#Файлы в каталогах cgi-bins кэшироваться не будут.

acl QUERY urlpath_regex cgi-bin \?

no_cache deny QUERY

#Объем памяти, которую будет использовать Squid.

#Хотя он будет использовать гораздо больше.

# (Объем памяти, занимаемой Squid, рассчитывается по формуле:

# cache_mem * 3 -- Прим. пер.).

cache_mem 4 MB

#250 означает, что Squid будет использовать

#250 МБ дискового пространства.

cache_dir ufs /var/spool/squid 50 8 64

 

#Место, где будут расположены файлы журналов.

cache_log /var/log/squid/cache.log

cache_access_log /var/log/squid/access.log

cache_store_log /var/log/squid/store.log

cache_swap_log /var/log/squid/swap.log

#Сколько версий журналов оставлять до их удаления.

#Обратитесь к ЧаВО за более подробной информацией.

logfile_rotate 0

 

redirect_rewrites_host_header off

cache_replacement_policy GDSF

acl localnet src 192.168.3.0/255.255.255.0

acl localhost src 127.0.0.1/255.255.255.255

acl Safe_ports port 80 443 210 119 70 20 21 1025-65535

acl CONNECT method CONNECT

acl all src 0.0.0.0/0.0.0.0

http_access allow localnet

http_access allow localhost

http_access deny !Safe_ports

http_access deny CONNECT

http_access deny all

maximum_object_size 3000 KB

store_avg_object_size 50 KB

 

#Эти установки нужны, если вы хотите работать в "прозрачном" режиме.

#Прозрачный прокси-сервер означает, что Вам не придется его

#настраивать в клиентских браузерах. В этом, однако, есть и свои минусы.

#Если Вы просто оставите эти строки незакомментированными, то это ни

#на чем не отразится

httpd_accel_host virtual

httpd_accel_port 80

httpd_accel_with_proxy on

httpd_accel_uses_host_header on

 

#Всем внешним серверам будет казаться, что наши локальные

#пользователи используют браузер Mozilla, работающий на Linux. :)

#anonymize_headers deny User-Agent

#Поместите все в одну строку:

#fake_user_agent Mozilla/5.0 (X11; U; Linux i686; en-US; rv:0.9.6+) Gecko/20011122

 

#Что бы сделать наше соединение еще быстрее, поместите сюда

#две строки, аналогичные приведенной ниже. Они будут указывать

#на родительский прокси-сервер для нашего Squid. Не забудьте изменить

#адрес на тот, который ближе к Вам!

#Для измерений используйте ping, traceroute и т.п.

#Убедитесь, что порты http и icp указаны верно.

 

#Раскомментируйте строки, начинающиеся с "cache_peer", если необходимо.

#Это прокси-сервер, который Вы собираетесь использовать для всех запросов...

#cache_peer w3cache.icm.edu.pl parent 8080 3130 no-digest default

 

#...кроме запросов к адресам, начинающимся с "!".

#Неплохая идея не использовать родительский прокси-сервер для:

#cache_peer_domain w3cache.icm.edu.pl !.pl !7thguard.net !192.168.1.1

 

#Это полезно, когда мы хотим использовать менеджер кэша.

#Скопируйте cachemgr.cgi в каталог cgi-bin Вашего www-сервера.

#Теперь к нему можно обратится через браузер, введя адрес

#http://your-web-server/cgi-bin/cachemgr.cgi

cache_mgr your@email

cachemgr_passwd secret_password all

 

#Это имя пользователя и группы, от которых работает Squid.

cache_effective_user squid

cache_effective_group squid

 

log_icp_queries off

buffered_logs on

 

 

#####Пулы задержки

#Эта часть, является самой важной для ограничения входящего

#трафика при помощи Squid

#Для более детального описания обратитесь к файлу squid.conf, или

#к документации по адресу http://www.squid-cache.org

 

#Мы не хотим ограничивать загрузки внутри нашей ЛВС.

acl magic_words1 url_regex -i 192.168

 

#Мы хотим ограничить загрузки файлов следующих типов

#Поместите все в одну строку:

acl magic_words2 url_regex -i ftp .exe .mp3 .vqf .tar.gz .gz .rpm .zip .rar .avi .mpeg .mpe .mpg .qt .ram .rm .iso .raw .wav .mov

#Мы не блокируем .html, .gif, .jpg и аналогичные файлы, поскольку

#обычно они не занимают значительной части полосы пропускания

 

#Мы хотим ограничить скорость только днем и разрешить

#полную скорость ночью

#Внимание! acl приведенный ниже, скорее всего оборвет активные

#загрузки в 23:59. Прочтите раздел FAQ этого документа, если

#хотите этого избежать.

acl day time 12:00-23:59

 

#Определяем два пула задержки

#Обратитесь к документации Squid по вопросам

#с delay_pools и delay_class.

delay_pools 2

 

#Первый пул

#Мы не хотим ограничивать локальный трафик.

#Существует три класса пулов; мы же будем работать только со

#вторым. Первый пул (1) второго класса (2).

delay_class 1 2

 

#-1/-1 означает, что ограничений нет.

delay_parameters 1 -1/-1 -1/-1

 

#magic_words1: 192.168 мы определили раньше

delay_access 1 allow magic_words1

 

 

#Второй пул.

#мы хотим ограничить скорость загрузки для файлов,

#упомянутых в magic_words2.

#Второй пул (2) второго класса (2).

delay_class 2 2

 

#Числа -- это значения в байтах;

#нужно помнить, что Squid не предполагает наличия

#стартовых/стоповых битов

#5000/150000 -- значения для всей сети

#5000/120000 -- значения для одного IP-адреса

#после загрузки 150 Кбайт,

#(или даже в два или три раза большего количества)

#скорость будет ограничена до 5000 байт в секунду.

 

delay_parameters 2 5000/150000 5000/120000

#Мы установили day в 09:00-21:59 выше.

delay_access 2 allow day

delay_access 2 deny !day

delay_access 2 allow magic_words2

 

#EOF

---[ end ]---

 

как у меня в сети вообще все работает, что бы понятнее было:

есть юзвери они сидят в 192.168.0.X и есть выход на инет ppp0. При загрузке через iptables разрешаю всем из 192.168.3.X лазать по инету. Стоит VPN сервер (pptpd) который при подключении кидает в сеть 192.168.3.X (т.е. у людей появляется инет)... ДНС так же прикручен, он доступен без подключения к инету (но даже пинги не проходят, если не подключился), т.е. если человек без подключения впн наберет "ping www.ya.ru" выдаст его IP а пинги идти не будут, потом у меня в том же скрипте, где через iptables я делаю маскарадинг - я заставляю работать через свой proxy, обрезая параллельно скорость на закачку... одно время еще пытался настроить CBQ но как-то времени не хватило и забросил и так пока работает... вот-с...

В одной сети использую самопальный биллинг (снимает статистику в файле /etc/ppp/ip-down), а в другой использую TA-Billing, но что-то он мне не очень, вроде все удобно но не видно КОГДА и сколько юзверь налазил видно только по дням... есть идея мой биллинг до ума довести если кто фанат пишите в мыльницу, биллинг основан на подсчете в момент отключении юзверя от vpn... с MySQL и т.п. уже многое есть, но пока все еще сырое, если есть кто желающий - пишите, будем общаться (PHP, Perl, MySQL)...

e-mail: dip56245@mail.ru

icq: 82591163

Link to post
Share on other sites
  • 1 year later...

Приветствую. Есть 2 мучительных вопроса.

 

1). Как сделать так, чтобы squid, посылая страницы клиентам не подменял адресс источника на свой. (я классифицирую трафик в mangle->POSTROUTING по признаку Украина-МИР, однако все, что проходит через прокси имеет адрес источника - локальный сервера)

 

2). Ну что с этим делать, а?

ERROR

The requested URL could not be retrieved

 

--------------------------------------------------------------------------------

 

While trying to retrieve the URL: http://win.mail.ru/cgi-bin/readmsg?

 

The following error was encountered:

 

Connection Failed

The system returned:

 

(113) No route to hostThe remote host or network may be down. Please try the request again.

 

Your cache administrator is bill_gates@microsoft.net.

 

 

 

--------------------------------------------------------------------------------

 

Generated Sat, 11 Feb 2006 04:23:36 GMT by linux.site (squid/2.5.STABLE10)

 

Только после 2-3 реферешей пахать страница начинает, при этом связь стабильная, пропускная способность высокая на прова.

Спасибо.

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...