diff --git a/doc/ru/example1.txt b/doc/ru/example1.txt index 7c426a8..2ac5141 100644 --- a/doc/ru/example1.txt +++ b/doc/ru/example1.txt @@ -3,96 +3,95 @@ KOI8-R Kirill Lopuchov, lopuchov at mail ru <3proxy> -Довольно часто перед системным администратором встает задача предоставить доступ к Internet-ресурсам группе пользователей (небольшой офис, Internet-кафе). Данную задачу можно решить, настроив на Internet-шлюзе proxy-сервер, службу NAT (трансляция сетевых адресов) или раздать каждому пользователю реальный IP адрес. +п■п╬п╡п╬п╩я▄п╫п╬ я┤п╟я│я┌п╬ п©п╣я─п╣п╢ я│п╦я│я┌п╣п╪п╫я▀п╪ п╟п╢п╪п╦п╫п╦я│я┌я─п╟я┌п╬я─п╬п╪ п╡я│я┌п╟п╣я┌ п╥п╟п╢п╟я┤п╟ п©я─п╣п╢п╬я│я┌п╟п╡п╦я┌я▄ п╢п╬я│я┌я┐п© п╨ Internet-я─п╣я│я┐я─я│п╟п╪ пЁя─я┐п©п©п╣ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩п╣п╧ (п╫п╣п╠п╬п╩я▄я┬п╬п╧ п╬я└п╦я│, Internet-п╨п╟я└п╣). п■п╟п╫п╫я┐я▌ п╥п╟п╢п╟я┤я┐ п╪п╬п╤п╫п╬ я─п╣я┬п╦я┌я▄, п╫п╟я│я┌я─п╬п╦п╡ п╫п╟ Internet-я┬п╩я▌п╥п╣ proxy-я│п╣я─п╡п╣я─, я│п╩я┐п╤п╠я┐ NAT (я┌я─п╟п╫я│п╩я▐я├п╦я▐ я│п╣я┌п╣п╡я▀я┘ п╟п╢я─п╣я│п╬п╡) п╦п╩п╦ я─п╟п╥п╢п╟я┌я▄ п╨п╟п╤п╢п╬п╪я┐ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩я▌ я─п╣п╟п╩я▄п╫я▀п╧ IP п╟п╢я─п╣я│. -Давайте рассмотрим самый простой способ подключения - установку proxy-сервера. Традиционно для этих целей применяется популярный proxy Squid, но не всегда бывает необходимость в столь тяжеловатой программе :), да и в squid отсутствуют такие иногда необходимые вещи как SOCKS4/5-сервер, TCP/UP порт-маппинг. Поэтому вторым номером хочется представить вашему вниманию PROXY-сервер, под названием "3proxy" (http://3proxy.ru/), разработанный нашим программистом из г. Нижний Новгород. Одним из главных его достоинств является компактность и высокая переносимость. Код сервера написан так, что легко компилируется как для Win9x/2000/XP так и для Linux и FreeBSD. +п■п╟п╡п╟п╧я┌п╣ я─п╟я│я│п╪п╬я┌я─п╦п╪ я│п╟п╪я▀п╧ п©я─п╬я│я┌п╬п╧ я│п©п╬я│п╬п╠ п©п╬п╢п╨п╩я▌я┤п╣п╫п╦я▐ - я┐я│я┌п╟п╫п╬п╡п╨я┐ proxy-я│п╣я─п╡п╣я─п╟. п╒я─п╟п╢п╦я├п╦п╬п╫п╫п╬ п╢п╩я▐ я█я┌п╦я┘ я├п╣п╩п╣п╧ п©я─п╦п╪п╣п╫я▐п╣я┌я│я▐ п©п╬п©я┐п╩я▐я─п╫я▀п╧ proxy Squid, п╫п╬ п╫п╣ п╡я│п╣пЁп╢п╟ п╠я▀п╡п╟п╣я┌ п╫п╣п╬п╠я┘п╬п╢п╦п╪п╬я│я┌я▄ п╡ я│я┌п╬п╩я▄ я┌я▐п╤п╣п╩п╬п╡п╟я┌п╬п╧ п©я─п╬пЁя─п╟п╪п╪п╣ :), п╢п╟ п╦ п╡ squid п╬я┌я│я┐я┌я│я┌п╡я┐я▌я┌ я┌п╟п╨п╦п╣ п╦п╫п╬пЁп╢п╟ п╫п╣п╬п╠я┘п╬п╢п╦п╪я▀п╣ п╡п╣я┴п╦ п╨п╟п╨ SOCKS4/5-я│п╣я─п╡п╣я─, TCP/UP п©п╬я─я┌-п╪п╟п©п©п╦п╫пЁ. п÷п╬я█я┌п╬п╪я┐ п╡я┌п╬я─я▀п╪ п╫п╬п╪п╣я─п╬п╪ я┘п╬я┤п╣я┌я│я▐ п©я─п╣п╢я│я┌п╟п╡п╦я┌я▄ п╡п╟я┬п╣п╪я┐ п╡п╫п╦п╪п╟п╫п╦я▌ PROXY-я│п╣я─п╡п╣я─, п©п╬п╢ п╫п╟п╥п╡п╟п╫п╦п╣п╪ "3proxy" (http://3proxy.ru/), я─п╟п╥я─п╟п╠п╬я┌п╟п╫п╫я▀п╧ п╫п╟я┬п╦п╪ п©я─п╬пЁя─п╟п╪п╪п╦я│я┌п╬п╪ п╦п╥ пЁ. п²п╦п╤п╫п╦п╧ п²п╬п╡пЁп╬я─п╬п╢. п·п╢п╫п╦п╪ п╦п╥ пЁп╩п╟п╡п╫я▀я┘ п╣пЁп╬ п╢п╬я│я┌п╬п╦п╫я│я┌п╡ я▐п╡п╩я▐п╣я┌я│я▐ п╨п╬п╪п©п╟п╨я┌п╫п╬я│я┌я▄ п╦ п╡я▀я│п╬п╨п╟я▐ п©п╣я─п╣п╫п╬я│п╦п╪п╬я│я┌я▄. п п╬п╢ я│п╣я─п╡п╣я─п╟ п╫п╟п©п╦я│п╟п╫ я┌п╟п╨, я┤я┌п╬ п╩п╣пЁп╨п╬ п╨п╬п╪п©п╦п╩п╦я─я┐п╣я┌я│я▐ п╨п╟п╨ п╢п╩я▐ Win9x/2000/XP я┌п╟п╨ п╦ п╢п╩я▐ Linux п╦ FreeBSD. -Сервер поддерживает следующие возможности: +п║п╣я─п╡п╣я─ п©п╬п╢п╢п╣я─п╤п╦п╡п╟п╣я┌ я│п╩п╣п╢я┐я▌я┴п╦п╣ п╡п╬п╥п╪п╬п╤п╫п╬я│я┌п╦: HTTP(S) proxy; FTP over HTTP proxy; SOCKS4/5 proxy; POP3 proxy; -TCP & UDP маппинг портов; -листы доступа к различным службам и адресам; -ограничение пропускной способности канала каждого пользователя (чтобы пользователь не съел весь канал, качая кучу файлов в несколько потоков :) ); -ограничение трафика пользователя на день, неделю и месяц; -авторизацию пользователей ко всем proxy-службам по имени и паролю или по ip адресам; -ведение журналов через ODBC (по-моему, такого нет ни в одном proxy) и syslog и т. д. +TCP & UDP п╪п╟п©п©п╦п╫пЁ п©п╬я─я┌п╬п╡; +п╩п╦я│я┌я▀ п╢п╬я│я┌я┐п©п╟ п╨ я─п╟п╥п╩п╦я┤п╫я▀п╪ я│п╩я┐п╤п╠п╟п╪ п╦ п╟п╢я─п╣я│п╟п╪; +п╬пЁя─п╟п╫п╦я┤п╣п╫п╦п╣ п©я─п╬п©я┐я│п╨п╫п╬п╧ я│п©п╬я│п╬п╠п╫п╬я│я┌п╦ п╨п╟п╫п╟п╩п╟ п╨п╟п╤п╢п╬пЁп╬ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩я▐ (я┤я┌п╬п╠я▀ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩я▄ п╫п╣ я│я┼п╣п╩ п╡п╣я│я▄ п╨п╟п╫п╟п╩, п╨п╟я┤п╟я▐ п╨я┐я┤я┐ я└п╟п╧п╩п╬п╡ п╡ п╫п╣я│п╨п╬п╩я▄п╨п╬ п©п╬я┌п╬п╨п╬п╡ :) ); +п╬пЁя─п╟п╫п╦я┤п╣п╫п╦п╣ я┌я─п╟я└п╦п╨п╟ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩я▐ п╫п╟ п╢п╣п╫я▄, п╫п╣п╢п╣п╩я▌ п╦ п╪п╣я│я▐я├; +п╟п╡я┌п╬я─п╦п╥п╟я├п╦я▌ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩п╣п╧ п╨п╬ п╡я│п╣п╪ proxy-я│п╩я┐п╤п╠п╟п╪ п©п╬ п╦п╪п╣п╫п╦ п╦ п©п╟я─п╬п╩я▌ п╦п╩п╦ п©п╬ ip п╟п╢я─п╣я│п╟п╪; +п╡п╣п╢п╣п╫п╦п╣ п╤я┐я─п╫п╟п╩п╬п╡ я┤п╣я─п╣п╥ ODBC (п©п╬-п╪п╬п╣п╪я┐, я┌п╟п╨п╬пЁп╬ п╫п╣я┌ п╫п╦ п╡ п╬п╢п╫п╬п╪ proxy) п╦ syslog п╦ я┌. п╢. -К недостаткам можно отнести отсутствие кэширования информации :-|. Но в последнее время Inernet-контент становится все более динамичным (то есть не поддающийся кэшированию) и может быть для кого-то экономия в 25% трафика за счет его кэширования не будет столь критична. Для тех пользователей, кому она может оказаться критичной, автор предлагает использовать цепочку из 2-х серверов и в качестве кэша такие сервера как wwwoffle или им подобные, либо ждать появления поддержки кеша в 3proxy :) +п  п╫п╣п╢п╬я│я┌п╟я┌п╨п╟п╪ п╪п╬п╤п╫п╬ п╬я┌п╫п╣я│я┌п╦ п╬я┌я│я┐я┌я│я┌п╡п╦п╣ п╨я█я┬п╦я─п╬п╡п╟п╫п╦я▐ п╦п╫я└п╬я─п╪п╟я├п╦п╦ :-|. п²п╬ п╡ п©п╬я│п╩п╣п╢п╫п╣п╣ п╡я─п╣п╪я▐ Inernet-п╨п╬п╫я┌п╣п╫я┌ я│я┌п╟п╫п╬п╡п╦я┌я│я▐ п╡я│п╣ п╠п╬п╩п╣п╣ п╢п╦п╫п╟п╪п╦я┤п╫я▀п╪ (я┌п╬ п╣я│я┌я▄ п╫п╣ п©п╬п╢п╢п╟я▌я┴п╦п╧я│я▐ п╨я█я┬п╦я─п╬п╡п╟п╫п╦я▌) п╦ п╪п╬п╤п╣я┌ п╠я▀я┌я▄ п╢п╩я▐ п╨п╬пЁп╬-я┌п╬ я█п╨п╬п╫п╬п╪п╦я▐ п╡ 25% я┌я─п╟я└п╦п╨п╟ п╥п╟ я│я┤п╣я┌ п╣пЁп╬ п╨я█я┬п╦я─п╬п╡п╟п╫п╦я▐ п╫п╣ п╠я┐п╢п╣я┌ я│я┌п╬п╩я▄ п╨я─п╦я┌п╦я┤п╫п╟. п■п╩я▐ я┌п╣я┘ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩п╣п╧, п╨п╬п╪я┐ п╬п╫п╟ п╪п╬п╤п╣я┌ п╬п╨п╟п╥п╟я┌я▄я│я▐ п╨я─п╦я┌п╦я┤п╫п╬п╧, п╟п╡я┌п╬я─ п©я─п╣п╢п╩п╟пЁп╟п╣я┌ п╦я│п©п╬п╩я▄п╥п╬п╡п╟я┌я▄ я├п╣п©п╬я┤п╨я┐ п╦п╥ 2-я┘ я│п╣я─п╡п╣я─п╬п╡ п╦ п╡ п╨п╟я┤п╣я│я┌п╡п╣ п╨я█я┬п╟ я┌п╟п╨п╦п╣ я│п╣я─п╡п╣я─п╟ п╨п╟п╨ wwwoffle п╦п╩п╦ п╦п╪ п©п╬п╢п╬п╠п╫я▀п╣, п╩п╦п╠п╬ п╤п╢п╟я┌я▄ п©п╬я▐п╡п╩п╣п╫п╦я▐ п©п╬п╢п╢п╣я─п╤п╨п╦ п╨п╣я┬п╟ п╡ 3proxy :) -Установка +пёя│я┌п╟п╫п╬п╡п╨п╟ # wget http://3proxy.ru/current/3proxy.tgz # tar -xvzf 3proxy.tgz # cd 3proxy # make -f Makefile.unix -# mkdir /usr/local/3proxy -# mkdir /usr/local/3proxy/logs +# mkdir -p /usr/local/3proxy/logs # mkdir /usr/local/3proxy/stat # cp src/3proxy /usr/local/3proxy # touch /usr/local/3proxy/3proxy.cfg # chown -R nobody:nogroup /usr/local/3proxy -Далее приведу небольшой пример конфигурационного файла 3proxy.cfg с -комментариями, более подробную информацию по конфигурированию можно -найти файле 3proxy.cfg.sample или в +п■п╟п╩п╣п╣ п©я─п╦п╡п╣п╢я┐ п╫п╣п╠п╬п╩я▄я┬п╬п╧ п©я─п╦п╪п╣я─ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╬п╫п╫п╬пЁп╬ я└п╟п╧п╩п╟ 3proxy.cfg я│ +п╨п╬п╪п╪п╣п╫я┌п╟я─п╦я▐п╪п╦, п╠п╬п╩п╣п╣ п©п╬п╢я─п╬п╠п╫я┐я▌ п╦п╫я└п╬я─п╪п╟я├п╦я▌ п©п╬ п╨п╬п╫я└п╦пЁя┐я─п╦я─п╬п╡п╟п╫п╦я▌ п╪п╬п╤п╫п╬ +п╫п╟п╧я┌п╦ я└п╟п╧п╩п╣ 3proxy.cfg.sample п╦п╩п╦ п╡ HowTo http://3proxy.ru/howtor.asp -и FAQ http://3proxy.ru/faqr.asp +п╦ FAQ http://3proxy.ru/faqr.asp -------------3proxy.cfg------------- -# ВНИМАНИЕ !! не должны быть пробелов -# перед любыми опциями конфигурации !! +# п▓п²п≤п°п░п²п≤п∙ !! п╫п╣ п╢п╬п╩п╤п╫я▀ п╠я▀я┌я▄ п©я─п╬п╠п╣п╩п╬п╡ +# п©п╣я─п╣п╢ п╩я▌п╠я▀п╪п╦ п╬п©я├п╦я▐п╪п╦ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╦ !! -# ip-адрес DNS-сервера провайдера или локального +# ip-п╟п╢я─п╣я│ DNS-я│п╣я─п╡п╣я─п╟ п©я─п╬п╡п╟п╧п╢п╣я─п╟ п╦п╩п╦ п╩п╬п╨п╟п╩я▄п╫п╬пЁп╬ nserver 127.0.0.1 timeouts 1 5 30 60 180 1800 15 60 -# Создаем двух пользователей vasia, petia и vova -# и назначаем им пароли 24555, 14656 и 45455 соответственно +# п║п╬п╥п╢п╟п╣п╪ п╢п╡я┐я┘ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩п╣п╧ vasia, petia п╦ vova +# п╦ п╫п╟п╥п╫п╟я┤п╟п╣п╪ п╦п╪ п©п╟я─п╬п╩п╦ 24555, 14656 п╦ 45455 я│п╬п╬я┌п╡п╣я┌я│я┌п╡п╣п╫п╫п╬ users vasia:CL:24555 users petia:CL:14656 users vova:CL:45455 -# Лог-файл со списком запросов пользователей -# будет создаваться каждый день новый +# п⌡п╬пЁ-я└п╟п╧п╩ я│п╬ я│п©п╦я│п╨п╬п╪ п╥п╟п©я─п╬я│п╬п╡ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩п╣п╧ +# п╠я┐п╢п╣я┌ я│п╬п╥п╢п╟п╡п╟я┌я▄я│я▐ п╨п╟п╤п╢я▀п╧ п╢п╣п╫я▄ п╫п╬п╡я▀п╧ log /usr/local/3proxy/logs/3proxy.log D logformat "%d-%m-%Y %H:%M:%S %U %C:%c %R:%r %O %I %T" -# Внешний интерфейс, -# через который будут уходить запросы от сервера +# п▓п╫п╣я┬п╫п╦п╧ п╦п╫я┌п╣я─я└п╣п╧я│, +# я┤п╣я─п╣п╥ п╨п╬я┌п╬я─я▀п╧ п╠я┐п╢я┐я┌ я┐я┘п╬п╢п╦я┌я▄ п╥п╟п©я─п╬я│я▀ п╬я┌ я│п╣я─п╡п╣я─п╟ external 10.1.1.1 -# ip-адрес интерфейса, на котором будут приниматься -# запросы от клиентов +# ip-п╟п╢я─п╣я│ п╦п╫я┌п╣я─я└п╣п╧я│п╟, п╫п╟ п╨п╬я┌п╬я─п╬п╪ п╠я┐п╢я┐я┌ п©я─п╦п╫п╦п╪п╟я┌я▄я│я▐ +# п╥п╟п©я─п╬я│я▀ п╬я┌ п╨п╩п╦п╣п╫я┌п╬п╡ internal 192.168.1.1 -# Устанавливаем тип авторизации по имени и паролю +# пёя│я┌п╟п╫п╟п╡п╩п╦п╡п╟п╣п╪ я┌п╦п© п╟п╡я┌п╬я─п╦п╥п╟я├п╦п╦ п©п╬ п╦п╪п╣п╫п╦ п╦ п©п╟я─п╬п╩я▌ auth strong -# Разрешаем доступ к портам 80,8080-8088 +# п═п╟п╥я─п╣я┬п╟п╣п╪ п╢п╬я│я┌я┐п© п╨ п©п╬я─я┌п╟п╪ 80,8080-8088 allow * * * 80,8080-8088 -# Расскоментировать секцию parent, если у вас есть прокси верхнего -# уровня и заменить ip, порт, имя пользователя и пароль на свои значения +# п═п╟я│я│п╨п╬п╪п╣п╫я┌п╦я─п╬п╡п╟я┌я▄ я│п╣п╨я├п╦я▌ parent, п╣я│п╩п╦ я┐ п╡п╟я│ п╣я│я┌я▄ п©я─п╬п╨я│п╦ п╡п╣я─я┘п╫п╣пЁп╬ +# я┐я─п╬п╡п╫я▐ п╦ п╥п╟п╪п╣п╫п╦я┌я▄ ip, п©п╬я─я┌, п╦п╪я▐ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩я▐ п╦ п©п╟я─п╬п╩я▄ п╫п╟ я│п╡п╬п╦ п╥п╫п╟я┤п╣п╫п╦я▐ # parent 1000 http 192.168.0.1 8080 username passwd # allow * -# Запускаем службу HTTP-proxy на порту (3128) и -# (-n) c отключенной NTLM-авторизацией) +# п≈п╟п©я┐я│п╨п╟п╣п╪ я│п╩я┐п╤п╠я┐ HTTP-proxy п╫п╟ п©п╬я─я┌я┐ (3128) п╦ +# (-n) c п╬я┌п╨п╩я▌я┤п╣п╫п╫п╬п╧ NTLM-п╟п╡я┌п╬я─п╦п╥п╟я├п╦п╣п╧) proxy -p3128 -n -# Ограничиваем толшину канала для пользователей -# vasia и petia в 20000 bps, -# а для vova 10000 bps +# п·пЁя─п╟п╫п╦я┤п╦п╡п╟п╣п╪ я┌п╬п╩я┴п╦п╫я┐ п╨п╟п╫п╟п╩п╟ п╢п╩я▐ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩п╣п╧ +# vasia п╦ petia п╡ 20000 bps, +# п╟ п╢п╩я▐ vova 10000 bps bandlimin 20000 vasia,petia bandlimin 10000 vova -# Запускаем сервер от пользователя nobody -# (возможно в вашей ОС uid и gid пользователя nobody -# будут другими. Для их определения воспользуйтесь коммандой id nobody) +# п≈п╟п©я┐я│п╨п╟п╣п╪ я│п╣я─п╡п╣я─ п╬я┌ п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩я▐ nobody +# (п╡п╬п╥п╪п╬п╤п╫п╬ п╡ п╡п╟я┬п╣п╧ п·п║ uid п╦ gid п©п╬п╩я▄п╥п╬п╡п╟я┌п╣п╩я▐ nobody +# п╠я┐п╢я┐я┌ п╢я─я┐пЁп╦п╪п╦. п■п╩я▐ п╦я┘ п╬п©я─п╣п╢п╣п╩п╣п╫п╦я▐ п╡п╬я│п©п╬п╩я▄п╥я┐п╧я┌п╣я│я▄ п╨п╬п╪п╪п╟п╫п╢п╬п╧ id nobody) setgid 65534 setuid 65534 ------------------------------------ -После того как мы создали конфигурационный файл сервера, запускаем 3proxy командой: +п÷п╬я│п╩п╣ я┌п╬пЁп╬ п╨п╟п╨ п╪я▀ я│п╬п╥п╢п╟п╩п╦ п╨п╬п╫я└п╦пЁя┐я─п╟я├п╦п╬п╫п╫я▀п╧ я└п╟п╧п╩ я│п╣я─п╡п╣я─п╟, п╥п╟п©я┐я│п╨п╟п╣п╪ 3proxy п╨п╬п╪п╟п╫п╢п╬п╧: /usr/local/3proxy/3proxy /usr/local/3proxy/3proxy.cfg