Uncategorized
- Subscribe to this category
- Subscribe via RSS
- 0 posts in this category
Привет линуксоидам!
Бывают же смешные рекламные ролики!
Скачиваем дистриб и распаковываем куда нужно, я это сделал в C:\3proxy. На момент написания обзора крайняя версия была 0.6.1. В каталоге мы увидим три папки и еще всякие файлики. В папке bin хранится сама программа прокси сервера и всякие плагины, в папке cfg хранится пример файла конфигурации и sql скрипт для созадния базы данных, если есть желание хранить журнал в БД. В папке doc справка.
Мы идем в папку bin, там создаем файлик 3proxy.cfg. Открываем его на редактирование, вписываем туда всего три строчки:
auth none
log
proxy
Cохраняем и закрываем. Так выглядит конфиг прокси сервера в минимальном варианте.
Первая строка говорит, что авторизация не требуется, строка log - вывод журнала прямо в окно программы, строка proxy без параметров включает сам прокси сервер на стандартном порту 3128. Запускам 3proxy.exe, настраиваем браузер на прокси сервер localhost и порт 3128 и захоим на какой-нибудь сайт.
В окне 3proxy сразу увидим много строк, это собственно и есть журнал, который мы включили параметром log.
Если на компьютере с 3proxy одна сетевая карта смотрит в локальную сеть, а другая в интернет, то не лишним будет принудительно указать какая из сетевых карт какая. Это делается так:
internal 192.168.1.2
external 10.10.54.22
Суть следующая: internal - это сетевуха локальной сети и её IP-адрес, а external - внешняя. Если внешний интерфейс не постоянный, т.е. подключение к интернет осуществляется, например, по PPPoE, то надо писать так - external 0.0.0.0
Не лишним будет указать IP-адреса DNS серверов провайдера и кэширование, делает это так:
nserver ip-адрес-dns-сервера-1
nserver ip-адрес-dns-сервера-2
nscache 65536
Если необходимо, можно делать статические DNS-записи, в некоторых случаях это тоже помогает что-нибудь заблокировать:
nsrecord www.porno.com 127.0.0.1
Далее настроим запись лог-файлов. В каталоге 3proxy создайте папку logs, а в конфиге измените строку log на следующее:
log C:\3proxy\logs\3proxy.log D
rotate 30
Здесь мы указываем куда сохранять лог-файлы, каждый день будет создаваться новый файл, а длительность хранения составит 30 дней.
В итоге наш конфигурационный файл будет иметь следующий вид:
auth none
log C:\3proxy\logs\3proxy.log D
rotate 30
internal 192.168.1.2
external 10.10.54.22
nserver ip-адрес-dns-сервера-1
nserver ip-адрес-dns-сервера-2
nscache 65536
nsrecord www.porno.com 127.0.0.1
Теперь рассмотрим способы авторизации. Сейчас у нас доступ в интернет разрешен всем, т.к. указан параметр auth none. Это можно поменять на следующие варианты: пользователей можно определять по IP-адресам их компьютеров, в этом случае в конфиг пишется auth iponly, можно по логину и паролю (которые задаем в файле 3proxy) - в этом случае пишем auth strong, а можно использовать более тесную интеграцию с Windows и разрешать доступ в интернет по признаку принадлежности пользователя к определенной группе в Windows. В последнем случае в конфиге надо написать так:
auth windows
authcache user,pass 900
authcache windows
plugin "WindowsAuthentication.dll" WindowsAuthentication "3ProxyAllowedGroup"и у параметра прокси добавить -n:
proxy -n
В Windows нужно создать группу 3ProxyAllowedGroup и затем добавлять туда пользователей. Можно поменять название группы на что-нибудь свое, изменив соответствующий параметр выше.
В случае с auth strong логины и пароли задаются в следующем формате:
users user1:CL:password1
Пароли можно задавать и в зашифрованном виде, кому интересно как это делается - велкам в мануал к 3proxy.
Следующий на очереди инструмент ограничения скорости. Синтаксис команды достаточно простой:
bandlimin <bitrate> <userlist> <sourcelist> <targetlist> <targetportlist> <commandlist>
bitrate - скорость в битах
userlist - список пользователей через запятую без пробела, если у вас авторизация auth strong, в противном случае ставится звездочка
sourcelist - если у вас авторизация auth iponly, то тут указывается список IP-адресов через запятую без пробела, в других случаях ставится звездочка
targetlist - IP-адреса назначения через запятую без пробела. если хотим просто ограничить скорость, то можно не заполнять
targetportlist - порты адресов назначения
commandlist - дополнительные команды
Пример правила:
bandlimin 240000 * 192.168.0.2,192.168.0.3Здесь мы ограничиваем скорость до 24 Кбит/c для двух IP-адресов локальной сети. При этом т.к. IP-адреса перечислены через запятую, то 24 Кбит будет делиться между ними.
Теперь мы дошли до самого главного - создание правил доступа. Для этого используются команды allow, deny и flush. Синтаксис имеет следующий вид:
allow <userlist> <sourcelist> <targetlist> <targetportlist> <commandlist> <weekdays> <timeperiodslist>
deny <userlist> <sourcelist> <targetlist> <targetportlist> <commandlist> <weekdays> <timeperiodslist>
flush
Команда flush используется для сброса существующего списка доступа (это необходимо для того, чтобы можно было задать различные списки доступа для различных служб). allow служит для разрешения соединения, deny - для запрета соединения. В момент установки исходящего соединения просматривается список доступа и находится первая запись, соответствующая запрошенному клиентом соединению. Если запись соттветствует allow - соединение разрешается, deny - запрещается. Если список пуст, то соединение разрешается. Если список не пуст, но подходящей записи нет, то соединение запрещается. При этом:
<userlist> - список логинов пользователей через запятую<sourcelist> - список сетей клиентов через запятую. Сеть задается в формате xxx.yyy.zzz.mmm/l, где l - длина маски сети (количество ненулевых байт). Например, 192.168.1.0/24 соответствует сети с маской 255.255.255.0.
<targetlist> - список сетей назначения через запятую
<targetportlist> - список портов назначения через запятую. можно задать диапазон портов через -, например, 80,1024-65535
<commandlist> - список команд, через запятую, для которых применяется правило:
CONNECT - установить исходящее TCP соединение (например, SOCKSv4/5, POP3 proxy, и т.д.)
BIND - разрешить входящее TCP соединение (SOCKSv5)
UDPASSOC - создать UDP-ассоциацию (SOCKSv5)
ICMPASSOC - создать ICMP-ассоциацию (не реализовано)
HTTP_GET - HTTP GET запрос (HTTP proxy)
HTTP_PUT - HTTP PUT запрос (HTTP proxy)
HTTP_POST - HTTP POST запрос (HTTP proxy)
HTTP_HEAD - HTTP HEAD запрос (HTTP proxy)
HTTP_CONNECT - HTTP CONNECT запрос (HTTP proxy)
HTTP_OTHER - другой HTTP запрос (HTTP proxy)
HTTP - соответствует любому HTTP запросу кроме HTTP_CONNECT (HTTP proxy)
HTTPS - тоже, что HTTP_CONNECT (HTTP proxy)
FTP_GET - FTP get запрос
FTP_PUT - FTP put запрос
FTP_LIST - FTP list запрос
FTP - соответствует любому FTP запросу
ADMIN - доступ к интерфейсу администрирования
<weekdays> задает список дней недели, 1 соответствует понедельнику, 0 или 7 - воскресенье. 1-5 означает с понедельника по пятницу (включительно). 1,3,5 задает нечетные дни недели.
<timeperiodslist> список интервалов дня в формате ЧЧ:ММ:СС-ЧЧ:ММ:СС, например, 00:00:00-08:00:00,17:00:00-24:00:00 задает нерабочее время. Примеры использования листов доступа можно найти в файле 3proxy.cfg.sample в папке cfg.
В завершении обзора еще парочка моментов.
Во-первых, когда вы напишете рабочий конфиг и 3proxy будет запускаться с ним без ошибок, прокси сервер можно установить в качестве службы Windows командой 3proxy.exe --install
При этом в конфигурационном файле добавьте строку service
Во-вторых мы рассмотрели только самые основные возможности прокси сервера. На официальном сайте есть подробная документация на русском языке по настройке большинства аспектов работы 3proxy.
Удачи в освоении!
За время существования блога мы рассмотрели уже не мало разнообразных вариаций прокси серверов на разных платформах. Пришло время дать обобщенную характеристику всем прокси серверам, сравнить их и рассказать о некоторых ньюансах работы в каждом конкретном случае. Думаю, новичкам и тем кто находится в поиске подходящего решения под свои нужды будет удобно сориентироваться.
Операционная система: Windows, Linux, BSD, в т.ч. программные маршрутизаторы
Squid, пожалуй, самый старший прокси сервер их всех. За многие годы он оброс внушительным числом функций. Родная платформа для него Linux, однако, есть версии и под винду. Правда в операционной системе MS прокси работает с некоторыми ограничениями. Поддерживаются такие интересные функции как авторизация через Active Directory, ограничение скорости, белые/черные списки сайтов и пр. Существую дополнительные модули, например, SquidGuard для максимально гибкого управления ограничениями.
Если ставить прокси сервер самостоятельно на любую из платформ, можно создать конфигурационный файл практически любой сложности, который будет учитывать всё что вы хотите. Однако, это потребует некоторой подготовки и времени. Намного проще воспользоваться каким-нибудь программным роутером из коробки, где большинство функций Squid настраивается через удобный web-интерфейс. Единственный недостаток последнего способа - ограниченная гибкость в настройках.
Компактный мультиплатформенный прокси сервер. По функционалу сильно приближен к Squid, но при этом не такой громоздкий. В системе Windows показывает себя в некоторых аспектах даже лучше чем Squid. Из недостатков - 3proxy не умеет работать с Active Directory в полном объеме, не кэширует, т.е. не экономит трафик. Последний пункт не очень актуален во времена безлимитного интернета.
Операционная система: только Windows
Оригинальный прокси сервер, который выделяется среди остальных интересной особенностью фильтровать сайты не по черным/белым спискам, а по рейтингу поисковой базы Google. К сожалению пользователей может разделять только по IP-адресам, список функций несколько скромнее чем у Squid или 3proxy.
Анонимайзеры
Существуют так же и способы обхода прокси серверов. Обобщенно эти штуки называются анонимайзерами. По сути это просто сайты, которые в большинстве своем работают по https протоколу, и которые форвардят через себя нужные пользователю запрещенные сайты. Прокси сервера как правило никак не фильтруют https протокол, но тем не менее способы борьбы с анонимайзерами есть. Можно целенаправленно изменять DNS записи на сайты анонимайзеров, а в случае использования Squid есть еще один интересный способ.
Дайте ссылку друзьям, чтобы набрать большое количество просмотров. Может быть тогда на верхах заметят...
Давненько что-то ничего не писалось и как вы понимаете за это время произошли некоторые события. Например, я приобрел себе домой NAS Synology. Многие читатели моего блога, вероятно, спросят меня, а как же OMV или FreeNAS? Ведь было столько обзоров по настройке этих бесплатных NAS-систем...
Ответ на этот вопрос достаточно простой - мне нужен был функционал, который в полной мере не реализован ни в одном бесплатном NAS. В одном флаконе я хотел получить файловый сервер, фото-галерею доступную по web через интернет, DLNA, Torrent-клиент, почтовый сервер, систему видеонаблюдения для своих IP-камер и прочее.
Ресурсы и приложения NASa прекрасно доступны и на моем домашнем ПК и на MacBook Air и на iPad. Для мобильных устройств на базе iOS и Android в Synology не поленились написать специальные бесплатные приложения.
Помимо этого, сетевые хранилища Synology построены таким образом, чтобы не тратить лишнюю электроэнергию понапрасну. NAS кушает всего 20 с чем-то Ватт в час при полной нагрузке и это недостижимый показатель для любого персонального ПК с установленным FreeNAS или OMV. Производительность при этом весьма впечатляющая.
Для тех кто хочет получить NAS с бескомпромиссными или почти таковыми возможностями имеет смысл присмотреться к продукции Synology. Стоят они правда совсем не дешево. Для домашних нужд Synology позиционирует модели DS212j, 213air, 213. Но я решил на всякий случай взять модель еще чуть-чуть мощнее - DS213+. Все эти модели содержат по 2 слота для жестких дисков. Аппаратно поддерживаются режимы RAID 0,1.
Лично мне очень понравилась реализация следующих функций:
Когда я в шару ложу фотки,
то они автоматически становятся доступными через специальный web-интерфейс:
Причем, на этом web-интерфейсе можно очень гибко настраивать права ко всем альбомам (папкам). Можно делать персональные пароли на каждый альбом, можно настраивать разным авторизованным людям разный доступ в те или иные альбомы. Можно разрешать скачивать исходные размеры фотографий. Коментарии, геотеги, есть возможность даже видеоролики смотреть через этот интерфейс. Если на вашем NAS заведено несколько пользователей, то у каждого из них может быть персональная фотогалерея. По соотношению простоты настройки, удобства работы и функционала, пожалуй, это лучшая персональная web-фото-галерея что я видел.
Очень оригинально сделан модуль видеонаблюдения. Многократно лучше, чем поставляемые вместе с IP-камерами всякие глючные проги от D-Link, TrendNet и пр.
DLNA переваривает всё что только можно. За несколько дней активного использования, мне не удалось найти файл, который бы не стал проигрываться через DLNA.
Довольно много различных бесплатных компонентов. Есть антивирус, интеграция с Active Directory, Syslog сервер, модули для создания полноценных сайтов, такие как phpbb, Joomla, phpMyAdmin, Wordpress и пр.
Я добавил на свой NAS нескольких пользователей. И мне очень понравилось то, что можно легко настраивать права для выбранных пользователей не только на шары, но и на доступ к компонентам, можно создавать квоты использования дискового пространства, можно ограничивать скорость по разным протоколам и пр. Очень гибко!
Но как говорится в бочке меда есть и ложка дегтя.
Например, заявлено, что NAS умеет общаться с ИБП по USB-кабелю. Если вырубается электричество, то NAS может выключиться сам и дать команду по USB, чтобы бесперебойник тоже выключился. Когда электричество снова появится, то ИБП и NAS включатся автоматически. На практике так идеально всё работает только с некоторыми моделями бесперебойников. С моим самым дешевым CyberPower 400EI это дело корректно работать не стало. Ну и хрен с ним. Настроил, чтобы при пропадании электричества выключался только NAS, а включать я его могу удаленно по Wake-On-LAN.
Модуль видеонаблюдения содержит предустановленную лицензию только на подключение одной IP-камеры. А если у меня камер больше, то надо докупать лицензию, которая стоит в районе 1600 руб еще на 4 камеры.
Под мобильные устройства нет специальной DLNA-программы, приходится пользоваться сторонними.
На днях вернулся из отпуска. Довольно много событий произошло за целый месяц с небольшим, по порядку все расскажем в наших обзорах.
Ессно, хочу всех поздравить с прошедшими праздниками. Успехов и счастья вам и вашим близким в новом году!
Не так давно OpenMediaVault окончательно перешел на версию 0.4.х, а с 30 декабря 2012 года версия 0.3.х больше не поддерживается разработчиками и исправления к ней не выпускаются. Это значит, что обновляться на 0.4 нужно в любом случае.
Для начала попытался выяснить, чем же новая версия принципиально отличается от старой. К сожалению ничего конкретного не нашел, только общие фразы: улучшено то, исправлено то и т.п. Кароче, 0.4 это эволюционное развитие проекта.
Обновиться до 0.4 можно двумя способами: в web-интерфейсе в разделе обновлений или используя консоль. Во втором случае нужно набрать последовательно несколько команд.
Сначала две команды для обновления 0.3 до крайней версии:
apt-get update
apt-get upgradeЗатем одну команду для перехода с 0.3 на 0.4:
omv-release-upgradeЕсть только один важный момент, который надо знать перед обновлением. Все установленные плагины в 0.3 требуют адаптации под 0.4. Плагины из официального репозитория по большей части уже адаптированы, а вот если у вас установлены дополнения сторонних разработчиков, то тут могут возникнуть проблемы. Чтобы избежать трудностей, рекомендуется сначала выключить все плагины, чтобы они не стали причиной сбоя. После обновления системы их можно будет попытаться обновить и запустить.
Удачи!