Прозрачный прокси сервер с применением squid

Posted by

В продолжение заметки по настройки выступающей в домашней или малой офисной сети поднимем прозрачный прокси с применением Squid версии 3.

И так система та же:

keiz@vkeiz:~$ uname -a && lsb_release -a

Linux vkeiz 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:34:50 UTC 2010 i686 GNU/Linux

Description:     

Release:           10.10

Codename:      maverick

 

Посмотрим, имеется ли данный пакет в репозитариях Ubuntu 10.10:

keiz@vkeiz:~$ apt-cache search squid3

squid-cgi — A full featured Web Proxy cache (HTTP proxy) — control CGI

squid3 — A full featured Web Proxy cache (HTTP proxy)

squid3-common — A full featured Web Proxy cache (HTTP proxy) — common files

squid3-dbg — A full featured Web Proxy cache (HTTP proxy) — Debug symbols

squidclient — A full featured Web Proxy cache (HTTP proxy) — control utility

 

Информация по пакету присутствующему в репозитариях Ubuntu 10.10:

keiz@vkeiz:~$ apt-cache show squid3

Package: squid3

Priority: optional

Section: universe/web

Installed-Size: 3524

Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>

Original-Maintainer: Luigi Gangitano <luigi@debian.org>

Architecture: i386

Version: 3.1.6-1.1ubuntu1

Depends: libc6 (>= 2.7), libcap2 (>= 2.10), libcomerr2 (>= 1.01), libdb4.8, libexpat1 (>= 1.95.8), libgcc1 (>= 1:4.1.1), libgssapi-krb5-2 (>= 1.8+dfsg), libk5crypto3 (>= 1.6.dfsg.2), libkrb5-3 (>= 1.6.dfsg.2), libldap-2.4-2 (>= 2.4.7), libltdl7 (>= 2.2.6b), libpam0g (>= 0.99.7.1), libsasl2-2, libstdc++6 (>= 4.4.0), libxml2 (>= 2.7.4), netbase, adduser, logrotate (>= 3.5.4-1), squid3-common (= 3.1.6-1.1ubuntu1), lsb-base

Suggests: squidclient, squid-cgi, resolvconf (>= 0.40), smbclient, ufw

Filename: pool/universe/s/squid3/squid3_3.1.6-1.1ubuntu1_i386.deb

Size: 1343734

MD5sum: 381650a2b3f13ce230671d2be171b20d

SHA1: 23a28c5aa25999b538fffa6a5d3c426255c36524

SHA256: 7f15cccc41baab99e2e66bd4c56e6e9de804215eeeebb2d231ce396fa9166537

Description: A full featured Web Proxy cache (HTTP proxy)

Squid is a high-performance proxy caching server for web clients, supporting

FTP, gopher, and HTTP data objects.

Squid version 3 is a major rewrite of Squid in C++ and introduces a number of

new features including ICAP and ESI support.

Homepage: http://www.squid-cache.org

Bugs: https://bugs.launchpad.net/ubuntu/+filebug

Origin: Ubuntu

Package: squid3

Priority: optional

Section: universe/web

Installed-Size: 3524

Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>

Original-Maintainer: Luigi Gangitano <luigi@debian.org>

Architecture: i386

Version: 3.1.6-1.1ubuntu1.2

Depends: libc6 (>= 2.7), libcap2 (>= 2.10), libcomerr2 (>= 1.01), libdb4.8, libexpat1 (>= 1.95.8), libgcc1 (>= 1:4.1.1), libgssapi-krb5-2 (>= 1.8+dfsg), libk5crypto3 (>= 1.6.dfsg.2), libkrb5-3 (>= 1.6.dfsg.2), libldap-2.4-2 (>= 2.4.7), libltdl7 (>= 2.2.6b), libpam0g (>= 0.99.7.1), libsasl2-2, libstdc++6 (>= 4.4.0), libxml2 (>= 2.7.4), netbase, adduser, logrotate (>= 3.5.4-1), squid3-common (= 3.1.6-1.1ubuntu1.2), lsb-base

Suggests: squidclient, squid-cgi, resolvconf (>= 0.40), smbclient, ufw

Filename: pool/universe/s/squid3/squid3_3.1.6-1.1ubuntu1.2_i386.deb

Size: 1348524

MD5sum: 2ee1784ac91699f2cfb753edb893dabf

SHA1: ba0e8fff8d30db80cca039a76797f6f7710db4ba

SHA256: 825f7253fb818e41fe8fca725697345535687ab5496c72ba3201db1413c7fae5

Description: A full featured Web Proxy cache (HTTP proxy)

Squid is a high-performance proxy caching server for web clients, supporting

FTP, gopher, and HTTP data objects.

Squid version 3 is a major rewrite of Squid in C++ and introduces a number of

new features including ICAP and ESI support.

Homepage: http://www.squid-cache.org

Bugs: https://bugs.launchpad.net/ubuntu/+filebug

Origin: Ubuntu

 

Установим пакет в систему:

keiz@vkeiz:~$ sudo apt-get install squid3

[sudo] password for keiz:

Reading package lists… Done

Building dependency tree

Reading state information… Done

The following extra packages will be installed:

squid-langpack squid3-common

Suggested packages:

squidclient squid-cgi resolvconf

The following NEW packages will be installed:

squid-langpack squid3 squid3-common

0 upgraded, 3 newly installed, 0 to remove and 384 not upgraded.

Need to get 1,695kB of archives.

After this operation, 9,806kB of additional disk space will be used.

Do you want to continue [Y/n]? y

Creating Squid HTTP proxy 3.x spool directory structure

2012/12/21 07:55:06| Creating Swap Directories

* Restarting Squid HTTP Proxy 3.x squid3 * Creating Squid HTTP Proxy 3.x cache structure

2012/12/21 07:55:08| Creating Swap Directories                                           [ OK ]

 

Перед редактированием файла настроек squid создадим резервную копию:

keiz@vkeiz:~$ sudo cp /etc/squid3/squid.conf /etc/squid3/squid.conf.backup

 

Редактируем файл настроек squid:

keiz@vkeiz:~$ sudo nano /etc/squid3/squid.conf

# Squid normally listens to port 3128

http_port 3128 transparent

#Название Вашего прокси которое будет отображаться на страницах уведомления

#, где internet – название Вашей прокси

visible_hostname internet

#Разрешим доступ к прокси для компьютеров из нашей сети 10.0.2.0

acl polygon_our_networks src 10.0.2.0/24

http_access allow polygon_our_networks

#Укажем какое количество памяти под кэш выделять на Squid

#через утилиту free –m узнаём количество памяти free и половину отдаём.

cache_mem 256 MB

#директория кэша

#keiz@vkeiz:~$ sudo du -sm /var/spool/squid3/ — занимаемый размер

cache_dir ufs /var/spool/squid3 1024 16 256

#Включаем логирование

access_log /var/run/squid/var/log/access.log squid

cache_log /var/run/squid/var/log/cache.log

Сохраняем внесённые изменения (Ctrl + O) и выходим (Ctrl + X).

 

Перезагружаем Squid3:

keiz@vkeiz:~$ sudo /etc/init.d/squid3 restart

[sudo] password for keiz:

* Restarting Squid HTTP Proxy 3.x squid3    [ OK ]

 

Теперь компьютеры в нашей сети с DNS суффиксом polygon.local смогут выходить в интернет через ваш “прозрачный” прокси. На этом всё, удачи!!!

4 комментария

  1. Уважаемый keiz, а разве на фаерфоле не нужно добавить divert правило для заворота пакетов из локальной сети на порт 80 -> localhost 3128?

      1. Тогда этот траффик будет просто маршрутизироваться в интернет, если конечно в браузерах клиентов не прописан наш squid:3128.

  2. Да ты прав — это мое упущение, лучше ничего на компьютерах не вводить, все должно работать прозрачно.

Leave a Reply

Ваш e-mail не будет опубликован. Обязательные поля помечены *

20 − 2 =