Сегодня я покажу, как реализовать вот такую вот схему:
Компьютер с двумя сетевыми картами, одна eth0 смотрит в интернет, а другая eth1 смотрит в локальную сеть. Далее на этой системе будет развернут пакет DNSMASQ (для управления DNS и DHCP в локальной сети) и пакет SQUID версии 3.5.19 с поддержкой анализа, как трафика http так и зашифрованного трафика https на котором уже большинство ресурсов работает. Также будет разобрано, как получать статистику использования интернета не по назначению. Для чего все это? – дело в том, что на текущем месте поставили задачу нужно руководству предоставлять статистику по сотрудникам как они в рабочее время используют ресурсы интернета, а то что-то в последнее время упала производительность отделов и нужно это хоть как-то обосновать перед учредителями. Ну это если честно не моё дело, мне поручено предоставить сформированную статистику, чем я и займусь в рамках описания пошаговых действий.
И так в моем распоряжении система (Ubuntu 14.04.5 Server amd64) со следующими характеристиками:
- CPU = 2
- HDD = 50
- RAM = 2
если нужно будет больше, то HDD я расширю через LVM (система обязательно должна стоять на LVM разделе), а CPU & RAM через vSphere Client в свойствах виртуальном машины, физическое же использование серверов уже подошло к концу или применяется под выполнение конкретных задач, я же с таким редко сталкиваюсь, а потому стараюсь задействовать виртуализацию.
Начинаю…
Шаг №1: Настройка сетевых интерфейсов:
ekzorchik@srv-host:~$ sudo nano /etc/network/interfaces
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 10.90.90.1
netmask 255.255.255.0
ekzorchik@srv-host:~$ sudo ifup eth1
(У меня интерфейс eth0 получает от Mikrotik (который является шлюзом в интернет) сетевой адрес который прописан, как статика для данной системы)
Шаг №2: Привожу систему к актуальному состоянию в рамках текущего релиза Ubuntu Trusty:
ekzorchik@srv-host:~$ sudo rm -Rf /var/lib/apt/lists/
ekzorchik@srv-host:~$ sudo apt-get update && sudo apt-get upgrade -y
Итого информация по системе:
ekzorchik@srv-host:~$ uname -a && lsb_release -a
Linux srv-host 3.19.0-25-generic #26~14.04.1-Ubuntu SMP Fri Jul 24 21:16:20 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 14.04.5 LTS
Release: 14.04
Codename: trusty
Шаг №3: Указываю именование системы, настраиваю часовой пояс, время:
ekzorchik@srv-host:~$ sudo nano /etc/hosts
10.90.90.1 srv-host.polygon.local srv-host
ekzorchik@srv-host:~$ sudo nano /etc/hostname
srv-host.polygon.local
ekzorchik@srv-host:~$ sudo apt-get install ntpdate ntp -y
ekzorchik@srv-host:~$ sudo nano /etc/ntp.conf
server <IP_ADDRESS_MIKROTIK>
Шаг №4: Устанавливаю пакет dnsmasq и настраиваю его:
ekzorchik@srv-host:~$ sudo apt-get install dnsmasq -y
ekzorchik@srv-host:~$ dnsmasq --version | head -n 1
Dnsmasq version 2.68 Copyright (c) 2000-2013 Simon Kelley
ekzorchik@srv-host:~$ sudo cp /etc/dnsmasq.conf /etc/dnsmasq.conf.backup
ekzorchik@srv-host:~$ sudo bash -c "cat > /etc/dnsmasq.conf"
^C — по клавиатурному сочетанию Ctrl + C прерываем выполнение команды выше по очистке содержимого файла /etc/dnsmasq.conf
ekzorchik@srv-host:~$
ekzorchik@srv-host:~$ sudo nano /etc/dnsmasq.conf
interface=eth1
resolv-file=/etc/resolv.dnsmasq.conf
domain=polygon.local
server=/polygon.local/10.90.90.1
server=/90.90.10.in-addr.arpa/10.90.90.1
dhcp-range=10.90.90.20,10.90.90.30,1D
dhcp-option=3,10.90.90.1
dhcp-leasefile=/var/lib/misc/dnsmasq.leases
log-queries
log-facility=/var/log/dnsmasq.log
dhcp-option=1,255.255.255.0
Проверяю конфигурационный файл /etc/dnsmasq.conf на корректность:
ekzorchik@srv-host:~$ /usr/sbin/dnsmasq --test
dnsmasq: syntax check OK.
Советую после внесения изменений в файл /etc/dnsmasq.conf делать (stop && start, restart у меня почему-то не отрабатывал и я кучу времени убил на это чтобы выяснить):
ekzorchik@srv-host:~$ sudo /etc/init.d/dnsmasq stop
ekzorchik@srv-host:~$ sudo /etc/init.d/dnsmasq start
Снимаем символ комментария со строки в файле dhclient.conf:
ekzorchik@srv-host:~$ sudo nano /etc/dhcp/dhclient.conf
prepend domain-name-servers 127.0.0.1;
Шаг №5: Нужно настроить правила маршрутизации для обработки соединений от локальной сети.
ekzorchik@srv-host:~$ sudo ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
y
Firewall is active and enabled on system startup
ekzorchik@srv-host:~$ sudo nano /etc/default/ufw
IPV6=no
DEFAULT_FORWARD_POLICY="ACCEPT"
ekzorchik@srv-host:~$ sudo nano /etc/ufw/sysctl.conf
net/ipv4/ip_forward=1
#IPv6
net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1
ekzorchik@srv-host:~$ sudo ufw default deny
Default incoming policy changed to 'deny'
(be sure to update your rules accordingly)
ekzorchik@srv-host:~$ sudo ufw allow ssh
Для DNS — это 53 порт (TCP+UDP)
ekzorchik@srv-host:~$ sudo ufw allow domain
Для DHCP — это порт 67 и 68 UDP
ekzorchik@srv-host:~$ sudo ufw allow from any port 68 to any port 67 proto udp
ekzorchik@srv-host:~$ sudo ufw logging on
ekzorchik@srv-host:~$ sudo nano /etc/ufw/before.rules
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.90.90.0/24 -o eth0 -j MASQUERADE
COMMIT
ekzorchik@srv-host:~$ sudo ufw disable && sudo ufw enable
Firewall stopped and disabled on system startup
Command may disrupt existing ssh connections. Proceed with operation (y|n)?
y
Firewall is active and enabled on system startup
ekzorchik@srv-host:~$ sudo ufw reload
ekzorchik@srv-host:~$ sudo ufw status
Шаг №6: Проверяю, что рабочие станции в локальной сети за данной системой (srv-host) получают (если не получают то попробуйте прописать вручную, если работает то значит Вы что-то намудрили в конфигурационном файле dnsmasq.conf) сетевой адрес из диапазона и видят интернет.
C:\Windows\system32>ping ya.ru
Обмен пакетами с ya.ru [93.158.134.3] с 32 байтами данных:
Ответ от 93.158.134.3: число байт=32 время=8мс TTL=53
Ответ от 93.158.134.3: число байт=32 время=7мс TTL=53
Шаг №7: Теперь собственно самый ответственный шаг — это установка и настройка squid на данной Ubuntu‘овской системе которая в настоящий момент выполняет роль шлюза ориентированного для малой сети, где использование домен контроллера не оправдано (к примеру сеть полностью состоит из Linux машин, или парк машин ограничен малым числом, и т.д).
Текущая версия squid из дефолтных репозитариев слишком стара, а потому я произведу установку репозитария в котором я убедился присутствует версию deb пакета squid равным 3.5.19
ekzorchik@srv-host:~$ apt-cache show squid3 | grep Version
Version: 3.3.8-1ubuntu6.8
Version: 3.3.8-1ubuntu6
ekzorchik@srv-host:~$ sudo nano /etc/apt/sources.list
deb http://ubuntu.diladele.com/ubuntu trusty main
deb-src http://ubuntu.diladele.com/ubuntu trusty main
На заметку: советую выделить отдельно стоящую систему на которой развернуть сервер кэширующих пакетов (deb), в частности задействовав утилиту apt-cacher. Этим вы всегда будете иметь все пакеты (deb-пакеты) которые вы когда либо ставили, по сути это будет Ваша резервная копия и Вы не будете зависеть ни от кого.
Обновляю информацию по репозитариям добавленным в систему:
ekzorchik@srv-host:~$ sudo apt-get update
Теперь смотрю какая версия squid мне доступна для установки:
ekzorchik@srv-host:~$ apt-cache show squid3 | grep Version
Version: 3.5.19-1
Version: 3.3.8-1ubuntu6.8
Version: 3.3.8-1ubuntu6
Отлично, а теперь приступаю к установке:
ekzorchik@srv-host:~$ nano script-tools.sh
# install build tools
apt-get -y install devscripts build-essential fakeroot debhelper dh-autoreconf cdbs
# install build dependences for squid
apt-get -y build-dep libecap
apt-get -y build-dep squid3
# uninstall libecap2 as we will be using the libecap3
apt-get -y --purge remove libecap2-dev libecap2
# install additional packages for new squid
apt-get -y install nettle-dev libgnutls28-dev libssl-dev libdbi-perl
ekzorchik@srv-host:~$ sudo sh ./script-tools.sh
После ставлю пакет libecap3:
ekzorchik@srv-host:~$ sudo apt-get install libecap3 libecap3-dev -y --force-yes
А теперь ставлю Squid версии 3.5.19 с поддержкой OpenSSL:
ekzorchik@srv-host:~$ sudo apt-get install squid-langpack squid-common squid squidclient -y --force-yes
ekzorchik@srv-host:~$ squid -v
Squid Cache: Version 3.5.19
Service Name: squid
Ubuntu linux
configure options: '--build=x86_64-linux-gnu' '--prefix=/usr' '--includedir=${prefix}/include' '--mandir=${prefix}/share/man' '--infodir=${prefix}/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=${prefix}/lib/squid3' '--srcdir=.' '--disable-maintainer-mode' '--disable-dependency-tracking' '--disable-silent-rules' 'BUILDCXXFLAGS=-g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' '--datadir=/usr/share/squid' '--sysconfdir=/etc/squid' '--libexecdir=/usr/lib/squid' '--mandir=/usr/share/man' '--enable-inline' '--disable-arch-native' '--enable-async-io=8' '--enable-storeio=ufs,aufs,diskd,rock' '--enable-removal-policies=lru,heap' '--enable-delay-pools' '--enable-cache-digests' '--enable-icap-client' '--enable-follow-x-forwarded-for' '--enable-auth-basic=DB,fake,getpwnam,LDAP,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB' '--enable-auth-digest=file,LDAP' '--enable-auth-negotiate=kerberos,wrapper' '--enable-auth-ntlm=fake,smb_lm' '--enable-external-acl-helpers=file_userip,kerberos_ldap_group,LDAP_group,session,SQL_session,time_quota,unix_group,wbinfo_group' '--enable-url-rewrite-helpers=fake' '--enable-eui' '--enable-esi' '--enable-icmp' '--enable-zph-qos' '--enable-ecap' '--disable-translation' '--with-swapdir=/var/spool/squid' '--with-logdir=/var/log/squid' '--with-pidfile=/var/run/squid.pid' '--with-filedescriptors=65536' '--with-large-files' '--with-default-user=proxy' '--with-openssl' '--enable-ssl' '--enable-ssl-crtd' '--enable-build-info=Ubuntu linux' '--enable-linux-netfilter' 'build_alias=x86_64-linux-gnu' 'CFLAGS=-g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -Wall' 'LDFLAGS=-Wl,-Bsymbolic-functions -fPIE -pie -Wl,-z,relro -Wl,-z,now' 'CPPFLAGS=-D_FORTIFY_SOURCE=2' 'CXXFLAGS=-g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security'
Определяю местонахождение конфигурационного файла:
ekzorchik@srv-host:~$ sudo updatedb
ekzorchik@srv-host:~$ sudo locate squid.conf
/etc/squid/squid.conf
/usr/share/doc/squid-common/squid.conf.documented.gz
/var/lib/dpkg/info/squid.conffiles
Делаю резервную копию дефолтного конфигурационного файла:
ekzorchik@srv-host:~$ sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.backup
Очищаю содержимое конфигурационного файла squid.conf, т. к. в нем будет содержаться только то, что необходимо мне в рамках данной заметки:
ekzorchik@srv-host:~$ sudo bash -c "cat > /etc/squid/squid.conf"
Теперь создаю сертификат текущего сервера с которым будет работать SQUID:
ekzorchik@srv-host:~$ sudo mkdir /etc/squid/ssl
ekzorchik@srv-host:~$ cd /etc/squid/ssl/
ekzorchik@srv-host:/etc/squid/ssl$ sudo openssl req -new -newkey rsa:2048 -days 3650 -nodes -x509 -keyout squidca.pem -out squidca.pem
Common Name (e.g. server FQDN or YOUR name) []:<указываем IP&FQDN имя текущего сервера который смотрит в локальную сеть, в моем случае это 10.90.90.1>
Ограничиваем доступ к полученному приватному ключу squidca.pem:
ekzorchik@srv-host:/etc/squid/ssl$ sudo chmod 400 squidca.pem
ekzorchik@srv-host:/etc/squid/ssl$ cd ~/
А теперь собственно и конфигурационный файл squid.conf:
На заметку: описание директив для данной версии SQUID можно найти здесь: http://www.squid-cache.org/Versions/v3/3.5/cfgman/
ekzorchik@srv-host:~$ sudo nano /etc/squid/squid.conf
######################################
# Обслуживаемые прокси-сервером сети #
######################################
acl localnet src 10.90.90.0/24 # RFC1918 possible internal network
#################################################
# Правила какие порты разрешены прокси-сервером #
#################################################
# Порт SSL для подключений по HTTPS-протоколу
acl SSL_ports port 443
# Список портов, к которым разрешен доступ через прокси-сервер по протоколу HTTP
acl Safe_ports port 80 # http
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 # https
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl CONNECT method CONNECT
visible_hostname srv-host.polygon.local
# ниже две директивы для подробного логирования
strip_query_terms off
log_mime_hdrs on
################################################################
# Пути к файлам запрещающих, разрешающих определенные действия #
################################################################
# Листинг IP-адресов компьютеров которые игнорируются SQUID запреты
acl SuperIP src "/etc/squid/SuperIP.txt"
# Разрешенный список сайтов
acl WhiteList dstdomain "/etc/squid/WhiteList.txt"
# Запрещенный список сайтов
acl BlackList dstdomain "/etc/squid/BlackList.txt"
#########################
# Параметры DNS записей #
#########################
# Список DNS серверов(IP адреса), которые будут использоваться вместо тех, что определены в /etc/resolv.conf файле
dns_nameservers 10.90.90.1
#########################################
# Правила ограничений доступа клиентов #
#########################################
# Запретить доступ к портам, отсутствующим в списке выше
http_access deny !Safe_ports
# Запретить метод CONNECT не на SSL-порт
http_access deny CONNECT !SSL_ports
# Разрешить только локальное управление кэшем
http_access allow localhost manager
http_access deny manager
# Не ограничивать локальный доступ с сервера
http_access allow localhost
# Не ограничивать доступ администраторам
http_access allow SuperIP
# Блокировать запрещенные сайты
http_access deny BlackList
# Правила разрешающего доступ в интернет из локальной сети указанной в localnet
http_access allow localnet
# Блокирует все, что не было разрешено выше
http_access deny all
################################################
# Правила подключений клиентов к прокси-серверу#
################################################
# Подключения через прозрачный порт
http_port 10.90.90.1:3128 intercept options=NO_SSLv3:NO_SSLv2
# Подключение через указания прокси-сервера на строне клиента
http_port 10.90.90.1:3130 options=NO_SSLv3:NO_SSLv2
# Подключение по HTTPS через прозрачный порт с параметрами подставки сертификата
https_port 10.90.90.1:3129 intercept ssl-bump options=ALL:NO_SSLv3:NO_SSLv2 connection-auth=off cert=/etc/squid/ssl/squidca.pem
# Принимаем сертификаты, даже если они не прошли проверку.
always_direct allow all
sslproxy_cert_error allow all
sslproxy_flags DONT_VERIFY_PEER
# Укажем список запрещенный сайтов (в файле домены вида .domain.com) и правила блокировки их
acl blocked ssl::server_name "/etc/squid/BlackList.txt"
# Устанавливаем защищенное соединение и считываем заголовок HTTP
acl step1 at_step SslBump1
ssl_bump peek step1
# Закрываем соединение, если клиент заходит на ресурс указанные в blocked
ssl_bump terminate blocked
ssl_bump splice all
sslcrtd_program /usr/lib/squid/ssl_crtd -s /var/lib/ssl_db -M 4MB
#########################################
# Дополнительные параметры конфигурации #
#########################################
# Путь для дискового кеширования
cache_dir aufs /var/spool/squid 20000 49 256
# Путь сохранения дампов аварийного завершения
coredump_dir /var/spool/squid
# Время жизни объектов для протоколов FTP и GOPHER
refresh_pattern ^ftp: 1440 20% 10080
refresh_pattern ^gopher: 1440 0% 1440
# Нулевое время жизни для динамического контента
refresh_pattern -i (/cgi-bin/|\?) 0 0% 0
# Время жизни по умолчанию
refresh_pattern . 0 20% 4320
maximum_object_size 61440 KB
minimum_object_size 3 KB
cache_swap_low 90
cache_swap_high 95
# Максимальный размер объекта, сохраняемого в оперативной памяти
maximum_object_size_in_memory 512 KB
memory_replacement_policy lru
logfile_rotate 4
По окончании не забываем сохранить внесенные изменения в конфигурационный файл squid.conf.
Создаю необходимые текстовые файлы предопределенные в конфигурационном файле squid.conf:
ekzorchik@srv-host:~$ sudo touch /etc/squid/SuperIP.txt
ekzorchik@srv-host:~$ sudo touch /etc/squid/WhiteList.txt
ekzorchik@srv-host:~$ sudo nano /etc/squid/BlackList.txt
.fishki.net
.yaplaka.com
.odnoklassniki.ru
games.mail.ru
hh.ru
superjob.ru
Теперь нужно проверить конфигурационный файл squid.conf на корректность: (в выводе не должно быть ни какого упоминания об ERROR)
ekzorchik@srv-host:~$ sudo squid -k parse
Наполняю файл запрещающих сайтов не относящихся к работе:
ekzorchik@srv-host:~$ sudo bash -c "echo .yandex.ru > /etc/squid/BlackList.txt"
Теперь запускаю SQUID:
ekzorchik@srv-host:~$ sudo /etc/init.d/squid stop
ekzorchik@srv-host:~$ sudo /etc/init.d/squid start
ekzorchik@srv-host:~$ sudo /etc/init.d/squid status
* squid is running
ekzorchik@srv-host:~$ sudo netstat -tulpn | grep 'squid'
tcp 0 0 192.168.1.174:3128 0.0.0.0:* LISTEN 2108/(squid-1)
tcp 0 0 192.168.1.174:3129 0.0.0.0:* LISTEN 2108/(squid-1)
tcp 0 0 192.168.1.174:3130 0.0.0.0:* LISTEN 2108/(squid-1)
udp 0 0 0.0.0.0:35255 0.0.0.0:* 2108/(squid-1)
udp6 0 0 :::45353 :::* 2108/(squid-1)
ekzorchik@srv-host:~$ sudo tail -f /var/log/squid/cache.log
Теперь осталось дополнить правила в брандмауэре на заворачивание всего трафика из локальной сети на SQUID:
ekzorchik@srv-host:~$ sudo nano /etc/ufw/before.rules
*nat
:POSTROUTING ACCEPT [0:0]
:PREROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.90.90.0/24 -o eth0 -j MASQUERADE
-A PREROUTING -p tcp -m tcp -s 10.90.90.0/24 --dport 443 -j REDIRECT --to-ports 3129
-A PREROUTING -p tcp -m tcp -s 10.90.90.0/24 --dport 80 -j REDIRECT --to-ports 3128
COMMIT
ЛИБО ДАТЬ ДОСТУП ИЗ ВСЕЙ СЕТИ – НО ЛУЧШЕ ИСПОЛЬЗОВАТЬ РЕДАКТИРОВАНИЕ ФАЙЛА /etc/ufw/before.rules
ekzorchik@srv-host:~$ sudo ufw allow from 10.90.90.0/24 to any port 3128
ekzorchik@srv-host:~$ sudo ufw allow from 10.90.90.0/24 to any port 3129
После перезапускаю ufw:
ekzorchik@srv-host:~$ sudo ufw reload
Шаг №8: Проверяю, как отрабатывает блокировка и собственно сама работа squid с клиентской станции в локальной сети:
, но вот что всплыло, если добавить себя IP адрес в файлы SuperIP.txt то интернет как и нужно работает без ограничений, а если себя туда не добавлять то на всех страницах я получаю отбивку, что доступ запрещен:
Анализ логов сервера привел меня:
ekzorchik@srv-host:~$ sudo tail -f /var/log/squid/access.log
1472897326.734 144614 10.90.90.26 TAG_NONE/200 0 CONNECT 217.69.133.148:443 - HIER_NONE/- -
1472897326.734 144539 10.90.90.26 TCP_TUNNEL/200 11013 CONNECT top-fwz1.mail.ru:443 - ORIGINAL_DST/217.69.133.148 -
1472897340.692 5001 10.90.90.26 TCP_DENIED/200 0 CONNECT 5.255.255.5:443 - HIER_NONE/- -
1472897348.502 0 10.90.90.26 TCP_DENIED/200 0 CONNECT 5.255.255.5:443 - HIER_NONE/- -
1472897348.513 0 10.90.90.26 TCP_DENIED/200 0 CONNECT 5.255.255.5:443 - HIER_NONE/- -
1472897348.525 1 10.90.90.26 TAG_NONE/403 3768 GET https://yandex.ru/ - HIER_NONE/- text/html
1472897348.534 0 10.90.90.26 TCP_DENIED/200 0 CONNECT 5.255.255.5:443 - HIER_NONE/- -
1472897348.553 0 10.90.90.26 TAG_NONE/403 3768 GET http://srv-host.polygon.local:0/squid-internal-static/icons/SN.png - HIER_NONE/- text/html
1472897357.933 59 10.90.90.26 TCP_DENIED/403 4383 GET http://yahoo.com/ - HIER_NONE/- text/html
1472897358.036 2 10.90.90.26 TCP_DENIED/403 4428 GET http://srv-host.polygon.local:0/squid-internal-static/icons/SN.png - HIER_NONE/- text/html
^Cekzorchik@srv-host:~$ sudo tail -f /var/log/squid/cache.log
2016/09/03 13:07:49 kid1| ERROR: No forward-proxy ports configured.
2016/09/03 13:07:57 kid1| ERROR: No forward-proxy ports configured.
У меня просто в squid.conf Не правильно была указана сеть для которой работает squid:
acl localnet src 10.90.90.0/24 # RFC1918 possible internal network
ekzorchik@srv-host:~$ sudo service squid restart
ekzorchik@srv-host:~$ sudo service squid status
* squid is running
Вот теперь с клиентской станции все прекрасно открывается, за исключением домена Yandex, если же попробовать перейти на https://yandex.ru в ответ получится отбивка от squid:
Отлично, работает как и планировалось.
Если же нужно подсадить на прокси не всю локальную сеть, а только конкретные компьютеры, то нужно в настройках браузера прописать:
10.90.90.1:3130
а на сервере squid поправить правила:
ekzorchik@srv-host:~$ sudo nano /etc/ufw/before.rules
# другие правила не трогает, оставляем как есть.
#-A PREROUTING -p tcp -m tcp -s 10.90.90.0/24 --dport 443 -j REDIRECT --to-ports 3129
-A PREROUTING -p tcp -m tcp -s 10.90.90.0/24 --dport 443 -j REDIRECT --to-ports 3130
-A PREROUTING -p tcp -m tcp -s 10.90.90.0/24 --dport 80 -j REDIRECT --to-ports 3130
Либо так, но лучше будет как сделано выше.
ekzorchik@srv-host:~$ sudo ufw allow from 10.90.90.0/24 to any port 3130 proto tcp
ekzorchik@srv-host:~$ sudo ufw reload
Затем на избранных компьютерах прописать:
Пуск — Панель управления — Свойства обозревателя — вкладка «Подключение» – «Настройка сети» –
отметить галочкой: Использовать прокси-сервер для локальных подключений.
Адрес: 10.90.90.1 Порт:3130
и после нажать OK, Применить, OK и все, данный компьютер теперь будет логироваться.
Вот собственно и все поданной задаче которую я запланировал. Только вот в самом начале я упомянул, для удобного формирования логов потребуется Вам уже самостоятельно по опубликованным ранее заметкам поставить:
либо Sarg
либо Free-sa
Если также как и я используете Sarg, то вот так выглядит сформированная статистика:
И не забываем настроить планировщик создания отчетов:
ekzorchik@srv-host:~$ sudo crontab -e
00 07-22 * * * root sarg-reports today
00 23 * * * root sarg-reports daily
59 23 * * 0 root sarg-reports weekly
59 23 1 * * root sarg-reports monthly
Вот теперь уже все. На этом я прощаюсь и до новых встреч на моем блоге. C уважением, автор блога — ekzorchik.