В продолжение заметки по настройки dnsmasq выступающей в домашней или малой офисной сети поднимем прозрачный прокси с применением 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: Ubuntu 10.10
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 смогут выходить в интернет через ваш “прозрачный” прокси. На этом всё, удачи!!!
Уважаемый keiz, а разве на фаерфоле не нужно добавить divert правило для заворота пакетов из локальной сети на порт 80 -> localhost 3128?
Нет не нужно. Но всегда можешь проверить на своем стенде.
Тогда этот траффик будет просто маршрутизироваться в интернет, если конечно в браузерах клиентов не прописан наш squid:3128.
Да ты прав — это мое упущение, лучше ничего на компьютерах не вводить, все должно работать прозрачно.