Skip to content

Home Настройка сети и Интернета Экономим трафик: прокси-сервер Squid
Экономим трафик: прокси-сервер Squid

Как правило, при коммутируемом соединении (dial-up) мы платим за время, проведенное в Интернете. Но технологии не стоят на месте, и сейчас никого не удивишь ADSL/PPPoE-подключением на домашнем компьютере. Но в этом случае обычно мы платим не за время, проведенное в Интернете, а за объем принятых/переданных данных — за трафик.

С помощью прокси-сервера Squid можно очень эффективно управлять ресурсами своей сети, например, кэшировать трафик (http), "обрезать" баннеры, указать, какие файлы можно скачивать пользователям, а какие — нет, также можно указать максимальный объем передаваемого объекта и даже ограничить пропускную способность пользователей определенного класса. Поскольку мы не ставим перед собою цели настроить прокси-сервер для всей сети, а собираемся сэкономить немного собственноручно заработанных денег, то нам хватит базовой настройки Squid.

Squid несложен в настройке, во всяком случае, не сложнее Samba и подобных сетевых сервисов. Для установки нужно установить пакет squid. После установки пакета у вас в системе появится новый сервис — squid.

Сейчас приступим к редактированию основного конфигурационного файла /etc/squid/squid.conf.

# порт для прослушивания запросов клиентов

# задается в формате http_port <порт> или http_port <узел>:<порт>

# последний случай подходит, если Squid запущен на машине с несколькими

# сетевыми интерфейсами

http_port 192.168.0.1:3128

# Адрес прокси-провайдера, нужно согласовать с провайдером

# cach_peer proxy.your_isp.com

# Объем оперативной памяти в байтах, который будет использоваться

# прокси-сервером (85 Мбайт).

# Не устанавливайте более трети физического объема ОП,

# если данная машина должна использовать еще для чего-либо,

# можно задать в мегабайтах, но тогда между числом и MB обязательно

# должен быть пробел: cache_jnem 85 MB

cache_mem 87040

# Где будет размещен кэш.

# Первое число — это размер кэша в мегабайтах, не устанавливайте

# кэш на весь раздел.

# Если нужно чтобы он занимал весь раздел, отнимите от размера раздела

#    20% и укажите это значение.

# Например, если раздел 1024 Мбайт, то для кэша — только 820 Мбайт.

# Второе — количество каталогов первого уровня.

# Третье — количество каталогов второго уровня.

cache_dir /usr/local/squid 1024 16 256

# Максимальный размер квотируемого объекта.

# Если размер объекта превышает указанный здесь, то объект не

# будет сохранен на диске

# maximum_object_size 4096 KB

# Хосты, с которых разрешен доступ к прокси

acl allowed_hosts src 192.168.1.0/255.255.255.0

acl localhost src!27.0.0.1/255.255.255.255

# Разрешенные порты:

acl allow_ports port 80    # http

acl allow_ports port 21    # ftp

#    SSL-порты

acl SSL_ports port 443 563

# Запрещаем все порты, кроме указанных в allow_ports

http_access deny !allow_ports

# Запрещаем метод CONNECT для всех портов,

# кроме указанных в acl SSL_ports:

http_access deny CONNECT !SSL_ports

# Запретим доступ всем, кроме тех, кому можно

http_access allow localhost

http_access allow allowed_hosts http_access allow SSL_ports http_access deny all

# Пропишем пользователей, которым разрешено пользоваться

# squid (ppt, admin):

ident_lookup on

acl allowed_users ppt admin http_access allow allowed_users http_access deny all

Конечно, это далеко не полный конфигурационный файл, но в нашем случае больше и не нужно.

Если у вас есть небольшая сеть, то вы можете создать список узлов, которым разрешен доступ к прокси:

acl allowed_hosts src "/etc/squid/allowed-hosts.txt"

Сам файл /etc/squid/allowed-hosts.txt будет выглядеть так:

# ppt 
192.168.0.2/255.255.255.255
# admin
192.168.0.3/255.255.255.255

Отдельный файл использовать удобнее, чтобы не "засорять" основной конфигурационный файл. Обратите внимание: права доступа к allowed-hosts.txt должны быть такие же, как к squid.conf.

Теперь попробуем создать черный список URL:

acl blacklist url_regex adult 
http_access deny blaklist
http_access allow all

Данный черный список не пропускает URL, содержащие слово "adult". По аналогии можно было бы создать отдельный файл и записать в него все "плохие" URL. Заметьте, все это сделали только средства Squid, не привлекая squidGuard.

Запустить Squid просто:

# service squid start

Клиентов нужно настроить на порт 3128.

Настройка клиентов Squid (браузеров)
Настройка клиентов Squid (браузеров)

Комментарии (0)

RSS feed Comments

Написать комментарий

smaller | bigger

busy
 

Регистрация




Top