Очень часто нам нужен прокси. Например у вас серый IP или вы счастливый пользователь спутникового интернета. Скачать что-то с сайтов подобных Rapidshare нереально. Здесь нас и выручит squid.
Для установки proxy необходим сервер на виртуализации KVM. На других виртуализациях размещение proxy-серверов запрещено.
Более расширенный вариант моей статьи можно найти на сайте Курского LUG , где я так же рассмотрел возможность использования squid домашними пользователями, а также интеграцию системы сжатия траффика Globax или Toonel каскадом в squid.
Сердцем конфигурирования squid являются acl
(access control list) и правила.
Для начала надо усвоить принципы работы acl. ACL имеют сделующий формат:
Acl <имя> <тип> <содержание>
Например этот acl описывает две пользовательские машины с айпишниками (тип src) 192.168.0.1 и 192.168.0.2
Acl comps src 192.168.0.1/32 192.168.0.2/32
Теперь рассмотрим правила.
Правила имеют следующий формат:
<тип_правила> <действие>
На этом этапе надо усвоить то, что правила одного типа проверяются до первого выполняющегося правила. Действие этого правила будет выполнено, и проверка дальнейших правил этого типа будет остановлена. Пример:
Acl all src 0/0 acl vasya src 192.168.1.12/32 http_access allow vasya http_access deny all
Правила типа http_access
это правила разрешающие или запрещающие доступ по http. Рассмотри действие вышеописанного отрывка. acl all указывает нам на все айпишники. А acl vasya указывает на один ip 192.168.1.12
Проверка будет проходить так:
1) http_access allow vasya Если через прокси сидит пользователь с этого айпишника то разрешим ему доступ. Проверка будет остановлена, четвертая строка даже не будет проверена.
2) если прокси использует пользователь не с этого айпи, то правило на строке 3 не выполнится и мы перейдем к правилу на строке 4. Поскольку под acl all подходит любой айпи, то данное правило выполнится и мы заблокируем доступ. дальнейшие правила проверяться не будут
. Таким образом мы запретили пользоваться прокси всем кроме Васи.
Рассмотрим частую ошибку на основе прошлого примера:
Acl all src 0/0 acl vasya src 192.168.1.12/32 http_access deny all http_access allow vasya
В данном случае даже Вася не сможет пользоваться прокси. Так как правилом на строке 3 мы заблокировали доступ всем, оно выполнилось, и правило на строке 4 даже не будет проверяться. Внимательно следите за порядком правил одного типа.
Приступим к написанию конфига. Разберу на примере своего конфига.
Для начала в папке /etc/squid создадим папку acls. В ней я создал 3 файла: banners, nobanners, 1banners
В файле banners хранятся регулярные выражение реклам и баннеров которые будут вырезаны. В nobanners хранятся исключения, то есть те страницы и картинки которые будут грузиться даже если в banners есть правило под которое они попадают. В файле 1banners хранятся регулярные выражения описывающие те баннеры которые будут вырезаться в первую очередь. Содержимое своих файлов фильтрации рекламы приведу в конце статьи.
С root правами создадим файл /etc/squid/squid.conf и начинаем добавлять в него строки:
Укажем порт на котором будет работать прокси: (ВНИМАНИЕ!! Никогда не ставьте стандартные порты вроде 8080 80 или 3128 если не хотите чтобы ваш прокси легко можно было обнаружить)
Http_port 1234
Укажем имя нода на котором стоит squid. Узнать свое имя можно выполнив uname -n
Visible_hostname dimon4eg
Отключим icp
Icp_port 0
Через acl с регулярными выражениями укажем страницы которые не будут кешироваться
Acl donocache urlpath_regex cgi-bin user submit no_cache deny donocache
Создадим папку /var/spool/squid и сделаем chmod 777 /var/spool/squid
Опишем обьем "быстрого" кеша и кеша на жестком диске. Объем быстрого кеша рекомендуется ставить не более 32 метров для экономии оперативной памяти.
Cache_mem 32 MB cache_dir ufs /var/spool/squid 1000 16 256
Аналогично создадим папки /var/log/squid и укажем где хранить логи
Cache_access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log cache_store_log /var/log/squid/store.log
Таблица mime и pid процесса
Mime_table /etc/squid/mime.conf pid_filename /var/run/squid.pid
Настройки фтп через прокси
Ftp_user anonymous@ ftp_list_width 32 ftp_passive on ftp_sanitycheck on
Служебные acl
Acl all src 0/0 acl SMTP port 25
Список айпи с которых разрешен прокси. Обязательно указать 127.0.0.1 и адрес самого сервера в локалке. Далее укажем всех пользователей кто имеет доступ. (ВНИМАНИЕ, обязательно отключите доступ всем кому попало.)
Acl doallow src 192.128.0.2/32 127.0.0.1/32
Зададим порты которые разрешены
Acl Safe_ports port 80 acl Safe_ports port 21 acl Safe_ports port 443 563 5190 5552 acl Safe_ports port 777
Расположение файлов с правилами вырезания рекламы. Ключ -i означает сделать правила не чувствительными к регистру
Acl banners url_regex -i "/etc/squid/acls/banners" acl 1banners url_regex -i "/etc/squid/acls/1banners" acl nobanners url_regex -i "/etc/squid/acls/nobanners"
Теперь опишем правила
Http_access deny 1banners http_access deny banners !nobanners http_access deny !Safe_ports http_access deny SMTP http_access allow doallow http_access deny all
Запретим доступ icp
Icp_access deny all
Многие администраторы сталкиваются с проблемой разумного использования времени и канала для выхода в сеть Интернет, задумываются о возможности экономии времени и денег, об ограничении скорости для отдельных видов файлов или личностей, в конце концов об экономии всего, что связано с теми или иными аспектами выхода в глобальную сеть.
Я, с помощью этой статьи, попытаюсь наглядно и доходчиво объяснить о настройках самого распространенного прокси сервера - прокси сервера Squid.
Мы не будем вдаваться в процесс установки прокси сервера Squid, а перейдем сразу к его настройке.
Самое элементарное, что нам после установки следует сделать, так это разрешить доступ пользователям нашей локальной сети. Для этого служат параметры http_port, http_access. Кроме этого, мы заведем acl (список контроля доступа) для нашей локальной сети.
Итак, http_port нам нужен постольку, поскольку наш прокси сервер Squid должен обслуживать только компьютеры нашей локальной сети и быть невидимым для внешнего мира, дабы исключить возможность "плохим людям" внешней сети воспользоваться нашим каналом или трафиком, а в случае, если будут обнаружены "дыры" в коде прокси сервера Squid, воспользоваться ими.
Параметр http_access используется для разрешения или запрещения доступа к определенным ресурсам, определенным адресам либо с определенных адресов, к определенным сайтам, по определенным протоколам, портам и всему тому, что непосредственно указано с помощью Acl (списков контроля доступа).
Таблица N 1. Некоторые подсети.
Диапазон адресов |Полная форма |Краткая форма 192.168.0.1-192.168.0.254 192.168.0.0/255.255.255.0 192.168.0.0/24 192.168.20.1-192.168.20.254 192.168.20.0/255.255.255.0 192.168.20.0/24 192.168.0.1-192.168.254.254 192.168.20.0/255.255.0.0 192.168.20.0/16 10.0.0.1-10.254.254.254 10.0.0.0/255.0.0.0 10.0.0.0/8
Предположим, что у Вас сеть с адресами от 192.168.0.1 до 192.168.0.254, тогда добавим новый Acl (см. таблицу N1):
Acl LocalNet src 192.168.0.0/24
Предположим, что у Вас прокси сервер Squid расположен по адресу 192.168.0.200 на порту 3128, тогда пишем в файле конфигурации:
Http_port 192.168.0.200:3128
Следующим нашим действием будет запрет использования нашего прокси сервера, кроме как пользователями нашей локальной сети:
Http_access allow LocalNet http_access deny all
В данном случае слово allow является разрешением, а слово deny запрещением, то есть мы разрешаем доступ к прокси серверу Squid с адресов нашей локальной сети и запрещаем доступ всем остальным.
Будьте внимательны, указывая http_access, так как Squid использует их в порядке указания Вами.
Система управления доступом в прокси сервере Squid является очень гибкой и обширной. Она состоит из элементов со значениями и списков доступа c указанием allow (разрешение) или deny (запрещение).
Формат Acl следующий:
Acl имя элемент список
Формат списка доступа:
Http_access указание имя_acl
Мы рассмотрим некоторые элементы, которые позволяет использовать прокси сервер Squid, конечно же с примерами:
* acl имя src список
С помощью этого элемента (src) мы указываем IP-адрес источника, то есть клиента от которого пришел запрос к нашему прокси серверу.
В следующем примере мы разрешим Васе Пупкину (Pupkin) и отделу программирования (Progs) доступ к нашему прокси серверу, а всем остальным запретим:
Acl Progs src 192.168.0.1-192.168.0.9 acl Pupkin src 192.168.0.10 http_access allow Progs http_access allow Pupkin http_access deny all
* acl имя dst список
Данный элемент (dst) указывает IP-адрес назначения, то есть IP-адрес того сервера, доступ к которому желает получить клиент прокси сервера.
В следующем примере мы запретим Васе доступ к подсети 194.67.0.0/16 (к примеру, в ней находится тот же aport.ru):
Acl Net194 dst 194.67.0.0/16 http_access deny Pupkin Net194
* acl имя dstdomain список
С помощью этого элемента (dstdomain) мы указываем домен, доступ к которому желает получить клиент прокси сервера.
В следующем примере мы запретим Васе доступ к варезным сайтам nnm.ru и kpnemo.ru:
Acl SitesWarez dstdomain .nnm.ru .kpnemo.ru http_access deny Pupkin SitesWarez
В случае, если будет необходимо указать домен источника, то используйте srcdomain.
* acl имя [-i] srcdom_regex список * acl имя [-i] dstdom_regex список
Данные элементы отличаются от srcdomain и dstdomain лишь тем, что в них используются регулярные выражения, которые в данной статье мы не рассматриваем, но пример всё-таки приведём:
Acl SitesRegexSex dstdom_regex sex Acl SitesRegexComNet dstdom_regex \.com$ \.net$ http_access deny Pupkin SitesRegexSex http_access deny Pupkin SitesRegexComNet
В данном примере мы запретили доступ Пупкину Василию на все домены, содержащие слово sex и на все домены в зонах.com и.net.
Ключ -i призван игнорировать регистр символов в регулярных выражениях.
* acl имя [-i] url_regex список
С помощью этого элемента (url_regex) мы указываем шаблон регулярного выражения для URL.
Пример указания файлов с расширением avi, начинающихся на слово sex:
Acl NoAviFromSex url_regex -i sex.*\.avi$
В случае, если Вы желаете указать шаблон только для пути URL, то есть исключая протокол и имя хоста (домена), то используйте urlpath_regex.
Пример для указания музыкальных файлов:
Acl media urlpath_regex -i \.mp3$ \.asf$ \.wma$
* acl имя_acl port список
Указание номера порта назначения, то есть порта, к которому желает подключится клиент нашего прокси сервера.
Как пример, запретим всем использование программы Mirc через наш прокси сервер:
Acl Mirc port 6667-6669 7770-7776 http_access deny all Mirc
* acl имя_acl proto список
Как пример, запретим вышеупомянутому Васе использование протокола FTP через наш прокси сервер:
Acl ftpproto proto ftp http_access deny Pupkin ftpproto
* acl имя_acl method список
Возьмем ситуацию, когда следует запретить Васе Пупкину просматривать его почту на сайте mail.ru, но при этом разрешить прогуливаться по сайту без запретов, то есть запретить Васе возможность войти в свой почтовый ящик через форму входа на сайте:
Acl SiteMailRu dstdomain .mail.ru acl methodpost method POST http_access deny Pupkin methodpost SiteMailRu
Достаточно часто в нашей стране возникает ситуация, что канала доступа в глобальную сеть Интернет на всех пользователей не хватает и возникает желание дать каждому по максимуму, но при этом не дать каналу "загнуться" из-за любителей позагружать файлы.
Средства прокси-сервера Squid позволяют этого добится несколькими путями:
Ограничить пользователей по времени можно следующим образом:
Acl имя time дни чч:мм-ЧЧ:ММ
Где день: M - Понедельник, T - Вторник, W - Среда, H - Четверг, F - Пятница, A - Суббота, S - Воскресенье.
При этом чч:мм должно быть меньше чем ЧЧ:ММ, то есть можно указать с 00:00-23:59, но нельзя указать 20:00-09:00.
Давайте запретим всё тому же Васе иметь доступ в сеть Интернет с 10 до 15 часов каждый день:
Acl TimePupkin time 10:00-15:00 http_access deny Pupkin TimePupkin
Если хочется разрешить Васе пользоваться программой Mirc с 13 до 14 часов, то пишем:
Acl TimePupkin time 13:00-14:00 http_access allow Pupkin TimePupkin Mirc http_access deny Pupkin Mirc
А что делать, если необходимо запретить или разрешить в определенные дни недели? Squid также позволяет это сделать, к примеру с 13 до 14 в понедельник и в воскресенье:
Acl TimePupkin time MS 13:00-14:00
Как видите, ничего сложного в этом нет.
Регулировка скорости в прокси сервере Squid осуществляется с помощью пулов. Пул - это своего рода бочонок с пивом, в который пиво постоянно заливают до краёв, а клиенты наливают в свои стаканы или иные ёмкости для дальнейшего внутреннего потребления по мере надобности через свои персональные краны.
Пулы регулируются с помощью трех параметров: delay_class, delay_parameters, delay_access. Количество пулов указывается с помощью параметра delay_pools.
Пулы могут быть трёх классов:
Delay_pools количество_объявленных_пулов delay_access номер_пула действие имя_acl
Действие может быть allow (разрешить) и deny (запретить). При этом, данный пул действует на тех, кому он разрешен и не действует на тех, кому он запрещен. В случае, если указано allow all, а затем deny Pupkin, то на Пупкина данный класс всё-равно подействует, т.к. IP-адрес Пупкина объявленный в acl Pupkin, входит в список адресов acl all. Имейте это ввиду.
Delay_class номер_пула класс_пула delay_parameters номер_пула параметры
параметры отличаются в зависимости от класса пула:
для первого класса:
Delay_parameters 1 байт_на_всю_сеть
для второго класса:
Delay_parameters 1 на_всю_сеть на_клиента
для третьего класса:
Delay_parameters 1 на_всю_сеть на_подсеть на_клиента
Для примера, у нас канал на 128 Кбит (в среднем 15 Кбайт в секунду) и мы желаем Васе (Pupkin) дать всего 4 Кбайта/сек (на все про всё один маленький бокальчик), отделу программирования (Prog) дать всего 10 Кбайт/сек и на каждого всего по 5 Кб/сек (всего два бокальчика), всех остальных ограничить в 2 Кбайта/сек на каждого и 10 Кб/сек на всех, а файлы mp3 (media) ограничить в 3 Кбайта в секунду на всех (на всю бочку пива такой маленький кран). Тогда пишем:
Acl Prog src 192.168.0.1-192.168.0.9 acl Pupkin src 192.168.0.10 acl LocalNet src 192.168.0.0/255.255.255.0 acl media urlpath_regex -i \.mp3$ \.asf$ \.wma$ delay_pools 4 # сначала ограничим mp3 delay_class 1 1 delay_parameters 1 3000/3000 delay_access 1 allow media delay_access 1 deny all # ограничим бедного Васю delay_class 2 1 delay_parameters 2 4000/4000 delay_access 2 allow Pupkin delay_access 2 deny all # ограничим отдел программирования delay_class 3 2 delay_parameters 3 10000/10000 5000/5000 delay_access 3 allow Prog delay_access 3 deny all # а теперь ограничим остальных (второй класс пула) delay_class 4 2 delay_parameters 4 10000/10000 2000/2000 delay_access 4 deny media delay_access 4 deny Pupkin delay_access 4 deny Prog delay_access 4 allow LocalNet delay_access 4 deny all
Часто возникает вопрос, а как лучше всего использовать столь малый канал, чтобы он автоматически делился между всеми теми, кто в данный момент что-либо загружает? На этот вопрос имеется однозначный ответ - средствами прокси сервера Squid этого сделать не возможно, но всё-таки кое-что предпринять можно:
Delay_class 1 2 delay_parameters 1 -1/-1 5000/15000 delay_access 1 allow LocalNet delay_access 1 deny all
Таким образом мы выделяем на всю нашу сеть и на подсети максимальный канал (-1 означает неограниченность), а каждому пользователю даем скорость максимум в 5 Кб/сек после того, как он скачает на максимальной скорости первые 15 Кбайт документа.
Таким образом клиент не съест весь канал, но достаточно быстро получит первые 15 Кбайт.
Существует множество типов файлов, которые обновляются не достаточно часто, чтобы позволить прокси серверу реагировать на заголовки от вебсерверов о том, что данный объект не подлежит кешированию либо он был на удивление только что изменён. Это довольно частая ситуация.
Для разрешения таких ситуаций призван параметр refresh_pattern в файле настроек прокси-сервера Squid, но полностью с формулами и т.п. мы его рассматривать не будем.
Refresh_pattern [-i] строка МИНВ процент МАКСВ параметры
Данный параметр используется для того, чтобы определить возраст объекта (считайте файла) в кеше, следует ли его обновлять или нет.
МИНВ (минимальное время) - время в минутах, когда объект, имеющийся в кеше считается свежим.
МАКСВ (максимальное время) - максимальное время в минутах, когда объект считается свежим.
Параметры - это один или несколько следующих параметров:
Итак, мы подошли к самом главному. Ну, так какие же типы файлов реже всех обновляются? Как правило, это разнообразные музыкальные файлы и картинки.
Установим свежесть объектов, для этого для картинок и музыкальных файлов укажем, скажем так для примера, целых 30 дней (43200 минут):
Refresh_pattern -i \.gif$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.png$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.jpg$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.jpeg$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.pdf$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.zip$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.tar$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.gz$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.tgz$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.exe$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.prz$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.ppt$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.inf$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.swf$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.mid$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.wav$ 43200 100% 43200 override-lastmod override-expire refresh_pattern -i \.mp3$ 43200 100% 43200 override-lastmod override-expire
Показанные Выше настройки лишь пример, для того, чтобы была понятна суть. Теперь можете проверить эффективность своего прокси сервера, она уж точно возрастет.
Прокси сервер Squid не является одним лишь распространенным прокси сервером, существуют и другие. Но как показывает статистика, большинство используют именно этот прокси сервер, но при этом всё равно у многих начинающих возникают проблемы с настройкой.
С помощью этой статьи я попытался хоть немного раскрыть для обширных масс некоторые функции прокси сервера Squid.
Сегодня мы поговорим о прокси-серверах.
Прокси-сервер - это такая штука, обеспечивающая доступ нескольких компьютеров из одной сети в другую сеть (но не путать с маршрутизаторами - это совсем разные вещи, прокси-сервер работает на прикладном уровне). Наиболее расспространенная задача прокси-сервера - обеспечить доступ в интернет для ПК, на которых его нет через один ПК, который имеет доступ в глобальную сеть. Рассмотрим эту задачу в случае использования Windows-компьютера в качестве шлюза в интернет.
Для решения этой задачи можно пользоваться проприетарными решениями с визуальным интерфейсом - например, UserGate.Но у меня не получилось заставить его корректно работать на ПК с Windows 7 да и он платный:) Поэтому лучшим решением я считаю доставшийся нам с *nix-ов Squid. Скачать сие творение можно по адресу: Squid 2.7 (последняя версия на момент написания статьи)
Скачиваем и распаковываем желательно в корень диска. Не пытайтесь что-нибудь запустить оттуда - в этой программе нет графического интерфейса - и пусть вас это не пугает:)
Далее открываем консоль - Win+R / сmd / переходим в папку с установленным сквидом (далее я буду писать для пути установки c:\squid)
c:\
cd c:\squid\sbin
Теперь необходимо установить сквид как службу Windows командой:
squid -i -f c:/squid/etc/squid.conf -n Squid27
Где Squid27 - имя службы, которое в принципе может быть любое допустимое.
Теперь надо подредактировать файл настроек squid.conf, который находится в папке c:/squid/etc/ советую забекапить оригинальный файл. Далее удаляем из этого файла весь текст и прописываем следующее:
http_port 3128
acl localnet src 192.168.3.0/255.255.255.0
acl localhost src 127.0.0.1/255.255.255.255
acl all src 0.0.0.0/0.0.0.0
http_access allow localnet
http_access allow localhost
http_access deny all
cache_log none
cache_store_log none
где
squid -z -f c:\squid\etc\squid.conf
Вот, в принципе, мы и готовы к запуску нашего прокси. Пишем в командной строке (или можно зайти в Службы и запустить мышкой:)
net start Squid27
Остановка:
net stop squid27
Переконфигурация:
squid -n Squid27 -f с:/squid/etc/squid.conf -k reconfigure
Еще можно много чего наворотить в этом прокси, например, задать ограничения разным пользователям по времени, по скорости, запретить доступ на определенные сайты и т. д. и т. п. Но в задачи этой статьи не входит описывание этого всего - такой материал легко найти на просторах Интернета.
Следующим шагом настройки, будет установка прокси сервера, для обеспечения контролируемого доступа к сети интернет.
Воспользуемся для этого прокси сервером SQUID3
Устанавливаем сервер командой:
sudo apt-get install squid3Внимание: В Ununtu Server версий менее 16, адрес папки прокси сервера squid — /etc/squid3 , в Ubuntu Server 16 адрес папки прокси сервера squid — /etc/squid . Будьте внимательны при прописывании путей. Визуально в правильном пути до папки SQUID можно убедится с помощью .
Файл конфигурации SQUID3 находится по адресу /etc/squid3 /squid.conf , так как данное руководство предназначается для новичков, а файл конфигурации очень большой и содержит очень много комментариев, мы создадим новый файл конфигурации, а оригинальный скопируем под другим названием.
Когда вы решите более полно ознакомиться с возможными опциями конфигурации SQUID3, вы можете самостоятельно восстановить оригинальный файл.
Переименуем оригинальный файл squid3.conf в файл с названием squid3.conf.bac
sudo mv /etc/squid3 /squid.conf /etc/squid3 /squid.conf.bacСоздаем пустой файл конфигурации squid.conf :
sudo touch /etc/squid 3/squid.confОткрываем файл конфигурации:
sudo nano /etc/squid3 /squid.confВставляем в файл следующий текст конфигурации:
acl SSL_ports port 443 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 localnet src 192.168.137.0/24 acl CONNECT method CONNECT http_access deny !Safe_ports http_access deny CONNECT !SSL_ports http_access allow localhost manager http_access deny manager http_access allow localhost http_access allow localnet http_access deny all http_port 192.168.137.1:3128 intercept cache_dir ufs /var/spool/squid3 2048 16 256 maximum_object_size 4 MB maximum_object_size_in_memory 512 KB cache_mem 1024 MB access_log daemon:/var/log/squid3 /access.log squid logfile_rotate 31 coredump_dir /var/spool/squid3 refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern (Release|Packages(.gz)*)$ 0 20% 2880 refresh_pattern . 0 20% 4320Ubuntu Server 15: Файл начальной конфигурации прокси сервера SQUID
Что мы изменили в изначальной конфигурации:
Все остальные параметры, отставлены в изначальном файле конфигурации — без изменения.
Выполним проверку файла конфигурации перед перезапуском службы:
sudo squid3 -k checkЕсли команда отрабатывает без вывода — ошибок нет, в противном случае изучаем вывод и исправляем допущенные ошибки.
Перезапустим службу squuid, чтобы применить внесенные изменения:
sudo service squid3 restartОткроем созданный в файл /etc/nat и укажем перенаправление http трафика через наш прокси сервер squid:
sudo nano /etc/natДобавим в конце файла следующее:
# Заворачиваем http на прокси iptables -t nat -A PREROUTING -i eth1 ! -d 192.168.137.0 /24 -p tcp -m multiport --dport 80,8080 -j DNAT --to 192.168.137.1 :3128Ubuntu Server: Настройка squid
Перезапускаем сервер.
Прокси сервер Squid успешно настроен.
Большинство «не работает» вызвано невнимательностью! Внимательно проверяйте команды и не допускайте в файлах конфигурации лишних символов.