Продолжение материала статьи: Настройка шлюзового компьютера для выхода в интернет.

Для комфортной работы в командной строке рекомендуем установить программу midnight commander. Для этого выполните команду

$ sudo apt-get install mc

программа запускается командой

$ mc

или, если хотите получить привилегии root

$ sudo mc

В комплекте программы есть очень удобный текстовый редактор mcedit. Нужный конфигурационный файл для редактирования можно будет открывать командой

$ mcedit путь_и_имя_файла

или

$ sudo mcedit путь_и_имя_файла

Установка и настройка кеширующего доменного сервера

Рекомендуется перед началом дальнейшей настройки обновить систему и установить DNS-сервер и веб-сервер следующими командами:

$ sudo apt-get update
$ sudo apt-get upgrade
$ sudo apt-get install bind9
$ sudo apt-get install apache2

В файле /etc/bind/named.conf.options найдите строки

// forwarders {
//	0.0.0.0;
//};

и замените их на:

forwarders {
 81.176.72.82; 
 81.176.72.83;
};

И перезапустите bind (доменный сервер) командой

$ sudo /etc/init.d/bind9 restart

Установка и настройка прокси-сервера SQUID

$ sudo apt-get install squid3

Редактируем /etc/squid3/squid.conf

 

Примечание. В конфигурационных файлах строки, начинающиеся со знака #, считаются комментариями и не влияют на настройку программы.


Меняем строчку

http_port 3128

на

http_port 3128 transparent

Настраиваем кэш:

cache_dir ufs /var/spool/squid3 4096 32 256

Здесь указано, что для кеша будет использоваться 4Гб на диске.

Указываем внутренние сети, лишние комменитруем:

#acl localnet src 10.0.0.0/24 # RFC1918 possible internal network
#acl localnet src 172.16.0.0/12 # RFC1918 possible internal network
acl localnet src 192.168.0.0/16 # RFC1918 possible internal network

Разрешаем доступ из внутренних сетей. Для этого нужно найти и раскомментировать строку:

http_access allow localnet

На всякий случай устанавливаем лимит памяти:

memory_pools on
 memory_pools_limit 64 MB

Вписать (можно в конец файла) строчку:

dns_nameservers 127.0.0.1

Настройки программы squid закончены. Осталось дать команду их принять.

$ sudo /etc/init.d/squid3 stop
$ sudo /usr/sbin/squid3 -z
$ sudo /etc/init.d/squid3 start

Теперь если в браузере рабочих станций настроить прокси сервер с ip-адресом 192.168.0.254 и портом 3128, то все веб страницы будут загружаться именно через этот прокси сервер.

Настройка «прозрачности»

В файле /etc/iptables.up.rules секцию:

*nat

:OUTPUT ACCEPT [0:0]

:PREROUTING ACCEPT [0:0]

:POSTROUTING ACCEPT [0:0]

-A POSTROUTING -j MASQUERADE

COMMIT

меняем на:

*nat

:OUTPUT ACCEPT [0:0]

:PREROUTING ACCEPT [0:0]

:POSTROUTING ACCEPT [0:0]

-A PREROUTING -i eth1 -d ! 192.168.0.0/16 -p tcp -m multiport --dport 80,8080 -j DNAT --to-destination 192.168.0.254:3128

-A PREROUTING -i eth1 -p tcp -m multiport --dport 80,8080 -j REDIRECT --to-ports 3128

-A POSTROUTING -j MASQUERADE

COMMIT

Внимание! «-A PREROUTING -i eth1 -d ! 192.168.0.0/16 -p tcp -m multiport --dport 80,8080 -j DNAT --to-destination 192.168.0.254:3128» одна строка, разрывать ее нельзя

Теперь мы имеем полнофункциональный прокси-сервер, умеющий кешировать запросы и фильтровать контент. Осталось только научить его считать трафик.

Подсчет трафика с помощью Sarg

Для работы Sarg необходимо наличие web-сервера apache (см. выше). Устанавливается Sarg командой:

$sudo apt-get install sarg

После установки необходимо править конфигурационный файл /etc/sarg/sarg.conf

language English

заменить на

language Russian_UTF-8
access_log /var/log/squid/access.log

заменить на

access_log /var/log/squid3/access.log
output_dir /var/lib/sarg

заменить на

output_dir /var/www

После таких настроек каждую ночь после 1:00 сервер будет автоматически формировать отчет со списком клиентских машин (в списке представлены их IP-адресами), с указанием потребленного HTTP-трафика и возможностью расшифровки по адресам открытых сайтов. Этот отчет будет доступен в браузере с любой клиентской машины по адресу http://192.168.0.254

Вручную отчет можно сформировать командой:

$ sudo sarg

Примечание. Не забывайте удалять ненужные отчеты из папки /var/www на сервере. Иначе может быстро кончиться дисковое пространство.