Простейшая конфигурация HTTP-прокси сервера SQUID


Администрирование операционных систем на базе Linux (Debian/Ubuntu и Centos/RedHat) Сложные сетевые решения (VPN/Routing и т.п.) VPN-технологии для объединения офисов и обхода блокировок
acl http https pattern squid vps сервер прокси сервер
 
 

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


(последние правки 3 недели, 5 дней)

Предположим, что вы уже настроили VPN до вашего удаленного сервера заграницей и теперь хотите установить там HTTP-прокси сервер для того чтобы направить запросы определенных приложений (например Torrent-трекера) через наш импортный VPS-сервер. Как это делается? Все не то, что просто, а элементарно и я вас сейчас научу.

Установим на нашем VPS-сервере HTTP-прокси сервер Squid:

# aptitude install squid3

Центральный конфигурационный файл прокси-сервера находится в файле /etc/squid/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 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 
 
acl vpnnet src 10.250.0.0/24 
http_access allow vpnnet 
 
visible_hostname proxy-server 
 
http_access deny all 
http_port 3128 
coredump_dir /var/spool/squid 
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%    4320

Из интересного в этом конфигурационном файле только правила:

acl vpnnet src 10.250.0.0/24 
http_access allow vpnnet 

Именно ими мы и разрешаем работу с прокси сервером из нашей VPN-сети.

Если вам интересны более хардкорные примеры, то они есть у меня и я могу ими поделиться, но для этого мне надо будет арендовать прокси в Америке с поддержкой пула IPv6-адресов (могу показать проект с рандомными IPv6-проксями на разных портах) и внизу странички есть формочка как меня задонатить на этот подвиг.

Моя официальная страница на FaceBook
Мой микроблог в твиттер

Настройка простого SOCKS5-прокси сервера в Debian Linux

Настройка простого SOCKS5-прокси сервера в Debian Linux

Фактически, мне требовалось настроить проксирование трафика для одного браузера через удаленный хост - это задача достаточно типовая, поэтому сразу перейдем к делу и рассмотрим практическую реализацию этого кейса. 3proxy не входит в штатные пакеты Debian/Ubuntu, поэтому мы соберем его из исходных кодов. Дополнительно расскажу как можно ограничить доступ к 3Proxy-серверу по IP-адресу, если ваш роутер не поддрживает полноценные ограничения по адресам источника (Source IP).


Как сделать Double VPN - Подробная инструкция

Как сделать Double VPN - Подробная инструкция

В мире анонимайзеров нововведение, - Double VPN. Основной особенностью его является то, что сервер к которому мы подключаемся и сервер точкой выхода которого будет исходящий трафик, это два разных сервера, причем желательно расположенные в разных странах. Особой сложности реализация такого механизма не представляет, хотя некоторые интересные моменты там есть. Типовая схема реализации маршрутизации трафика через OpenVPN сервер использует механизм NAT и собственно сам OpenVPN в режиме изменения основного шлюза. В этом случае весь трафик клиента перенаправляется на сервер OpenVPN, где уже направляется далее в сеть Internet с подменой адреса источника.


OpenVPN-сеть для LXD-кластера без назначения адресов клиентов (использование стороннего DHCP для управления клиентами VPN-сети)

OpenVPN-сеть для LXD-кластера без назначения адресов клиентов (использование стороннего DHCP для управления клиентами VPN-сети)

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


Разработка собственного модуля авторизации для OpenVPN

Разработка собственного модуля авторизации для OpenVPN

Как вы наверное знаете помимо стандартной авторизации по ключам и сертификатам вы можете дополнительно использовать парольную защиту как дополняющий механизм к модели сертификатов или полностью перейти исключительно на парольную авторизацию. Стоит отметить, что защищенность OpenVPN с авторизацией с использованием Login/Password будет гораздо выше чем использование механизмов PPTP например.


Как вы наверное понимаете, бесплатно сейчас работать никто не будет и если ответ на ваш вопрос потребует больше трех минут времени и вам требуется полноценная консультация, то расценки на мои услуги представленны ниже.


Есть вопросы?
Спрашивайте и я обязательно вам отвечу!

* Поля обязательные для заполнения .