Установка Squid в Ubuntu 16.04: Руководство для начинающих
- Установка Squid в Ubuntu 16.04: Руководство для начинающих
- Связанные вопросы и ответы
- Что такое Squid и для чего он используется
- Какие требования к системе необходимо соблюсти для установки Squid в Ubuntu 16.04
- Как проверить, установлен ли Squid на Ubuntu 16.04
- Как скачать и установить Squid в Ubuntu 16.04
- Как настроить Squid на Ubuntu 16.04
- Как изменить настройки Squid в Ubuntu 16.04
- Как запустить Squid в Ubuntu 16.04
Установка Squid в Ubuntu 16.04: Руководство для начинающих
Squid - это мощный и гибкий HTTP-прокси-сервер, который позволяет улучшить производительность и безопасность сети. В этой статье мы рассмотрим, как установить Squid на Ubuntu 16.04.
Подготовка к установке
Перед началом установки Squid, необходимо выполнить несколько шагов подготовки:
1. Обновление пакетов:
.. code-block:: bash
sudo apt-get update
2. Установка необходимых пакетов:
.. code-block:: bash
sudo apt-get install squid
3. Запуск Squid:
.. code-block:: bash
sudo service squid start
4. Проверка работы Squid:
.. code-block:: bash
sudo service squid status
Настройка Squid
После установки Squid, необходимо настроить его на ваши нужды. Вот несколько настроек, которые могут быть полезными:
1. Доступ к Squid:
.. code-block:: bash
sudo nano /etc/squid/squid.conf
# Добавьте следующие строки в конфигурационный файл:
acl allowed_clients src /24
http_access allow allowed_clients
2. Защита от атак:
.. code-block:: bash
# Добавьте следующие строки в конфигурационный файл:
http_access deny all
http_access allow localhost manager
http_access deny manager
3. Управление сессиями:
.. code-block:: bash
# Добавьте следующие строки в конфигурационный файл:
cache_mem 128 MB
cache_dir ufs /var/spool/squid 100 16 256
4. Настройка кеша:
.. code-block:: bash
# Добавьте следующие строки в конфигурационный файл:
cache_replacement_policy lru
maximum_object_size 4096 KB
5. Настройка логов:
.. code-block:: bash
# Добавьте следующие строки в конфигурационный файл:
logfile_rotate 7
cache_log /var/log/squid/cache.log
access_log /var/log/squid/access.log
6. Сохранение изменений и перезапуск Squid:
.. code-block:: bash
sudo service squid restart
Теперь Squid установлен и настроен на вашем Ubuntu 16.04. Используйте его для улучшения производительности и безопасности вашей сети.
Связанные вопросы и ответы:
Вопрос 1: Что такое Squid и для чего он используется
Ответ: Squid - это прокси-сервер, который работает на уровне приложений и может быть использован для ускорения доступа к сети, контроля трафика и фильтрации контента. Он позволяет хранить копии часто запрашиваемых веб-страниц и файлов на локальном сервере, что ускоряет доступ к ним и снижает нагрузку на интернет-соединение.
Вопрос 2: Как установить Squid на Ubuntu 16.04
Ответ: Чтобы установить Squid на Ubuntu 16.04, необходимо выполнить следующие шаги:
1. Обновить систему с помощью команды "sudo apt-get update".
2. Установить Squid с помощью команды "sudo apt-get install squid".
3. После установки проверить работу Squid с помощью команды "sudo service squid start".
4. После установки Squid можно настроить его с помощью файла конфигурации /etc/squid/squid.conf.
5. Чтобы изменить настройки Squid, необходимо отредактировать файл конфигурации и перезапустить сервер с помощью команды "sudo service squid restart".
Вопрос 3: Как настроить Squid для работы с базой данных
Ответ: Чтобы настроить Squid для работы с базой данных, необходимо выполнить следующие шаги:
1. Установить необходимые пакеты для работы с базой данных с помощью команды "sudo apt-get install libdbi-perl libdbd-mysql-perl".
2. Отредактировать файл конфигурации Squid и добавить необходимые настройки для работы с базой данных.
3. Создать базу данных и таблицы, которые будут использоваться Squid.
4. Заполнить таблицы необходимыми данными.
5. Перезапустить Squid с помощью команды "sudo service squid restart".
Вопрос 4: Как настроить Squid для работы с SSL
Ответ: Чтобы настроить Squid для работы с SSL, необходимо выполнить следующие шаги:
1. Установить необходимые пакеты для работы с SSL с помощью команды "sudo apt-get install openssl".
2. Отредактировать файл конфигурации Squid и добавить необходимые настройки для работы с SSL.
3. Создать сертификаты SSL для Squid.
4. Загрузить сертификаты SSL на Squid.
5. Перезапустить Squid с помощью команды "sudo service squid restart".
Вопрос 5: Как настроить Squid для работы с авторизацией
Ответ: Чтобы настроить Squid для работы с авторизацией, необходимо выполнить следующие шаги:
1. Установить необходимые пакеты для работы с авторизацией с помощью команды "sudo apt-get install libpam-ldap libnss-ldap".
2. Отредактировать файл конфигурации Squid и добавить необходимые настройки для работы с авторизацией.
3. Создать учетную запись в системе авторизации.
4. Включить авторизацию в Squid.
5. Перезапустить Squid с помощью команды "sudo service squid restart".
Вопрос 6: Как настроить Squid для работы с фильтрацией контента
Ответ: Чтобы настроить Squid для работы с фильтрацией контента, необходимо выполнить следующие шаги:
1. Установить необходимые пакеты для работы с фильтрацией контента с помощью команды "sudo apt-get install squidguard".
2. Отредактировать файл конфигурации Squid и добавить необходимые настройки для работы с фильтрацией контента.
3. Создать список запрещенных сайтов и добавить его в Squid.
4. Включить фильтрацию контента в Squid.
5. Перезапустить Squid с помощью команды "sudo service squid restart".
Вопрос 7: Как настроить Squid для работы с кэшированием
Ответ: Чтобы настроить Squid для работы с кэшированием, необходимо выполнить следующие шаги:
1. Отредактировать файл конфигурации Squid и добавить необходимые настройки для работы с кэшированием.
2. Указать директорию для хранения кэша.
3. Указать максимальный размер кэша.
4. Включить кэширование в Squid.
5. Перезапустить Squid с помощью команды "sudo service squid restart".
Что такое Squid и для чего он используется
Описание настроек squid3 начну с основных настроек , которые желательно произвести при настройке любой конфигурации прокси-сервера. Конфиг сквида расположен в /etc/squid3/squid.conf , это основной конфигурационный файл, в котором содержатся все настройки. (В дистрибутивах Debian и RedHat так же при запуске просматриваются параметры из стартовых файлов настроек /etc/default/squid3 и /etc/sysconfig/squid3 , соответственно). Так же, я упоминал, что там более 5 тысяч строк и что сразу рваться настраивать что-то не разобравшись – не стоит. классический: строки с # – это комментарии, параметры представляют собой строки “ “, возможно использование . Конфигурационный файл разбит на разделы для удобства, но важно помнить, что разбор параметров производится “сверху вниз” в порядке очередности. Так же, с помощью можно подключать внешние конфигурационные файлы.
Какие требования к системе необходимо соблюсти для установки Squid в Ubuntu 16.04
Давайте попробуем вместе с ноля создать и настроить собственный прокси-сервер на базе дистрибутивов Ubuntu / Debian с помощью Squid .
Устанавливаем пакеты программного обеспечения
Прежде всего, обновляем репозиторий нашей операционной системы. Для этого выполняем командуapt update
:
Важно : здесь и далее управление пакетами с помощью утилиты apt ( Advanced Packaging Tool ) выполняется с правами суперпользователя ( root ) — через командуsudo
.
Теперь обновляем пакеты — для этого вводим в командную строку командуapt dist-upgrade
:
Поскольку в результате обновилось ядро Linux , нужно перегрузить систему . Воспользуемся командойshutdown
с опцией now
(немедленно):
Теперь устанавливаем прокси-сервер Squid . Для этого используем командуapt install
, добавив в качестве аргументаsquid
. Также установим apache2-utils для аутентификации пользователей по паролю:
Настраиваем прокси-сервер Squid
Теперь нам предстоит настроить работу нашего прокси-сервера . На всякий случай делаем резервную копию файла настроек Squid . Для этого сначала переходим в каталог /etc/squid/ с помощью командыcd
:
После чего копируем файл squid.conf , изменив имя итогового файла наsquid.conf.default
с помощью командыcp
:
Файл настроек Squid будет находиться там же, но его исходный вариант не будет перезаписываться при работе с утилитой.
Как проверить, установлен ли Squid на Ubuntu 16.04
Squid - это популярный прокси-сервер, который используется в основном для кэширования часто запрашиваемого веб-контента, чтобы уменьшить время отклика страниц, а также для фильтрации сетевого трафика. Он поддерживает множество различных протоколов таких как HTTP, FTP, TLS, SSL, Internet Gopher и HTTPS. А еще эта штука может быть очень полезной при медленном интернет-соединении. Первоначально Squid был разработан как Unix демон, но потом было выпущено несколько портов для WIndows. Squid распространяется под лицензией GNU General Public License.
В этой инструкции вы узнаете как установить Squid в Ubuntu 16.04. Просто последовательно выполняйте эти инструкции и установка squid ubuntu не вызовет никаких проблем. Squid это довольно многофункциональная программа и мы не сможем охватить в этой статье все ее функции, но попытаемся рассмотреть основные, чтобы вы смогли ее полностью настроить и использовать. Начнем с установки.
- src - ip адрес откуда исходит соединение, адрес клиента;
- dst - ip адрес назначения соединения, адрес сервера, к которому хочет получить доступ клиент;
- dstdomain - домен назначения соединения;
- srcdomain - домен клиента;
- arp - MAC адрес сетевой карты клиента;
- time - время, когда выполняется соединение;
- port - порт, к которому пытается получить доступ клиент;
- proto - протокол, по которому устанавливается соединение;
- method - метод передачи данных, например, GET - передача данных HTTP, POST - передача данных форм в HTTP, CONNECT - запрос соединения с сервером;
- http_status - ответ сервера;
- browser - браузер клиента;
- url_regex - url адрес, к которому пытаются получить доступ.
Установка Squid в Ubuntu
Есть несколько способов установки Squid в Ubuntu, один из самых распространенных - установка из официальных репозиториев с помощью утилиты apt.
Сначала откройте терминал сочетанием клавиш Ctrl+Alt+T и обновите индекс пакетов:
sudo apt update
После обновления списка пакетов можно переходить к установке прокси-сервера просто выполните команду:
sudo apt install squid
Затем утилита спросит нужно ли продолжать установку, введите Y и дождитесь окончания загрузки и установки:
Затем можно переходить к настройке.
Настройка Squid
Конфигурационный файл сервера находится в директории /etc/squid. В зависимости от версии Squid название папки и самого файла может отличаться, например, /etc/squid3/squid.conf или /etc/squid/squid.conf. Все настройки находятся в этом файле. Давайте его рассмотрим.
vim /etc/squid3/squid.conf
Когда откроется файл вы увидите что то похожее:
Файл содержит несколько опций настроек, а также очень много документации по их использованию. Мы не будем трогать многие из них, но основные рассмотрим.
Контроль доступа
Сначала нам нужно настроить правила доступа клиентов к нашему прокси-серверу. Squid проектировался как программа для организаций и даже если вы используете его дома, настройка squid 3 тоже должна быть выполнена.
Для это используется acl список. это обычный список объектов, сейчас он вообще ничего не значит. Это могут быть ip адреса, порты и т д. Потом мы укажем программе что нужно делать с этим списком, разрешать или запрещать доступ. Синтаксис создания acl списка такой:
Таких строк может быть несколько с одним именем и типом, из них получается список. Имя списка может быть произвольным, мы его еще будем использовать. Тип списка это намного интереснее. Может быть одним из:
Как скачать и установить Squid в Ubuntu 16.04
Ярлыки: Linux&BSD
Как ни пытался избежать этого момента, но он настал. Установленный прокси на Ubuntu 14.04 с squid 3.3.8 уже достал меня угрозами, что на мою версию перестанут(ли) выпускаться обновления и предлагает мне сделать апгрейд. Делать это на боевом сервере как-то рука не подымается, ведь так не хочется нарушать целостность всем известного органа подсознания =) Но тут подвернулся старенький сервер в виде HP Proliant DL160 G5, с которого установленная ОС вместе с приложениями были переведены в вид виртуальной машины с помощью несложных манипуляций. Его-то мы и будем превращать в новый прокси-сервер. Зачем это надо, ведь всё и так прекрасно работает? - спросите вы. Просто хотелось бы перевести на более современную платформу, прокси и всё-таки переделать ext_ldap_group на ext_kerberos_ldap_group, т.к. в случае падения одного из прописанных в конфигурации КД у пользователей перестаёт работать интернет. Возможно эта проблема связана и не с этим, поэтому за одно и проверю эту гипотезу.
На цикл постараюсь не разбивать, а уложиться в размер одной статьи. Наполнять буду постепенно по ходу установки, настройки и устранения проблем в случае их появления.
С чего начать?
Предполагается наличие загруженного установочного образа ОС Ubuntu 16.04, которая на момент написания имеет уже 2 релиз. Загрузить его можно на сайте разработчика по ссылке https://www.ubuntu.com/download/server
Исходные данные
OS: Ubuntu 16.04.2FQDN: proxy.ad.local
NIC: 192.168.0.4 (да, прокси с одним интерфейсом, такова топология сети и требования СБ)
DC: AD.LOCAL
AD: dc1.ad.local - 192.168.0.2
AD: dc2.ad.local - 192.168.0.3
GW: 192.168.0.1
Кэширование использовать не предполагается, но это легко исправить в случае необходимости.
Установка ОС
Как ни прискорбно, но процесс установки описывать не буду. Возможно в дальнейшем я изменю своё решение, но пока это так, ведь процесс установки Ubuntu не сильно отличается от установки обычной программы (Далее - Далее - Далее - Готово). Исключение составляет лишь разметка диска, но этот процесс также индивидуален и зависит от того, что вы хотите получить в итоге.
Первая стадия
В связи с тем, что первоначальная установка происходит в серверной (ну нет у меня на нём iLO), поэтому хочется быстрее свинтить с этого шумного и холодного места. Для этого первым делом настроим интерфейс и поставим openssh-server. Так сделаем это:
sudo vi /etc/network/interfaces
# This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). # The loopback network interface auto lo iface lo inet loopback # LAN network interface auto eth0 iface eth0 inet static address 192.168.0.4 netmask 255.255.255.0 network 192.168.0.0 broadcast 192.168.0.255 gateway 192.168.0.1 dns-nameservers 192.168.0.2 10.160.0.3 dns-search ad.local
После чего перезагрузим сервер:sudo reboot
и продолжим:sudo apt install openssh-server
Отредактируем его конфигурационный файл:
sudo vi /etc/ssh/sshd_config
в котором раскомментируем строку и приведём её к виду:
ListenAddress 192.168.0.4
и перезапустим службу:systemctl restart sshd.service
Теперь быстренько сбегаем из этого холодильника, пока не простыли, и садимся в своё тёплое и удобное кресло Администратора. Надеюсь кофе с плюшками запаслись? Нет? Тогда дальше ни в коем случаем не читать!!!Вторая стадия
В тёплое место перебрались? Кофе запаслись? Тогда продолжим =)Берём в руки консоль DNS и добавляем туда записи A и PTR согласно исходным данным, т.е. proxy.ad.local - 192.168.0.4
Теперь уже можно установить то, ради чего мы все здесь собрались, Squid'а:
sudo apt-get install squid3 ldap-utils krb5-user
Последний пакет нам пригодится, когда перейдём к настройке Kerberos.Наш прокси-сервер мы будем использоваться в сети с Active Directory, которая очень не любит большого разброса времени. Чтобы не нарваться на неприятности, поднимем демона синхронизации:
sudo apt install ntp
и отредактируем его конфигурационный файл, закомментировав серверы времени Ubuntu и указав свои:sudo vi /etc/ntp.conf
server dc1.ad.local server dc2.ad.local . . . interface listen 192.168.0.4
По завершении перезапускаем службу и убеждаемся в работоспособности:systemctl reload ntp.service sudo ntpq -p
Третья стадия
20170227 Проблема с реализацией аутентификации Kerberos. Как только разберусь в причинах продолжу повествование.Как настроить Squid на Ubuntu 16.04
Squid настраивается редактированием директив, содержащихся в конфигурационном файле /etc/squid/squid.conf. Следующие примеры иллюстрируют некоторые директивы, которые могут быть изменены для воздействие на поведение сервера Squid. Для более глубокой настройки Squid смотрите раздел.
Прежде, чем редактировать конфигурационный файл, вам стоит сделать копию оригинального файла и защитить ее от перезаписи, чтобы у вас всегда оставались оригинальные настройки в качестве справочника и для повторного использования при необходимости.
Как изменить настройки Squid в Ubuntu 16.04
Если вы являетесь пользователем Arch Linux, вы можете использовать три различных метода для установки прокси-сервера Squid в вашей системе. Здесь я собираюсь показать метод CLI, метод GUI и метод Snap для установки прокси-сервера Squid в системе Arch Linux.
Метод 1: установка Squid на Arch с помощью CLI
Установить прокси Suid на Arch Linux очень просто с помощью команд Pacman. Вы можете запустить следующие команды Pacman, приведенные ниже, в оболочке терминала, чтобы установить и запустить прокси-сервер Squid на вашем Arch Linux.
Здесь я использую Manjaro Linux, чтобы продемонстрировать процесс установки прокси-сервера Squid в Arch Linux, но команды Pacman будут работать для всех систем на базе Arch.
$ sudo pacman -S squid lsof $ sudo systemctl enable squid $ sudo squid -z $ sudo systemctl start squid
Метод 2. Загрузите и установите Squid на Arch
Если вы не знакомы с методом CLI установки пакета в вашей системе Arch, этот метод для вас. Вы можете скачать скомпилированный ZST-пакет прокси Squid для Arch Linux отсюда. После завершения загрузки откройте каталог загрузки и откройте пакет ZST в магазине программного обеспечения по умолчанию. Затем нажмите кнопку установки и введите пароль root.
Метод 3. Установите Squid на Arch с помощью команд Snap
Здесь я показываю метод установки прокси-сервера Squid в системе Arch через систему управления пакетами Snap. Сначала вам необходимо установить в вашей системе демон установщика пакетов Snap. Запустите следующие командные строки, приведенные ниже, чтобы установить Snapd в вашей системе Arch Linux.
sudo pacman -S snapd sudo systemctl enable --now snapd.socket sudo ln -s /var/lib/snapd/snap /snap
Теперь выполните следующую команду Snap, чтобы установить прокси-сервер Squid на Arch Linux.
Как запустить Squid в Ubuntu 16.04
Нет необходимости больше самостоятельно собирать пакеты, достаточно поставить squid-openssl включающий опции enable-ssl-crtd и with-openssl , в некоторых случаях встречалась несколько раз и обычная версия squid из стандартных репозиториев с включенными опциями
apt install -y squid-openssl
Проверяем что поддержка SSL есть
squid -v | grep -c "enable-ssl-crtd" && squid -v | grep -c "with-openssl"
#1
#1
Делаем резервную копию конфигурации, создаем рабочий конфиг из дефолтного без комментариев
cp /etc/squid/squid.conf{,.bak} cat /etc/squid/squid.conf.bak | grep -v '^#' | sed '/^$/d' > /etc/squid/squid.conf
Настройка SSL Bumping в сервисе Squid
SSL Bumping в сервисе Squid используется для обработки шифрованных соединений. Если SSL Bumping не настроен, то прокси-сервер не может вмешаться в процесс установки шифрованного соединения.
Использование SSL Bumping может привести к неработоспособности некоторых программ или сервисов, использующих прокси-сервер. Для корректной работы требуется добавить их в исключения SSL Bumping или выделить отдельный порт без SSL Bumping.
Создание самоподписанного SSL-сертификата и приватного ключа
Сгенерируйте SSL-сертификат, приватный ключ в формате PEM в файл / etc/squid/ssl/squid.pem и файл параметров для алгоритма Diffie-Hellman / etc/squid/ssl/dhparam.pem . Настройте права на использование файла SSL-сертификата.
mkdir /etc/squid/ssl
cd /etc/squid/ssl/
openssl req -new -newkey rsa:2048 -sha256 -days 3650 -nodes -x509 \
-extensions v3_ca -keyout squid.pem -out squid.pem \
-subj "/C= RU /ST= KRM /L= SEV /O= NOTDEV.LTD /OU= IT /CN= proxy.notdev.local "
openssl dhparam -outform PEM -out dhparam.pem 2048
chown -R proxy:proxy /etc/squid/ssl
chmod -R 0640 /etc/squid/ssl
Конвертируйте файл сертификата в доверенный сертификат формата DER для импорта в корневые доверенные центры сертификации или браузер .
openssl x509 -in squid.pem -outform DER -out squid.der
Скопируйте и импортируйте файл squid.der в список доверенных корневых центров сертификации на рабочих станциях (например используя GPO ). При использовании Mozilla Firefox требуется также добавить сертификат в хранилище браузера.