Home News

Настройка прокси-сервера Squid для начинающих. Linux.

06.09.2018

видео Настройка прокси-сервера Squid для начинающих. Linux.

Как настроить прокси-сервер

Добрый день! Сегодня я Вам расскажу о прокси-сервере под Linux. На сегодняшний день наиболее популярным прокси-сервером в ОС (Операционной Системе) Linux, является Squid , именно поэтому хочу рассказать о настройке данного опенсорсного программного продукта для Linux.



Squid (он же «кальмар» с англ. языка) — программный продукт, являющийся кеширующим прокси-сервером для таких протоколов, как HTTP, FTP, Gopher и HTTPS (если настроите). Данный продукт является опенсорсным, а значит программа с открытым исходным кодом (распространяется по лицензии GNU GPL).


🛠 Универсальный прокси сервер Shadowsock на Debian 9.1 🛠 Установка, настройка на все платформы.

Открываем и редактируем файл: /etc/squid/squid.conf . Довольно часто бывают случаю, когда неопытные пользователи могут не правильно его отредактировать, в этом случае посмотреть файл можно здесь: /usr/share/doc/squid/examples/squid.conf


Скрипт настройки прокси на Ubuntu

После внесения изменений перезапускаем сервис: #sudo service squid restart

Ну и собственно говоря привожу некоторые возможности SQUID (с детальным описанием). Про другие возможности можно почитать выполнив команду man squid или sudo less /etc/squid/squid.conf после установки самой программы squid.

# Указываем порт работы SQUID. Этот же порт необходимо использовать для настройки # доступа клиентов, для которых собственно мы и настраиваем наш прокси-сервер. http_port 3128 # Порт ICP для использования Вашего SQUID как родительский прокси. # "1" - включить, "0" - #отключить. icp_port 0 #Не кешировать скрипты. #Если у вас появиться желание кешировать, меняете, deny на allow. acl QUERY urlpath_regex cgi-bin no_cache deny QUERY # Объем "быстрого" кеширования в ОЗУ сервера, для веб-страниц и других действий # веб-клиентов, которые в данный момент пользуются прокси. cache_mem 54 MB # Формат хранения кеша SQUID - ufs. Размер кеша: 100мб. # Остальные две цифры - количество каталогов и подкаталогов, которые будут # использоватся для хранения данных. cache_dir ufs /var/spool/squid 100 16 256 # Путь к log-файлу доступа SQUID. # В нем хранится статистика использования SUID, по ip-адрессам. cache_access_log /var/log/squid/access.log #Путь к log-файлу запуска и действий программы SQUID и процессов. cache_log /var/log/squid/cache.log # Путь к log-файлу store. cache_store_log /var/log/squid/store.log # Параметр, который определяет тип rotate лгово, которые выполняются командой # "squid -k rotate". Команду желательно использовать для формирования отчетов. logfile_rotate 10 # Email Администратора сервера для оповещения серьезных ошибок: cache_mgr [email protected] # Параметры для работы з FTP-серверами. # Анонимный пользователь к FTP ftp_user anonymous@ # SQUID формирует страницу с папками на ftp. # Этот параметр - максимальное количество символов в названиях, # которые покажет прокси-сервер, длинее названия он просто обрежет. ftp_list_width 32 # Пасивнsй режим FTP. # Если Ваш фаервол не разрешает использовать сквиду пасивный конект, # необходимо установить значение off. ftp_passive on # Проверка FTP ftp_sanitycheck on # Адреса DNS-серверов, которые будет использовать SQUID #(к примеру у меня первичный и вторичный 10.7.1.23 10.7.1.24). dns_nameservers

Доступ к сквиду с использованием логина/пароля.(*)

# Чтобы пользоваться такой аутентификацией для начала необходимо выполнить команду в # терминале: htpasswd -c /etc/squid/passwd username , ключ -с необходимо использовать # только при первом запуске, для создания файла, иначе затрете файл. Далее дописываем строки: #auth_param basic program /usr/lib/squid/ncsa_auth /etc/squid/passwd # адрес /usr/lib/squid/ncsa_auth может быть другим, в зависимости от вашего дистрибутива. # Это для Ubuntu 9.10. #auth_param basic realm Office proxy-caching web server # Squid proxy-caching web server - слова при авторизации, можете сменить на что захотите. # Описываем группу логинов, которым будет доступный коннект к сквиду. # Для работы необходимо обязательно выполнить указания (*). #acl users proxy_auth user1 user2 #acl allusers proxy_auth REQUIRED

Списки контроля доступа ACL — Access List

# Тип записи такой: # acl название_группы src ip-адреса_или_диапазон_адрес/маска_подсети. Далее доступ этим группам # мы будем либо разрешать, либо запрещать с помощью http_access. # Например доступ группе office, ip которого к примеру 10.120.4.162, # маска подсети можно не задовать, так как задается группа с одного ip-адреса. # acl office src 10.120.4.162/255.255.255.255 # А для группы ip-адресов (10.120.4.160-10.120.4.168) той же сети, также маску подсети, # можно не задавать. Указывать маску полной формой или короткой - эт уже как Вам угодно. :) # acl office src 10.120.4.160-10.120.4.168/255.255.255.255 # Для некоторых подсетей: # Диапозон адресов Полный Короткий #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 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 # acl podsetb src 10.0.0.0/8 # описали в правилах всю подсеть, диапазон которой 10.0.0.1-10.254.254.254 # Наш сервер - ему также необходим доступ. acl server src xxx.xxx.xxx.xxx # Группа office2 - компьютеры, которые будут иметь право коннектится к серверу. acl office2 src 10.120.4.162/8 10.120.4.160-10.120.4.168/8 #Описываем, когда это необходимо, лист доступа с мак-адресами, # где xx:xx:xx:xx:xx:xx - необходимый мак-адрес.(**) #acl mac_adress arp xx:xx:xx:xx:xx:xx # Описываем ACL-правила для доменных имен. Например, у Вас появилось желание # забанить кому-то доступ к социальным сетям или каким-то онлайн играм.(***) acl social_networks dstdomain .vkontakte.ru .odnoklassniki.ru .facebook.com .twitter.com .myspace.com # Установка ACL для группы all (тоесть для любой существующей сети). Оставляем без изменений. acl all src 0.0.0.0/0.0.0.0 acl manager proto cache_object # Адреса localhost, у всех одинаковые. acl localhost src 127.0.0.1/255.255.255.255 # Списки доступа ACL для портов. # Почтовый SMTP порт acl Safe_ports port 25 # http acl Safe_ports port 80 # ftp acl Safe_ports port 21 # https, snews (они же SSL-порты) acl Safe_ports port 443 563 # multiling http acl Safe_ports port 777 acl Safe_ports port 5222 # bittorent_port acl Safe_ports port 6881 acl CONNECT method CONNECT

Разрешаем/запрещаем доступ тому, кого мы описали выше в ACL-групах

# Когда кто-то будет соединятся, сразу будет запрашивать логин и пароль, # не обращая внимание на другие правила группы office2 и другие # то есть разрешение читаются последовательно и при необходимом программа завершает чтение разрешений. # Если Вы хотите, чтобы разрешение было в нескольким группах, то записываем следующим образом # так: http_access allow users office2 (будет коннектить все из группы с логином и паролем) http_access allow server http_access deny !Safe_ports #http_access deny social_networks #закрыли доступ к социальным сетям. Если необходимо раскомментируйте (***). #http_access allow users #раскомментируйте, если необходимо (*) #http_access allow mac_adress #раскомментируйте (**) #http_access allow podsetb #когда описывали подсеть. http_access allow zal http_access deny all # Разрешаем/запрещаем ICP-доступ всем пользователям. В конкретном случае, запрещено. icp_access deny all
rss