![]() |
Библиотека Интернет Индустрии I2R.ru |
||
![]() ![]() |
Чудо-прокси
В этой статье я хочу рассказать о прокси-серверах (proxy-servers) и их применении. Читатель может спросить меня: «Да кому они вообще нужны?» А я отвечу, что прокси-сервер, равно как и много других совершенно замечательных примочек 1, нужен всем, но не все об этом догадываются. Сначала я должен сказать, что же это вообще такое. Говоря сухим языком технических описаний, прокси-сервер - это такой сервис, который предоставляет доступ в Интернет всем компьютерам в локальной сети, даже если подключен только один из них. То есть если у вас дома два компьютера, объединенные в сеть, один модем и одна телефонная линия (ну, это естественно; у кого из нас дома две телефонные линии?), то, используя прокси-сервер, вы сможете полноценно бродить по Сети с любого из них. Еще это очень актуально для небольших офисных сетей. Не у всякой фирмы есть возможность провести выделенную линию, но и поставить на каждый стол модем - очень накладно. Сам собой напрашивается вариант подключения всех пользователей на одно соединение. Действительно, если вся работа с Интернетом сводится к получению/отправке электронной почты, то одно модемное соединение вытянет пяток пользователей. Каждому при этом достанется по 11200 бит/с, что, вообще говоря, не так уж и мало 2. Во всяком случае, мне известны ситуации, в которых на одной выделенной линии с пропускной способностью 64 кбит/с «висело» до 30 пользователей плюс корпоративный сервер... «Стоп-стоп-стоп, - скажет тут Дотошный Читатель. - А у меня вот нет локальной сети, получается, что и прокси-сервер совершенно не нужен!» Придется попросить уважаемого Дотошного Читателя дочитать до конца, и только потом делать выводы, потому что прокси-сервер способен не только управлять подключением к Интернету целой локальной сети, но и кэшировать посещенные страницы на диске. Таким образом, при следующем обращении страница загружается с диска, что приводит к двум очень приятным последствиям: во-первых, значительно уменьшается внешний трафик, а во-вторых... Как вы думаете, что быстрее - ваш жесткий диск или канал вашего провайдера? При этом прокси-сервер совершенно прозрачен для всех приложений, и эффект от него проявляется только в заметном (иногда в разы) увеличении скорости загрузки страниц. Кроме того, прокси-сервер позволяет переправлять входящую/исходящую электронную почту клиентам. Некоторые программы сами могут служить почтовым сервером. У провайдера можно создать только один ящик (например, dumbfirma.nnov.ru), и вся почта, адресованная на него ([email protected] или какой-нибудь [email protected]), будет сваливаться в один реальный ящик, из которого впоследствии извлекаться и распределяться между локальными ящиками, находящимися на шлюзовом компьютере, в соответствии с полем To:. Чтобы окончательно сломить сопротивление скептически настроенного Дотошного Читателя, хочу добавить, что при подключении локальной сети к Интернету прокси-сервер заодно работает firewall’ом, защищая ваши машины от нежеланных посетителей. Подключение через модем происходит по запросу из сети, причем возможно точное задание временных промежутков, в течение которых подключение возможно. И еще: как правило, прокси-серверы предоставляют возможность регистрации пользователей, для каждого из которых возможна установка прав доступа, фильтрация запросов по URL и т.д. «Хорошо, хорошо, хорошо, - скажет Дотошный Читатель. - Я сдаюсь, прокси-сервер действительно на редкость полезная вещь, которая мне совершенно не помешала бы. Но хотелось бы немного знать о том, где его того... взять». Ну что ж, нет ничего проще. Набираете в адресной строке вашего браузера, скажем, www.download.com и бьете по Enter’у. Там переходите в раздел Internet > Servers, и можете наблюдать длиннющий список из различных почтовых, DNS-, WINS- и proxy-серверов. Но есть две неприятности. Во-первых, большинство этих «серверов» не выдерживают вообще никакой критики, во-вторых, описания на shareware/freeware-сайтах, как правило, весьма лаконичны и не дают почти никакого представления о продукте. Вполне можно загрузить прекрасную программу совершенно случайно, а можно, наоборот, внимательно вчитываться в описания и в результате загрузить мусор. Мне повезло, я в процессе своих исканий наткнулся на такой шедевр, что до сих пор облизываюсь и сам себе завидую. Но обо всем по порядку. Прокси-серверы, как и весь остальной софт, делятся на разные «весовые» категории. Бывает, что две программы отличаются друг от друга сильнее, чем Word 2000 от Notepad. Если сравнивать по абсолютной шкале, то, конечно, самыми-самыми получаются MS Proxy Server и Squid. Тем не менее, эти два варианта следует с негодованием отмести. Первый - потому что он стоит 995 долларов (да-да, именно столько, это не опечатка), отличается неподражаемой слоноподобностью и работает только под серверной редакцией NT 3. Второй - потому что он хоть и бесплатен и не столь ресурсоемок, как MS Proxy Server, но работает только на Unix-машинах. Причем как для первого, так и для второго желательно выделение отдельного компьютера, что для многих абсолютно неприемлемо. Если же брать что-нибудь «для дома, для семьи, для малого офиса», то мы увидим весьма интересную картину. Безусловным лидером на сегодняшний день считается программа WinGate, про которую ничего не слышал только глухой, а рекламы в Интернете не видел только слепой. Тем не менее, от многих людей я слышал о трудностях с настройкой WinGate’а. Знаете, я СРАЗУ ЖЕ этому поверил, стоило только увидеть окошко GateKeeper’а 4 с сумасшедшим количеством закладок (они все в окне просто не умещаются!). Кроме того, выяснилось, например, что настройки по умолчанию блокируют работу www-proxy, и в них надо долго копаться. В общем, конфигурация WinGate является делом крайне увлекательным... для тех людей, которые на ночь любят почитать книжки вроде «Системное программирование в среде Unix». Необходимо хорошее знание предмета и внимательное изучение документации. Нет, не подумайте, что я ругаю WinGate. Это замечательная программа, я ее очень ценю и люблю поковыряться в ней, если у меня есть чуть больше свободного времени, чем обычно. Просто минусы WinGate являются логичным продолжением его же плюсов, среди которых особо хочется отметить высокую степень гибкости, надежности и защищенности программы. Хочется сказать, что я не видел больше ни одной программы с такой степенью конфигурируемости. Когда я понял, что WinGate является слишком тяжелым для использования дома и в маленьком офисе, я начал искать ему замену. Каким-то чудом (точнее, благодаря грамотной организации сервера CNET Download) я вышел на прелестное дитя Чешской Республики под именем Proxy+ (версия 2.40, производитель - Fortech Ltd) 5. Описание всех достоинств этой программы заняло бы не один разворот, поэтому я приведу таблицу сравнительных характеристик Proxy+ и WinGate:
Как видно, «маленькая, но очень симпатишная» 6 чешская программка бьет даже WinGate Pro! Особенно меня впечатлили встроенные почтовый и Web-серверы (это при общем объеме порядка 700 Кбайт!). Проверял - Web-сервер более чем приличный, поддерживает HTTP 1.1, cgi-скрипты и докачку. Впрочем, это для нас не главное. Хотелось бы пояснить некоторые пункты таблицы. Во-первых, что такое Socks-сервер? Socks-сервер работает непосредственно на уровне стека TCP и не зависит от поддержки приложением среды Windows. Proxy-серверы для Socks просто пропускают пакеты насквозь, не вникая в тонкости, за счет чего достигается очень высокая скорость работы. Socks имеет смысл использовать, если... впрочем, я отвлекся от темы (мне уже мерещится модератор, направляющийся ко мне с большим плакатом: «Offtopic!»). Шлюз Real Audio позволяет слушать живую музыку из Сети, встроенный почтовый сервер позволяет реализовать вышеописанный механизм управления почтой... Единственное, в чем Proxy+ серьезно проигрывает WinGate: у последнего имеется возможность динамического распределения IP-адресов (DHCP), а у Proxy+ такой возможности нет. Впрочем, в домашних условиях DHCP редко используется, главным образом потому, что нормальная работа сети при использовании DHCP будет зависеть от состояния шлюзовой станции. Естественно, для того чтобы установить и настроить прокси-сервер, надо потрудиться, поскольку придется изменять как сетевые настройки, так и конфигурацию прикладных программ, главным образом браузеров. Итак, приступаем к конфигурированию сети. Во-первых, на той машине (Win9x/NT), которая будет служить шлюзом в Интернет, надо установить протокол TCP/IP. Для этого откройте панель управления и дважды щелкните по значку Сеть. Если на закладке Конфигурация в списке установленных сетевых компонентов есть строчка TCP/IP, то протокол уже установлен. Если же нет, нажмите на кнопку Добавить и в появившемся списке дважды щелкните по строке Протокол. После этого на экране возникнет диалоговое окно, предлагающее вам выбрать изготовителя и тип сетевого протокола. Выберите протокол TCP/IP производства Microsoft и нажмите на кнопку OK. Протокол, по идее, должен появиться в списке установленных сетевых компонентов. Теперь его необходимо настроить. Смело жмите на кнопку Свойства! В появившемся окне выберите закладку IP-адрес. Выберите пункт Указать IP-адрес явным способом и вводите следующие значения: IP-адрес - 192.168.0.1 7, маска подсети - 255.255.255.0. Если вы уже настроили протокол TCP/IP для контроллера удаленного доступа, то закладку DNS открывать не обязательно. В противном случае заполните ее адресами DNS-серверов провайдера. Имя компьютера сделайте любым, каким вам угодно. После завершения всех этих манипуляций вам придется перезагрузиться, чтобы внесенные изменения вступили в силу. То же самое надо сделать и с другими компьютерами, раздав им IP-адреса вида 192.168.0.*. Только учтите: КАЖДЫЙ КОМПЬЮТЕР В СЕТИ ДОЛЖЕН ИМЕТЬ УНИКАЛЬНЫЙ АДРЕС, иначе дело может дойти до полного нарушения нормальной работы сети. После того как настройка сети завершена, можно приступать к установке непосредственно прокси-сервера. Установка Proxy+ пролетает незаметно, от вас потребуется только указать каталог, в который программа будет установлена. Еще программа предлагает на выбор две опции: Install as application и Install as Windows service. Полный обман народа, потому что второй вариант отличается от первого только тем, что программа будет автоматом запускаться при каждом старте Windows. Тут же всплывает и второе неудобство Proxy+, который, оказывается, не умеет сворачиваться в System Tray к системным часам и все время висит в TaskBar! Впрочем, с этим можно смириться. В окне программы показывается количество активных подключений, состояние кэша, скорость передачи данных. Управление программой тоже сделано на высшем уровне: возможно конфигурирование прямо через браузер, причем с любого компьютера в сети! В адресной строке набираем: 192.168.0.1:4400 - и попадаем на страницу настройки. Это удобно, красиво, изящно. Никаких отдельных программ настройки с патологическим интерфейсом. Дальше все легко: идем в раздел Dialing>General и выбираем соединение, которое будет использоваться прокси-сервером. Тут же можно ввести имя пользователя и пароль, время для отключения по тайм-ауту и т.д. В разделе Proxies>General выставляем нужные нам параметры (включаем HTTP-, FTP-, Gopher-proxy, FTP- и Real Audio-шлюзы. В разделе Proxies>HTTP Proxy можно выбрать между нормальным и «анонимным» режимом работы (в последнем случае не указываются промежуточные узлы, через которые вы связываетесь, и цепочку ваших перемещений по Интернету проследить практически невозможно). В разделе Cache>General можно установить общий объем кэша и каталог, в который будут складываться кэшированные объекты. В разделе Cache>HHTP Cache можно задать тип и объем складируемых объектов, а в секции Cache>HTTP Validation указать время хранения и метод обновления страниц. Все просто. И, наконец, финальный аккорд - настройка браузеров. В Internet Explorer идем в Свойства обозревателя и на закладке Подключение нажимаем на кнопку Настройка сети... Там устанавливаем флажок напротив строки Использовать прокси-сервер и вводим адрес - 192.168.0.1 и порт (по умолчанию - 4480). Вообще-то настройка зависит от конфигурации вашего прокси-сервера, и если вы установили разные порты для разных протоколов, то нажмите на кнопку Дополнительно и в появившемся окне введите нужные значения для адресов и портов. В Netscape Navigator/Communicator зайдите в Настройки (Preferences...) и в категории Advanced выберите раздел Proxies. Там и введите те же значения, что и для Internet Explorer. Всё! Если вы устанавливаете Proxy+ на локальный компьютер, то вам не нужно производить манипуляции с протоколами и настройками сети, а в браузере надо вводить значение IP-адреса для прокси-сервера 127.0.0.1. Соответственно для конфигурации Proxy+ набирайте в адресной строке 127.0.0.1:4400. Счастливого серфинга! P.S. Чтобы потом никто не мог сказать, что я вас не предупреждал: у Proxy+ есть две версии - бесплатная и профессиональная. В функциональном плане бесплатная отличается тем, что количество одновременно подключенных пользователей ограничено двумя, и размер кэша не может быть больше одного мегабайта. Так что для более или менее комфортной работы программу придется зарегистрировать (см. www.proxyplus.net). Впрочем, можно найти и крэк (при этом с успехом можно использовать какую-нибудь популярную поисковую машину, например www.google.com). 1 (обратно к тексту) - Например, персональный кэширующий DNS-сервер... но это уже тема для отдельного разговора. 2 (обратно к тексту) - Расчеты для соединения на 56 кбит/c. 3 (обратно к тексту) - До меня доходили слухи, что Windows 2000 Server способна сама трудиться в качестве proxy. Не проверял, за что купил, за то и продаю. 4 (обратно к тексту) - GateKeeper конфигурационная программа для WinGate. 5 (обратно к тексту) - Поразительно, но это уже второй чешский прокси-сервер, с которым я знаком. 6 (обратно к тексту) - Данная цитата принадлежит Карлсону, который живет на крыше. 7 (обратно к тексту) - Хорошенько запомните это значение, оно вам пригодится в будущем. Павел Урусов |
|
![]() |
![]() |
2000-2008 г. Все авторские права соблюдены. |
![]() |
![]() |
![]() |
![]() |