База знаний
Главная страницаVDSВозможностиКонтакты
🇷🇺 Русский
🇷🇺 Русский
  • Главная страница
  • Личный кабинет
    • Активация аккаунта
    • Настройки аккаунта
      • Отключение двухфакторной авторизации
    • Оплата услуг
      • Способы оплаты
      • Автоматическая оплата банковскими картами
      • Оплата через Систему быстрых платежей
  • Работа с VDS
    • Заказ IP-адресов
    • Резервное копирование
    • Установка ОС
      • Переустановка ОС
      • Загрузка и подключение ISO
      • Шаблоны ОС
      • Образы ISO
  • Настройка VDS
    • Вход на VDS через SSH
    • Настройка VDS
      • Основные команды SSH
      • Установка ключей для SSH
      • Изменение часового пояса
      • Установка hostname
      • Веб-серверы
        • Установка Lighttpd
          • Установка Lighttpd на CentOS
      • Базы данных
        • Установка MariaDB
          • Установка MariaDB на CentOS 7
        • Установка MongoDB
          • Установка MongoDB на Ubuntu
        • Смена пароля от MySQL
        • Установка phpMyAdmin
          • Установка phpMyAdmin на CentOS 7
      • VPN и прокси-серверы
        • Установка OpenVPN-сервера
        • Установка Squid Proxy
          • Установка Squid Proxy на CentOS 7
      • RDP-сервер
        • Установка RDP-сервера
          • Установка RDP-сервера на CentOS
          • Установка RDP-сервера на Ubuntu
          • Установка RDP-сервера на Debian
    • Панели управления
      • Установка ISPmanager 5
      • Установка BrainyCP
      • Установка HestiaCP
      • Установка VestaCP
      • Установка FASTPANEL
      • Установка Webmin
  • Диагностика
    • Диагностика сети с помощью MTR
Powered by GitBook
On this page
  • Подготовка
  • Установка Squid
  • Настройка Squid
  • Настройка авторизации по логину и паролю
  • Подключение к прокси-серверу
  • Изменение порта Squid

Was this helpful?

  1. Настройка VDS
  2. Настройка VDS
  3. VPN и прокси-серверы
  4. Установка Squid Proxy

Установка Squid Proxy на CentOS 7

По своей сути, прокси-сервер находится между двумя устройствами (Вашим компьютером и конечным серверов) и работает как промежуточный слой, обеспечивая тем самым контроль доступа, фильтрацию, кэширование, ну и, конечно же, сокрытие IP-адреса Вашего компьютера.

Squid является открытым программным обеспечением для кэширования и фильтрации веб-запросов, он поддерживает множество протоколов и позволяет сократить время загрузки страниц, а также управлять доступом к сайтам.

Подготовка

Squid не требует какого-либо специального оборудования и его можно установить на любой виртуальный или выделенный сервер с Linux.

В данной статье мы рассмотрим установку на CentOS 7, поэтому Вы должны иметь сервер с этой ОС, а также root доступ к этому серверу.

Установка Squid

Перед установкой любых пакетов рекомендуется обновить программное обеспечение системы и список пакетов, это можно сделать командой:

yum -y update

Далее, установим репозиторий EPEL, в которой содержится большинство дополнительного ПО:

yum -y install epel-release

Далее вновь обовим список пакетов:

yum -y update

Теперь можно приступать к установка Squid:

yum -y install squid

После завершения установки нужно запустить Squid и включить автоматический запуск при загрузке системы:

systemctl enable squid
systemctl start squid

Убедиться в правильности установки Squid можно, например, проверив его версию командой:

squid -v

Вы должны увидеть что-то вроде этого:

Squid Cache: Version 3.3.8
configure options: '--build=x86_64-redhat-linux-gnu' '--host=x86_64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib64' '--libexecdir=/usr/libexec' '--sharedstatedir=/var/lib' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--disable-strict-error-checking' '--exec_prefix=/usr' '--libexecdir=/usr/lib64/squid' '--localstatedir=/var' '--datadir=/usr/share/squid' '--sysconfdir=/etc/squid' '--with-logdir=$(localstatedir)/log/squid' '--with-pidfile=$(localstatedir)/run/squid.pid' '--disable-dependency-tracking' '--enable-eui' '--enable-follow-x-forwarded-for' '--enable-auth' '--enable-auth-basic=DB,LDAP,MSNT,MSNT-multi-domain,NCSA,NIS,PAM,POP3,RADIUS,SASL,SMB,getpwnam' '--enable-auth-ntlm=smb_lm,fake' '--enable-auth-digest=file,LDAP,eDirectory' '--enable-auth-negotiate=kerberos' '--enable-external-acl-helpers=file_userip,LDAP_group,time_quota,session,unix_group,wbinfo_group' '--enable-cache-digests' '--enable-cachemgr-hostname=localhost' '--enable-delay-pools' '--enable-epoll' '--enable-icap-client' '--enable-ident-lookups' '--enable-linux-netfilter' '--enable-removal-policies=heap,lru' '--enable-snmp' '--enable-ssl' '--enable-ssl-crtd' '--enable-storeio=aufs,diskd,ufs' '--enable-wccpv2' '--enable-esi' '--enable-ecap' '--with-aio' '--with-default-user=squid' '--with-filedescriptors=16384' '--with-dl' '--with-openssl' '--with-pthreads' 'build_alias=x86_64-redhat-linux-gnu' 'host_alias=x86_64-redhat-linux-gnu' 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fpie' 'LDFLAGS=-Wl,-z,relro -pie -Wl,-z,relro -Wl,-z,now' 'CXXFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -fpie' 'PKG_CONFIG_PATH=:/usr/lib64/pkgconfig:/usr/share/pkgconfig'

Вывод примерный, вывод на разных серверах может отличаться.

Настройка Squid

Базовый файл конфигурации находится по пути: /etc/squid/squid.conf. Вы можете просмотреть его через любой текстовый редактор, например, nano или же mcedit.

По умолчанию Squid настроен на подключения только через локальную сеть. Поэтому первое, что нужно сделать - настроить подключения с любого иного компьютера по логину и паролю.

Откроем файл конфигурации через nano:

nano /etc/squid/squid.conf

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

/etc/squid/squid.conf
acl localnet src 10.0.0.0/8 # 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
acl localnet src fc00::/7 # RFC 4193 local private network range
acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machinesacl SSL_ports port 443

Нам нужно разрешить доступ с нашего IP-адреса. Для этого нужно добавить аналогичную ACL-запись в файл конфигурации. Squid поддерживает как конкретные IP-адреса, так и сети по маске. Предположим, что Вашим IP-адресом является адрес 50.0.1.5. Для того, чтобы разрешить доступ только с этого внешнего адреса, нужно добавить строку:

/etc/squid/squid.conf
acl localnet src 50.0.1.5/32

Далее сохраните изменения в файле и перезапустите Squid командой:

systemctl restart squid

Настройка авторизации по логину и паролю

Важно настроить доступ к прокси-серверу только по логину и паролю. Важно это из-за того, что при свободном доступе злоумышленники могут использовать Ваш прокси-сервер для незаконных действий, тем самым подменяя свой реальный IP-адрес на адрес Вашего сервера.

Для настройки доступа нужно сначала установить пакет, позволяющий создавать файлы с паролями:

yum -y install httpd-tools

Теперь создадим файл с паролем:

touch /etc/squid/passwd
chown squid /etc/squid/passwd

Теперь нужно поместить в файл связку логина и пароля (в данном случае squiduser будет логином):

htpasswd /etc/squid/passwd squiduser

Программа запросит ввод пароля, который Вы хотите установить:

New password:

По умолчанию htpasswd использует шифрование паролей методом MD5, поэтому нам нужно разрешить такое шифрование в файле конфигурации Squid.

Откроем файл конфигурации:

nano /etc/squid/squid.conf

Далее добавим следующие строки в файл конфигурации:

/etc/squid/squid.conf
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwd
auth_param basic children 5
auth_param basic realm Squid Basic Authentication
auth_param basic credentialsttl 2 hours
acl auth_users proxy_auth REQUIRED
http_access allow auth_users

Далее сохраните изменения в файле и вновь перезапустите Squid:

systemctl restart squid

Подключение к прокси-серверу

Для подключения к прокси-серверу перейдите в соответствующее меню настроек в Вашем любимом браузере.

В качестве IP-адреса прокси-сервера введите IP-адрес сервера, на который Вы установили Squid. В качестве порта - 3128.

После применения настроек браузер запросит логин и пароль от прокси-сервера.

Изменение порта Squid

Для изменения порта Squid в файле конфигурации нужно изменить значение параметра http_port. Например, для изменения порта на 8765 нужно привести конфигурацию в такой вид:

/etc/squid/squid.conf
http_port 8765
PreviousУстановка Squid ProxyNextRDP-сервер

Last updated 4 years ago

Was this helpful?