Ubuntu

Встановлення та конфігурація проксі -сервера кальмарів у Linux

Встановлення та конфігурація проксі -сервера кальмарів у Linux

Кальмар Це, мабуть, найвідоміший і популярний кешування проксі -сервера з відкритим кодом. Кальмари проксі -сервера підтримують велику кількість протоколів кешування (ICP, HTCP, CARP, WCCP), дозволяє проводити трафік протоколів HTTP, HTTPS, FTP тощо.D. Кальмар легко масштабується, його можна використовувати для фільтрації вмісту та контролю швидкості доступу до сайтів для різних категорій користувачів, він підтримує автентифікацію користувачів (включаючи користувачів Active Directory через LDAP). У цій статті ми розглянемо типову установку проксі -сервера кальмарів на Linux.

Зміст:

Установка проксі -сервера кальмців у Linux

Встановіть пакет кальмарів на хост за допомогою менеджера пакетів. Залежно від версії Linux, вам потрібно виконати одну з наступних команд:

Якщо ви хочете використовувати автентифікацію користувача у кальмарів, вам потрібно додатково встановити пакет:

Додайте послугу кальмарів до Linux через SystemD, запустіть службу та перевірте статус:

Systemctl Увімкнути кальмари
Systemctl запуск кальмарів
Systemctl статус кальмарів

Ввести всі варіанти, за допомогою яких кальмари збираються:

Кальмари -В

Кеш кальмарів: версія 4.15 Назва служби: кальмари Цей двійковий використовує OpenSl 1.1.1K FIPS 25 березня 2021. За юридичними обмеженнями щодо розподілу див. Https: // www.Відкриття.Org/джерело/ліцензія.HTML налаштування параметрів: '-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 =/тощо" -dateadir =/usr/share "-incloudedir =/usr/anclude" -libdir =/usr/lib64 "-libexecdir = /Usr/libexec "-localstatedir =/var" -sharedStatedir =/var/lib "-mandir =/usr/share/man" -infodir =/usr/share/schaire/info "-libexecdir =/usr/lib64/кальмарі "-Datadir =/usr/share/squid" -sysconfdir =/etc/squid "-with-logdir =/var/log/squid"-with-pidfile =/var/run/squid.Pid "-disable-Dependensy-відстеження" -enable-eui "-enable-follow-X-forwaded-for" -enable-abasic = db, fake, getpwnam, ldap, ncsa, pam, pop3, radius, sasl, smb, Smb_lm "-enable-auth-ntlm = smb_lm, fake" -enable-auth-digest = файл, ldap "-enable-auth-negotiate = kerberos"-enable-external-acl-helpers = ldap_group, time_quota, session, unix_group, wbinfo_group, kerberos_ldap_group "-Увімкнути-storeid-rewrite-helpers = файл"-увімкнути-кеш-сітки "-увімкнути-cachemgr-hostname = localhost"-enable-delay-pools "-enable-epoll" -enable-- ICAP-розважальний "-ене-ідентичність" -enable-linux-netfilter "-enable -moval-polycies = купа, lru"-enable-snmp "-enable-ssl" -enable-ssl-crtd "-enable-storeio = Aufs, diskd, ufs, rock "-enable-diskio" -enable-wccpv2 "-enable- esi" -enable-ecap "-it-aio" -з-default-user = кальмари "-з openssl" -with-- Pthreads "-disable-arch-nativate" -disable-sever-scert-validators "-зSwapdir =/var/spool/squid "build_alias = x86_64 -medhat -linux -gnu" host_alias = x86_64 -dedhat -linux -gnu "cflags = -o2 -2 -pipe -werror = format -sefifa_wp, —difyritis, —difyrity = 2 -wp, -d_glibcxx_assertions -fexceptions -fstack-protector-sstrong -grecord-gcc-switches -specs =/usr/lib/rpm/redhat/redhat-hard-hc1 -specs =/usr/lib/rpm/redhat/redhat -Annobin -cc1 -m64 -mtune = generic -fasynchronous -unind -таблиці -fstack -clash -захист "ldflags = -wl, relro -wl, -z, зараз -specs =/usr/usr/usr/usr/usr/usr/usr/usr/usr/usr/usr/usr/usr/usr USR LIB/RPM/Redhat/Redhat -Hardened -LD "CXXFLAGS = -O2 -g -pipe -Wall -werror = Format -Secury -wp, -D_Fortify_SURCE = 2 -wP, -GLIBCXX_ASSERTIONS -FROTIRTIONS -FROTACPTIONSPTIONSPTIONSPTIONTION -GCCC-SWITches - Specs =/usr/lib/rpm/redhat/redhat-harded-cc1 -specs =/usr/lib/rpm/redhat-annobin-cc1 -m64 -mtune-fasynchronchronochronoc -fstack-class-props-Propsection "pkg_config_path =: usr/lib64/pkgconfig:/usr/share/pkgconfig ' 

Налаштування кешування кеш -кешування

За замовчуванням кальмари використовують файл конфігурації/тощо/кальмари/кальмари.Конфігурація.

Перш ніж редагувати цей файл, створіть його копію та захистіть її від запису:

Sudo cp/etc/кальмари/кальмари.Conf/etc/кальмари/кальмари.Конфігурація.Оригінальний
Sudo chmod a-w/etc/кальмари/кальмари.Конфігурація.Оригінальний

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

Щоб відредагувати файл конфігурації кальмарів, виконайте:

Sudo mcedit/etc/кальмари/кальмари.Конфігурація

На початку файлу конфігурації кальмарів список контролю доступу, який визначає IP -адреси (підмереж) клієнтів, з яких дозволено підключитися до проксі -сервера.

Наприклад, ви хочете дозволити доступ лише з локальної мережі. Додайте директиву:

ACL LocalNet SRC 192.168.10.0/24

Залишилися лінії ACL LocalNet можна зробити.

Трохи нижче в конфігурації - це директива, яка дозволяє отримати доступ до цих мереж:

HTTP_ACCESS дозволяє LocalNet

За замовчуванням кальмари приймають з'єднання користувача на порту 3128. Ви можете змінити цей порт у Директиві http_port. Я повіслю кальмарів на порту 4555:

http_port 4555

Якщо ви хочете використовувати проксі -сервер для кешування, вам потрібно налаштувати каталог кешу:

Cache_dir ufs/var/spool/squid 5120 32 256

Щоб створити на диску структуру папки під кешем кальмарів, виконайте команду:

Кальмари -z

Для аутентифікації користувачів на кальмарів ви можете використовувати найпростішу основну аутентифікацію. Спочатку створіть файл для зберігання користувачів та паролів:

Sudo touch/etc/squid/passwd && sudo chown squid/etc/squid/passwd

Щоб додати користувача до цього файлу, виконайте команду:

Sudo htpasswd -c/etc/squid/passwd username1

Додаючи наступних користувачів, вам не потрібно вказувати параметр -c параметри.

Потім додайте наступні рядки до початку кальмарів файлів конфігурації.Conf:

#использовать basic auth и указать путь к файлу с паролями 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 redentalystt 8 годин auth_param basic cassesensitiveacl auth_users proxy_auth Repated http_access дозволити auth_users

У різних дистриб'юторах Linux шлях до файлу basic_ncsa_auth може відрізнятися:

Ви можете реалізувати автентифікацію в AD за допомогою Basic Auth:

Auth_param basic програма/usr/lib64/squid/basic_auth -r -r -b "dc = winitpro, dc = ru" -d "[email protected] "-w" -f "samaccountname =%s" 

Основний недолік аутентифікації в TOI, що пароль передається у вигляді тексту зашифровано за допомогою base64 (легко розшифровано, див. Приклад у статті про надсилання листів через Telnet з аутентифікацією). Тому для інтеграції з Active Directory краще використовувати аутентифікацію Kerberos у кальмарів. Якщо ні, ви можете налаштувати автентифікацію HTTP Digest у кальмарах. Але це вже поза цією статтею.

В кінці файлу конфігурації за допомогою директив HTTP_ACCESS встановлюються правила вирішення та заборони. Наприклад, дозволити доступ лише до автентифікованих користувачів:

http_access дозволити localhost http_access дозволити автентифіковано http_access заперечувати все

У кальмарів ви можете заблокувати певні сайти. Створіть файл зі списком заборонених сайтів:

Sudo vi/etc/squid/blocked_sites

Додайте до файлу список сайтів, доступ, до якого потрібно заборонити:

Facebook.Com twitter.Com Instagram.Com

І додайте такі рядки до кальмарів файлів конфігурації:

ACL blocked_sites dstdomain/etc/squid/blocked_sites http_access deny blocked_sites

Після внесення змін до файлу конфігурації кальмарів потрібно перевірити його на наявність синтаксичних помилок:

Sudo squid -k parse

Якщо помилок немає, повторно прочитайте конфігурацію кальмарів для використання нових налаштувань (вам не потрібно перезавантажувати демон):

Sudo squid -k переправити

Дозвольте у Fayrvol з'єднання з портом проксі -сервера (у нашому прикладі це TCP 4555). Якщо ви використовуєте Firewalld, додайте резолюцію наступним чином:

Брандмауер-CMD -Zone = Public-ADD-PORT = 4555/TCP
Брандмауер -CMD -reLoad

Якщо ваш сервер Linux розташований у зовнішньому постачальника (AWS, Azure, Oracle Cloud та T.D.), не забудьте додати роздільну здатність для порту 4555 до відповідної групи безпеки.

Перевірте, чи слухає кальмари порту, вказаний у Директиві http_port:

Netstat -tulnp

Використовуючи Curl, ви можете перевірити доступність проксі -сервера кальмарів:

Curl -x http: // xx.Xx.Xx.Xx: 4555 -l http: // google.Com

Якщо з’являється помилка Необхідна автентифікація/ доступ відмови , Тож вам потрібно передати ім'я користувача та пароль для підключення до кальмарів:
Curl -x http: // xx.Xx.Xx.Xx: 4555 -proxy -user proxyuser: tgftm0xdvjnm -i http: // google.Com

Для аналізу журналів кальмарів використовуйте команду в режимі реального часу:

Sudo tail -f/var/log/squid/доступ.журнал

Якщо браузер відображає помилку Проксі -сервер відмовляється , І в доступі до журналу.Журнал - це рядок TCP_DENIED/403 4041 Connect , Перевірте свій ACL.

Завдяки успішній автентифікації користувача, у журналі кальмарів з’явиться повідомлення TCP_TUNNEL/200 39 Connect WinitPro.RU: 443 Proxyusername Hier_direct/xx.Xx.Xx.Xx або TCP_MISS/200 .
Не забудьте встановити налаштування проксі -сервера у браузерах на комп'ютерах користувачів. Встановіть IP -адресу (ім'я) хоста та порту кальмарів у налаштуваннях браузера. Ви можете розподілити налаштування проксі через GPO на комп'ютери Windows.

Замерзає mac, як це виправити?
Зазвичай комп’ютери Apple досить надійні та стабільні. І здається, що якщо Mac висить, то трапилось щось із звичайного. Але це не так. Час від часу ко...
Операційні можливості архіву Windows 7, 8.1 і 10
Персонал Windows - Це функціональність повного часу, який дозволяє їй версії 7, 8.один і 10 створювати резервна коп, Він архів, він - зображення Windo...
Як перенести вікна на інший жорсткий диск, включаючи відмінний стиль маркування (GPT або MBR), DISM ++
Здійснити передачу (міграція) Windows на іншому жорсткому диску, підключеному до комп’ютера. Навіть якщо питання переведення системи на інший диск з в...