Веб прокси сервер

By admin | July 12, 2018

Что такое анонимайзер

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

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

Для чего нужен анонимайзер

Как мы уже писали выше, анонимайзер позволяет скрывать ваш IP-адрес, по которому можно легко вычислить ваше местоположение, а иногда и идентифицировать личность пользователя. Но это далеко не единственный и не главный вариант использования анонимайзеров. Одной из основных причин использования является обход всевозможных блокировок. Более трети работодателей ограничивают доступ к сайтам. Чаще всего под запрет попадают социальные сети и развлекательные сайты. Если это ваш случай, то анонимайзер поможет открыть заблокированный контакт или другой сайт. Кроме этого анонимайзеры часто используют любители шоппинга. Многие крупные интернет магазины с низкими ценами (такие как 6pm или zappos) не позволяют совершать покупки из России и некоторых других стран. В этом случае веб-прокси тоже подойдет как нельзя лучше. В целом использование анонимайзера ограничено только вашей фантазией. Изменение IP, виртуальная смена страны или места жительства, обход блокировок, шоппинг – вот далеко не полный перечень для чего наш сайт может быть полезен. Пользуйтесь с удовольствием и не стесняйтесь задавать вопросы, если они у вас появятся. Надеемся, что наш сайт будет вам полезен.

Что такое прокси?

125652

08.08.2009

Поделиться

Класснуть

Поделиться

Твитнуть

Плюсануть

Что такое прокси?

Когда люди, незнакомые с компьютерной терминологией, слышат слово «прокси-сервер», им представляется что угодно, только не то, чем прокси является на самом деле.

У некоторых этот термин вызывает ассоциации с чем-то, что провайдер предлагает для ускорения доступа к сети. Другие вспоминают, что в фильмах про хакеров часто упоминается прокси, как способ остаться невидимым для системы безопасности. Третьи… А, впрочем, о чем мы? Сколько людей, столько и мнений. Каждый в чем-то прав, а в чем-то нет.

Вопрос в том, кто ближе всего к истине? Давайте разберем все по порядку…

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

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

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

Как это можно использовать? Вот самый простой пример: вы забанены в любимом чате. У вас не получается войти в чат ни под своим ником, ни под свежесозданным. Скорее всего бан вы получили по ip-адресу. Подключившись к прокси-серверу, вы сможете обмануть систему проверки чата (она ведь увидит ip-адрес прокси, а не ваш).

Второй пример немного сложнее. Проверяя ip посетителей, некоторые сайты накладывают ограничения на просмотр, по критерию географического положения. Есть множество американских сайтов, скрывающих часть разделов от глаз пользователей из России, к примеру. Мотивы, которыми они руководствуются — другая тема для обсуждения, но факт остается фактом. Если вам необходимо получить доступ к этим разделам, попробуйте подключиться к прокси, размещенному в Соединенных Штатах. Если все пойдет успешно, о том, что вы резидент РФ будете знать только вы и прокси-сервер, а система проверки ip на закрытом сайте примет вас за «своего» и доступ будет разблокирован.

Что такое прокси сервер

Часто провайдеры подключают своих абонентов к собственному прокси-серверу. По их словам, это ускоряет скорость доступа к интернет.
Действительно, анонимность — лишь одно из достоинств прокси. Помимо него, прокси-сервер способен кэшировать проходящую через него информацию. Что это значит и как "кэширование" влияет на скорость?

Сколько человек внутри вашей локальной сети пользуется услугами таких популярных сервисов, как Яndex, Rambler, Google, Mail.ru? Почти все, наверное. Каждый раз, когда кто-то открывает сайт, он загружает с него целую кучу картинок и баннеров. При использовании прокси-сервера провайдера, все эти картинки скачиваются из интернета один раз, после чего сохраняются на жестком диске прокси — кэшируются. Любой пользователь, открывший сайт, который уже есть в кэше, получает все его картинки с сервера прокси, а не самого сайта. Если учесть при этом, что выход в интернет происходит на скорости 3-4 Мбит/с, а связь между компьютерами в локальной сети (а значит между вашим компьютером и прокси) достигает 100 Мбит/с, то получим заявленную провайдером разницу в скорости скачивания.

Размеры картинок не превышают обычно 100 Кбайт, казалось бы, разница неощутима, но ведь пример с изображениями — только пример. Что если вы захотите скачать фильм или дистрибутив новой программы, размер которых 500-700 Мбайт, а этот файл уже находится в кэше? Наверное, в таком случае вы почувствуете разницу. К тому же, у большинства провайдеров вам не придется платить за трафик, полученный с прокси-сервера, что, согласитесь, может помочь неплохо сэкономить на бюджетах абонентской платы.

Описывать преимущества прокси сервера можно еще долго. Но нам, как простым пользователям, достаточно и этих двух: анонимность и возможность экономить на трафике. Пора экспериментировать.

А для проведения экспериментов вам наверняка понадобится инструкция, как же использовать прокси-сервер, как настроить работу своего браузера? Очень просто.

Поделиться

Класснуть

Поделиться

Твитнуть

Плюсануть

Please enable JavaScript to view the comments powered by Disqus.

Россия – единственная страна, на территории которой, 12 морей.

В связи с развитием доступа в интернет сейчас стали не так популярны прокси сервера, как раньше, тем не менее они до сих пор остаются востребованными. На мой взгляд, самой удобной связкой для прокси является squid + sams2, прежде всего за свое удобство администрирования. Остальные продукты со схожим функционалом выглядят гораздо хуже и менее удобно, а зачастую они старее и тоже не поддерживаются.

Введение

Я успешно разобрался с настройкой sams2 под CentOS 7 и решил проделать то же самое на Freebsd 10.2. Мне нравится эта система. Не могу аргументировать чем именно, просто нравится и все. С нее началось мое первое знакомство с unix системами и с тех пор я стараюсь не забывать о ней, хотя работаю в ней все меньше и меньше.

Sams популярная и в своем роде уникальная система управления конфигурацией squid, которая работает через свой демон и php панель управления. Аналогов по удобству и функционалу я не встречал. Есть что-то похожее, но еще более старое, например STC. Но мне она внешне вообще не нравится, тоже очень старая и давно не развивается.

Можно схожий функционал реализовать отдельными средствами. Например, настроить ту или иную авторизацию в squid, создать списки доступа, списки ресурсов, включить все это. Потом анализировать логи, например, с помощью SARG. По идее, получится то же самое, что и самс, но управлять неудобно, отчеты в SARG не такие красивые и наглядные. В общем, не то.

Так что будем разбираться и настраивать самую последнюю из выпущенных версий самс — sams 2.0 от 1 апреля 2014 года.

Подготовка системы и установка зависимостей

Если вы только знакомитесь с материалом и еще не подготовили свою систему, то рекомендую воспользоваться моей подробной инструкцией с видео по установке freebsd 10.2. Именно на ней я буду производить установку и настройку sams2.

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

Теперь установим необходимые пакеты. Можно все собрать из портов, но я буду ставить готовые пакеты, просто потому что так быстрее. Это не принципиально, если вы привыкли собирать из портов, делайте это.

Нам понадобится web сервер для работы панели администрирования. Подробно этот вопрос я уже рассматривал отдельно в статье посвященной настройке web сервера. Можно подсмотреть там, как быстро установить apache + php + mysql + phpmyadmin. Здесь я просто приведу список команд, которые я использовал при установке. За всеми подробностями и комментариями прошу обращаться по приведенной ссылке.

Сервер, с которым будем работать:

# uname -v

FreeBSD 10.2-RELEASE-p8

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

# pkg install -y mysql56-server

Добавляем mysql_enable=»YES» в /etc/rc.conf и запускаем mysql:

# /usr/local/etc/rc.d/mysql-server start

Выполним начальную настройку mysql с помощью скрипта:

# /usr/local/bin/mysql_secure_installation

Устанавливаем web сервер apache, он нам нужен для работы панели администрирования:

# pkg install -y apache24

Добавляем apache24_enable=»YES» в /etc/rc.conf и запускаем:

# /usr/local/etc/rc.d/apache24 start

Устанавливаем все необходимое, связанное с php:

# pkg install -y php56 php56-extensions mod_php56 php56-mysql

Этот шаг не обязательный, можно пропустить. Я просто привык использовать phpmyadmin в работе. С ним удобно. Устанавливаем phpmyadmin:

# pkg install -y phpmyadmin

Редактируем конфиг apache, добавляем в самый конец для работы php скриптов и доступа к phpmyadmin:



 AddType application/x-httpd-php .php

 AddType application/x-httpd-php-source .phps

 DirectoryIndex index.php index.html





Alias /phpmyadmin/ "/usr/local/www/phpMyAdmin/"





 AllowOverride All

 Require all granted

 DirectoryIndex index.php index.html index.htm

 Order allow,deny

 Allow from All

Создаем файл настроек php.ini, скопировав дефолтный:

# cp /usr/local/etc/php.ini-production /usr/local/etc/php.ini

И устанавливаем там временную зону:

date.timezone = Europe/Moscow

Если не установить, то в веб интерфейсе самса будут постоянно вылезать ошибки, связанные с временной зоной. После всех изменений перезапускаем apache:

# apachectl restart

Все, web сервер готов. Для теста можете зайти на http://ip-сервера/phpmyadmin/ и проверить, все ли в порядке. Если что-то не так, то разберитесь сначала с работой веб сервера, и только потом двигайтесь дальше.

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

Установка прокси сервера squid

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

# pkg install -y squid

Добавляем squid_enable=»YES» в /etc/rc.conf и запускаем его:

# /usr/local/etc/rc.d/squid start

Сейчас можно проверить работу прокси сервера squid. В дефолтной конфигурации он должен выпускать в интернет по ip, список которых есть в конфигурационном файле — /usr/local/etc/squid/squid.conf. Рекомендую на всякий случай это сделать, чтобы убедиться в корректности работы сквида.

Если вы будете использовать кэш, то перед запуском сквида раскомментируйте в конфигурационном файле соответствующую настройку и выполните команду в консоли:

# squid -z

Чтобы самс корректно добавлял свои изменения в файл конфигурации, в нем должны быть метки, начинающиеся с # TAG:. Раньше дефолтный конфиг сквида уже был с ними, но затем его существенно уменьшили в размере и метки из него исчезли. Нам нужно добавить их самим. Вот необходимый набор этих меток. Между ними обязательно должна быть пустая строка:

# TAG: acl



# TAG: url_rewrite_access



# TAG: url_rewrite_program



# TAG: url_rewrite_children



# TAG: delay_pools



# TAG: delay_class



# TAG: delay_access



# TAG: delay_parameters



# TAG: http_access



# TAG: http_access2



# TAG: icp_access

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

Установка и настройка sams2 в Freebsd

Переходим к самому главному — настройке sams2. Перед этим установим wget и unzip. Они нам нужны будут для скачивания и распаковки исходных текстов.

# pkg install -y wget unzip

Скачиваем исходники с github:

# cd /root

# wget https://github.com/PavelVinogradov/sams2/archive/master.zip --no-check-certificate

Извлекаем содержимое архива:

# unzip master.zip

После этого устанавливаем необходимые для сборки пакеты autoconf, automake и libtool:

# pkg install -y autoconf automake libtool

Переходим в папку sams2-master и начинаем сборку программы:

# cd /root/sams2-master

# make -f Makefile.cvs

Запускаем конфигурирование:

# sh ./configure

Скрипт должен отработать без ошибок и вывести информацию:

Use MySQL API: yes

Use PostgreSQL API: no

Use unixODBC API: no

Use LDAP API: no

Using pcre: pcrecpp

Use dynamic plugin: yes



Locations:

config file: /usr/local/etc/sams2.conf

daemons: /usr/local/bin

web interface: /usr/local/share/sams2

documentation: /usr/local/share/doc/sams2-2.0.0



Note: If later on, you will use

make install exec_prefix=/foo

or make install DESTDIR=/tmp/package

the locations above would be incorrect



Configure completed. Run make (or gmake) to build the programs.

Установка sams2 в Freebsd 10

Если у вас так же, то все в порядке, продолжаем. Если какие-то ошибки, то надо разбираться. Обязательно должны быть указаны значения yes в пунктах Use MySQL API и Using pcre. Без первого ничего не заработает, так как хранить конфигурацию будет негде, без второго не будет работать редиректор.

Устанавливаем sams2 на freebsd сервер:

# make install

Установка не проходит, выскакивает ошибка:

chmod 0777 //usr/local/share/sams2/data

chmod: //usr/local/share/sams2/data: No such file or directory

*** Error code 1



Stop.

make[2]: stopped in /root/sams2-master/php

*** Error code 1



Stop.

make[1]: stopped in /root/sams2-master/php

*** Error code 1



Stop.

make: stopped in /root/sams2-master

Где-то в исходниках ошибка — добавлен лишний слеш в пути. Вместо того, чтобы разбираться, где ошибка, проще создать директорию data самим:

# mkdir /usr/local/share/sams2/data

Запускаем установку снова. Теперь все должно пройти без ошибок.

Дальше нам нужно добавить web интерфейс sams2 в конфигурацию apache. Для этого в /usr/local/etc/apache24/httpd.conf добавляем в самый конец:

Alias /sams2 /usr/local/share/sams2





 AddDefaultCharset UTF-8

 Options Indexes

 Require all granted

 Order allow,deny

 Allow from All

Перезапускаем apache для применения изменений:

# apachectl restart

Отредактируем файл настроек sams2. Он располагается по адресу /usr/local/etc/sams2.conf. Меняем только 2 параметра:

DB_USER=root

DB_PASSWORD=passroot

Указываем в них пользователя mysql root и его пароль. Теперь идем в браузер по адресу http://ip-сервера/sams2/setup.php Скорее всего вы увидите чистую белую страницу, либо вообще ошибку при загрузке. Если посмотреть при этом в лог веб сервера, то там будет следующее:

PHP Parse error:  syntax error, unexpected '$configbuttom_7_log_2' (T_VARIABLE) in /usr/local/share/sams2/lang/lang.EN on line 1100

Это баг самса, его нужно исправить. Для этого открываем в редакторе файл /usr/local/share/sams2/lang/lang.EN и убираем пробелы в начале строк с 1100 по 1105, там есть лишние символы. Должно получиться вот так:

исправление бага самс2

После редактирования обновляем страничку и начинаем настройку самса через web интерфейс. Выбираем кодировку Russian UTF-8. Нужна именно эта кодировка, так как мы ее же указали в свойствах алиаса в апаче. Если там этого не сделать, а здесь выбрать привычную кодировку 1251, то в интерфейсе будут проблемы с отображением текста. Я опытным путем выяснил, что именно в такой конфигурации все работает нормально.

выбор кодировки при установке

Проверяем, чтобы все важные параметры были зеленые, на safe_mode не обращаем внимание.

начальная проверка установки sams2

Указываем root учетку от mysql и данные для вновь создаваемой базы данных и учетной записи sams:

создание базы данных для самс

Если все нормально, то должны увидеть следующую картинку:

завершение установки

После нажатия на Далее >> откроется окно для входа в панель администрирования самс.

авторизация пользователя в веб интерфейсе

Чтобы авторизоваться администратором, нужно снизу нажать на ссылку «Авторизация администратора SAMS» и ввести учетные данные по-умолчанию: пользователь admin, пароль qwerty. Открывается главная страница с системной информацией.

главная страница web панели

Теперь еще раз отредактируем конфигурационный файл sams.conf и введем туда данные от учетки sams, которую мы создали. Заодно поменяем еще несколько параметров, так как изначально там стоят не верные данные. Должно быть вот так:

SQUIDROOTDIR=/usr/local/etc/squid

SQUIDCACHEDIR=/var/squid/cache

SQUIDPATH=/usr/local/sbin

Чтобы запускать sams2 нужно создать для него скрипт запуска и поместить в /usr/local/etc/rc.d/. Делаем это:

# mcedit /usr/local/etc/rc.d/sams
#!/bin/sh



. /etc/rc.subr



name="samsd"

rcvar=`set_rcvar samsd`

command="/usr/local/bin/sams2daemon"



load_rc_config $name

command_args="${samsd_server_flags}"

sig_stop="USR1"



run_rc_command "$1"

Сохраняем файл и делаем его исполняемым:

# chmod 0555 /usr/local/etc/rc.d/sams

Добавляем samsd_enable=»YES» в rc.conf и запускаем sams2daemon:

# /usr/local/etc/rc.d/sams start

Логинимся в веб интерфейс и настраиваем sams.

Сразу обращаю внимание на один нюанс. По-умолчанию в самс уже указан один временной диапазон Full day. Он включает в себя весь день, но при применении настроек squid, в его конфиге этот интервал почему-то обозначается как

acl Sams2Time1 time MTWHFAS 23:00-23:59

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

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

добавление пользователя по ip

Заполняем необходимые поля и добавляем юзера.

регистрация нового пользователя самс

Не забываем перезапустить демон squid через веб интерфейс самса. Для этого идите в раздел SQUID -> Proxy Server и снизу нажимайте на вторую иконку слева.

перезапуск squid

Синяя строка с текстом Команда на реконфигурирование Squid получена демоном означает, что команда на перезапуск нормально отработала.

корректный перезапуск squid через sams2

В конфигурационном файле /usr/local/etc/squid/squid.conf должны добавиться следующие строки:

# TAG: acl

acl Sams2Template1 src 192.168.1.10



# TAG: url_rewrite_access

acl Sams2Proxy dst 192.168.1.21

url_rewrite_access deny Sams2Proxy



# TAG: http_access

# Setup Sams2 HTTP Access here

http_access allow Sams2Template1

Теперь можно включать этому пользователю в настройках браузера proxy сервер и выходить в интернет. Через несколько минут его статистика посещений появится в панели управления.

статистика пользователя в sams2

Дальше каждый продолжает настройку по своим потребностям. Там все достаточно понятно и практически не отличается от настроек 1-й версии, описание которой достаточно много в интернете.

Заключение

Поле завершения установки и настройки sams2, а затем и реальной эксплуатации у меня ложилось двоякое впечатление. С одной стороны вроде работает, но как-то криво. В программе баги, в логи она во время работы постоянно сыпет сообщениями:

Dec 27 01:20:08 freebsd samsdaemon[15997]: ***ERROR: squidlogparser.cpp:445 Unknown cache result

Dec 27 01:20:08 freebsd samsdaemon[15997]: +++WARNING: Unknown cache result TCP_TUNNEL

Хотя на работу это вроде как не влияет. В инет пускает, статистику считает. Я еще не настраивал редиректор и списки запрета доступа, но по отзывам, там тоже есть проблемы и работает все нестабильно. Начиная с версии 3.4 поменялся формат ответа редиректора и он стал несовместим с самсовским. Нужно править исходники и собирать с исправлениями. На CentOS я обошелся просто более старой версией squid, чтобы не разбираться с этой проблемой. Думаю, можно вообще без запретов обойтись, это сейчас не актуально из-за большого развития мобильных гаджетов и хорошего доступа в интернет с них. Но если вам это важно, имейте в виду.

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

Помогла статья? Есть возможность отблагодарить автора

Дополнительные материалы по Freebsd

Previous Vpn для яндекс браузера андроид
Next Настройка прокси сервера windows 10