convert russian documentation to UTF-8

This commit is contained in:
z3APA3A 2016-01-13 01:53:22 +03:00
parent c2d012bf71
commit 5a89997d6e
2 changed files with 859 additions and 859 deletions

View File

@ -1,280 +1,280 @@
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
3APA3A 3proxy tiny proxy server Frequently Asked Questions (FAQ) 3APA3A 3proxy tiny proxy server Frequently Asked Questions (FAQ)
<ul> <ul>
<li><a href="#TROUBLE">Почему не работает...</a></li> <li><a href="#TROUBLE">Почему не работает...</a></li>
<ul> <ul>
<li><a href="#NOTHING">Q: Почему ничего не работает?</a></li> <li><a href="#NOTHING">Q: Почему ничего не работает?</a></li>
<li><a href="#LIMITS">Q: Почему не работают ограничения доступа (перенаправления, ограничения по скорости, трафику и т.д.)?</a></li> <li><a href="#LIMITS">Q: Почему не работают ограничения доступа (перенаправления, ограничения по скорости, трафику и т.д.)?</a></li>
<li><a href="#SERVICE">Q: Почему 3proxy не запускается как служба?</a></li> <li><a href="#SERVICE">Q: Почему 3proxy не запускается как служба?</a></li>
<li><a href="#INTEXT">Q: Почему не получается указать internal и external?</a></li> <li><a href="#INTEXT">Q: Почему не получается указать internal и external?</a></li>
<li><a href="#ODBC">Q: Почему не работает ведение журналов в ODBC?</a></li> <li><a href="#ODBC">Q: Почему не работает ведение журналов в ODBC?</a></li>
<li><a href="#CHAP">Q: Почему не поддерживаются APOP и CRAM-MD5 в POP3 прокси?</a></li> <li><a href="#CHAP">Q: Почему не поддерживаются APOP и CRAM-MD5 в POP3 прокси?</a></li>
</ul> </ul>
<li><a href="#SOCKSREDIR">Перенаправление socks соединений в локальный прокси</a></li> <li><a href="#SOCKSREDIR">Перенаправление socks соединений в локальный прокси</a></li>
<ul> <ul>
<li><a href="#REDIR">Q: Для чего это надо?</a></li> <li><a href="#REDIR">Q: Для чего это надо?</a></li>
<li><a href="#REDIRLIMIT">Q: Какие недостатки?</a></li> <li><a href="#REDIRLIMIT">Q: Какие недостатки?</a></li>
<li><a href="#REDIRADV">Q: Какие преимущества?</a></li> <li><a href="#REDIRADV">Q: Какие преимущества?</a></li>
<li><a href="#REDIRHOW">Q: Как настраивается?</a></li> <li><a href="#REDIRHOW">Q: Как настраивается?</a></li>
<li><a href="#REDIINTER">Q: Как взаимодействует с другими правилами в ACL?</a></li> <li><a href="#REDIINTER">Q: Как взаимодействует с другими правилами в ACL?</a></li>
</ul> </ul>
<li><a href="#ISIT">А есть ли...</a></li> <li><a href="#ISIT">А есть ли...</a></li>
<ul> <ul>
<li><a href="#NAMES">Можно ли разрешать имена на родительском прокси?</a></li> <li><a href="#NAMES">Можно ли разрешать имена на родительском прокси?</a></li>
<li><a href="#ISFTP">Существует ли сейчас поддержка FTP прокси в продукте?</a></li> <li><a href="#ISFTP">Существует ли сейчас поддержка FTP прокси в продукте?</a></li>
<li><a href="#PORT">Каким образом можно прибиндить сервисы на свой порт, к примеру, HTTP прокси к 8080, а не 3128 как по-умолчанию?</a></li> <li><a href="#PORT">Каким образом можно прибиндить сервисы на свой порт, к примеру, HTTP прокси к 8080, а не 3128 как по-умолчанию?</a></li>
<li><a href="#BANDLIM">Как ограничить ширину канала?</a></li> <li><a href="#BANDLIM">Как ограничить ширину канала?</a></li>
</ul> </ul>
<li><a href="#BRRR">Почему так криво...</a></li> <li><a href="#BRRR">Почему так криво...</a></li>
<ul> <ul>
<li><a href="#TRAF">Почему так криво считается трафик? Не совпадает с ...</a></li> <li><a href="#TRAF">Почему так криво считается трафик? Не совпадает с ...</a></li>
<li><a href="#CONFIG">Почему такая кривая конфигурация и ничерта не понятно?</a></li> <li><a href="#CONFIG">Почему такая кривая конфигурация и ничерта не понятно?</a></li>
<li><a href="#CODE">Почему так криво написан код?</a> <li><a href="#CODE">Почему так криво написан код?</a>
<li><a href="#UNSAFE">Почему так много strcpy, sprintf и т.д., это ж дыры!</a> <li><a href="#UNSAFE">Почему так много strcpy, sprintf и т.д., это ж дыры!</a>
</ul> </ul>
</ul> </ul>
<hr> <hr>
<li><b><a name="TROUBLE">Почему не работает...<a></b></li> <li><b><a name="TROUBLE">Почему не работает...<a></b></li>
<ul> <ul>
<li><a name="NOTHING"><i>Q: Почему ничего не работает?</i></a></li> <li><a name="NOTHING"><i>Q: Почему ничего не работает?</i></a></li>
<p> <p>
<i>A:</i> Потому что для работы нужен правильный файл конфигурации. <i>A:</i> Потому что для работы нужен правильный файл конфигурации.
</p> </p>
<li><a name="LIMITS"><i>Q: Почему не работают ограничения доступа (перенаправления, ограничения по скорости, <li><a name="LIMITS"><i>Q: Почему не работают ограничения доступа (перенаправления, ограничения по скорости,
трафику и т.д.)?</i></a></li> трафику и т.д.)?</i></a></li>
<p> <p>
<i>A:</i> Обычные ошибки - использование auth none (для работы любых <i>A:</i> Обычные ошибки - использование auth none (для работы любых
функций, основанных на ACL, требуется auth iponly, nbname или strong), функций, основанных на ACL, требуется auth iponly, nbname или strong),
нарушение порядка ввода команд (команды выполняются последовательно, нарушение порядка ввода команд (команды выполняются последовательно,
запуск сервиса proxy, socks, tcppm и т.д. должен осуществляться после запуск сервиса proxy, socks, tcppm и т.д. должен осуществляться после
того, как указана его конфигурация), неправильный порядок записей в ACL того, как указана его конфигурация), неправильный порядок записей в ACL
(записи просматриваются последовательно до первой, удовлетворяющей (записи просматриваются последовательно до первой, удовлетворяющей
критериям). Если в ACL имеется хотя бы одна запись, то считается, что критериям). Если в ACL имеется хотя бы одна запись, то считается, что
последняя запись в ACL - это неявная deny *. последняя запись в ACL - это неявная deny *.
</p> </p>
<li><a name="SERVICE"><i>Q: Почему 3proxy не запускается как служба?</i></a></li> <li><a name="SERVICE"><i>Q: Почему 3proxy не запускается как служба?</i></a></li>
<p> <p>
<i>A:</i> Наиболее вероятные причины: <i>A:</i> Наиболее вероятные причины:
<ul> <ul>
<li>Отсутствие команды service в файле конфигурации - команда необходима в 3proxy 0.5.2 и более ранних, чтобы 3proxy вел себя как системная служба Windows <li>Отсутствие команды service в файле конфигурации - команда необходима в 3proxy 0.5.2 и более ранних, чтобы 3proxy вел себя как системная служба Windows
<li>Использование относительных (неполных) путей файлов в файле конфигурации <li>Использование относительных (неполных) путей файлов в файле конфигурации
При использовании файлов журналов, файлов вставок ($filename) используйте При использовании файлов журналов, файлов вставок ($filename) используйте
полные пути, например, $"c:\3proxy\include files\networks.local". Тоже самое полные пути, например, $"c:\3proxy\include files\networks.local". Тоже самое
относится к файлам журналов и любым другим. относится к файлам журналов и любым другим.
Для отладки лучше запускать 3proxy с ведением журнала на стандартный вывод. Для отладки лучше запускать 3proxy с ведением журнала на стандартный вывод.
Не забудьте в таком случае отключить daemon и service в файле конфигурации. Не забудьте в таком случае отключить daemon и service в файле конфигурации.
Для чистоты эксперимента запускать 3proxy из коммандной строки в таком случае Для чистоты эксперимента запускать 3proxy из коммандной строки в таком случае
следует, находясь в другой папке. следует, находясь в другой папке.
<li>Отсутствие у системной записи прав на доступ к исполняемому файлу, каким-либо файлам конфигурации, журнала и т.п. <li>Отсутствие у системной записи прав на доступ к исполняемому файлу, каким-либо файлам конфигурации, журнала и т.п.
<li>Отсутствие файла конфигурации по стандартному расположению - <li>Отсутствие файла конфигурации по стандартному расположению -
3proxy.cfg в одном каталоге с исполняемым файлом. Если файл расположен по 3proxy.cfg в одном каталоге с исполняемым файлом. Если файл расположен по
другому пути, необходимо использовать команду другому пути, необходимо использовать команду
<pre> <pre>
3proxy --install path_to_configuration_file</pre> 3proxy --install path_to_configuration_file</pre>
<li>Отсутствие у пользователя прав на установку или запуск службы <li>Отсутствие у пользователя прав на установку или запуск службы
<li>Служба уже установлена или запущена <li>Служба уже установлена или запущена
</ul> </ul>
</p> </p>
<li><a name="INTEXT"><i>Q: Почему не получается указать internal и external?</i></a></li></li> <li><a name="INTEXT"><i>Q: Почему не получается указать internal и external?</i></a></li></li>
<p> <p>
<i>A:</i> Убедитесь, что выправильно понимаете что такое internal и external адреса. <i>A:</i> Убедитесь, что выправильно понимаете что такое internal и external адреса.
Оба адреса - это адреса, принадлежищие хосту, на котором установлен 3proxy. Оба адреса - это адреса, принадлежищие хосту, на котором установлен 3proxy.
Эта опция конфигурации необходима в классической ситуации, когда 3proxy Эта опция конфигурации необходима в классической ситуации, когда 3proxy
установлен на граничном компьютере с двумя (или более) подключениями: установлен на граничном компьютере с двумя (или более) подключениями:
<pre> <pre>
LAN connection +-------------+ Internet connection LAN connection +-------------+ Internet connection
LAN <-------------->| 3proxy host |<-------------------> INTERNET LAN <-------------->| 3proxy host |<-------------------> INTERNET
^+-------------+^ ^+-------------+^
| | | |
Internal IP External IP</pre> Internal IP External IP</pre>
Если 3proxy работает на хосте с одним интерфейсом, то его адрес будет и Если 3proxy работает на хосте с одним интерфейсом, то его адрес будет и
internal и external. internal и external.
<br>Интерфейс с адресом internal должен существовать и быть рабочим на момент <br>Интерфейс с адресом internal должен существовать и быть рабочим на момент
запуска 3proxy, и не должен отключаться. Если internal интерфейс запуска 3proxy, и не должен отключаться. Если internal интерфейс
периодически отключается, то не следует его указывать, или можно указать адрес периодически отключается, то не следует его указывать, или можно указать адрес
0.0.0.0. При этом прокси будет принимать запросы на всех интерфейсах, поэтому 0.0.0.0. При этом прокси будет принимать запросы на всех интерфейсах, поэтому
при наличии нескольких интерфейсов для ограничения доступа следует использовать при наличии нескольких интерфейсов для ограничения доступа следует использовать
фаервол или хотя бы ACL. фаервол или хотя бы ACL.
</p> </p>
<p> <p>
Интерфейс с адресом external, если он указан, должен быть рабочим на момент Интерфейс с адресом external, если он указан, должен быть рабочим на момент
получения запроса клиента. При отсутствии external или адресе 0.0.0.0 внешний получения запроса клиента. При отсутствии external или адресе 0.0.0.0 внешний
адрес будет выбираться системой при установке соединения. При этом, может быть адрес будет выбираться системой при установке соединения. При этом, может быть
возможность доступа через прокси к ресурсам локальной сети, поэтому для возможность доступа через прокси к ресурсам локальной сети, поэтому для
предотвращения несанкционированного доступа следует использовать ACL. Кроме предотвращения несанкционированного доступа следует использовать ACL. Кроме
того, могут быть проблемы с приемом входящих соединений через SOCKSv5 того, могут быть проблемы с приемом входящих соединений через SOCKSv5
(SOCKSv5 используется в клиентах исключительно редко). (SOCKSv5 используется в клиентах исключительно редко).
В случае, если адрес динамический, можно либо не В случае, если адрес динамический, можно либо не
указывать external, либо использовать адрес 0.0.0.0, либо, если необходима указывать external, либо использовать адрес 0.0.0.0, либо, если необходима
поддержка входящих соединений в SOCKSv5, использовать скрипт, поддержка входящих соединений в SOCKSv5, использовать скрипт,
который будет получать текущий адрес и сохранять его в файл, который будет который будет получать текущий адрес и сохранять его в файл, который будет
отслуживаться через команду monitor. отслуживаться через команду monitor.
</p> </p>
<li><a name="ODBC"><i>Q: Почему не работает ведение журналов в ODBC?</i></a></li> <li><a name="ODBC"><i>Q: Почему не работает ведение журналов в ODBC?</i></a></li>
<p> <p>
<i>A:</i> Убедитесь, что используется системный, а не <i>A:</i> Убедитесь, что используется системный, а не
пользовательский DSN. Убедитесь, что выполняется правильный SQL запрос. Наиболее пользовательский DSN. Убедитесь, что выполняется правильный SQL запрос. Наиболее
распространенная проблема связана с отсутствием кавычек или неправильным распространенная проблема связана с отсутствием кавычек или неправильным
форматом данных. Самый простой способ - сделать ведение журнала в файл или форматом данных. Самый простой способ - сделать ведение журнала в файл или
на стандартный вывод, просмотреть выдаваемые SQL запросы и попробовать на стандартный вывод, просмотреть выдаваемые SQL запросы и попробовать
дать такой запрос вручную. дать такой запрос вручную.
</p> </p>
<li><a name="CHAP"><i>Q: Почему не поддерживаются APOP и CRAM-MD5 в POP3 прокси?</i></a></li> <li><a name="CHAP"><i>Q: Почему не поддерживаются APOP и CRAM-MD5 в POP3 прокси?</i></a></li>
<p> <p>
<i>A:</i> Любая challenge-response аутентификация, к которым относятся APOP <i>A:</i> Любая challenge-response аутентификация, к которым относятся APOP
и CRAM-MD5, требует, чтобы со стороны сервера был передан уникальный challenge. и CRAM-MD5, требует, чтобы со стороны сервера был передан уникальный challenge.
До начала аутентификации POP3 прокси не знает, к какому серверу следует До начала аутентификации POP3 прокси не знает, к какому серверу следует
подключаться для получения Challenge, поэтому challenge-response в принципе подключаться для получения Challenge, поэтому challenge-response в принципе
невозможен. Защитить соединение можно с помощью TLS (например, stunnel) или невозможен. Защитить соединение можно с помощью TLS (например, stunnel) или
IPSec. IPSec.
</p> </p>
</ul> </ul>
<hr> <hr>
<li><b><a name="SOCKSREDIR">Перенаправление socks соединений в локальный прокси</a></b></li> <li><b><a name="SOCKSREDIR">Перенаправление socks соединений в локальный прокси</a></b></li>
<ul> <ul>
<li><a name="REDIR"><i>Q: Для чего это надо?</i></a></li> <li><a name="REDIR"><i>Q: Для чего это надо?</i></a></li>
<p> <p>
<i>A:</i> Чтобы иметь в логах URL запросов, если пользователь SOCKS пользуется <i>A:</i> Чтобы иметь в логах URL запросов, если пользователь SOCKS пользуется
Web, FTP или POP3. Web, FTP или POP3.
</p> </p>
<li><a name="REDIRLIMIT"><i>Q: Какие недостатки?</i></a></li> <li><a name="REDIRLIMIT"><i>Q: Какие недостатки?</i></a></li>
<p> <p>
<i>A:</i> Перенапраление невозможно для web-серверов или FTP, висящих на <i>A:</i> Перенапраление невозможно для web-серверов или FTP, висящих на
нестандартных портах, для SOCKSv4 не поддрживается авторизация с нестандартных портах, для SOCKSv4 не поддрживается авторизация с
паролем (IE поддерживает только SOCKSv4), но при этом IE передает паролем (IE поддерживает только SOCKSv4), но при этом IE передает
имя пользователя по SOCKSv4 (имя, с которым пользователь вошел в систему). имя пользователя по SOCKSv4 (имя, с которым пользователь вошел в систему).
Для SOCKSv5 не поддерживается NTLM авторизация, пароли передаются в открытом Для SOCKSv5 не поддерживается NTLM авторизация, пароли передаются в открытом
тексте. тексте.
</p> </p>
<li><a name="REDIRADV"><i>Q: Какие преимущества?</i></a></li> <li><a name="REDIRADV"><i>Q: Какие преимущества?</i></a></li>
<p> <p>
<i>A:</i> Достаточно в настройках IE только указать адрес SOCKS прокси. В <i>A:</i> Достаточно в настройках IE только указать адрес SOCKS прокси. В
больших сетях можно для этого использовать WPAD (автоматическое больших сетях можно для этого использовать WPAD (автоматическое
обнаружение прокси). В 3proxy достаточно запускать только одну службу обнаружение прокси). В 3proxy достаточно запускать только одну службу
(socks). Если используется только Internet Explorer, то можно (socks). Если используется только Internet Explorer, то можно
автоматически получать имя пользователя в логах, не запрашивая автоматически получать имя пользователя в логах, не запрашивая
логин/пароль. логин/пароль.
</p> </p>
<li><a name="REDIRHOW"><i>Q: Как настраивается?</i></a></li> <li><a name="REDIRHOW"><i>Q: Как настраивается?</i></a></li>
<p> <p>
<i>A:</i> Указывается parent http proxy со специальным адресом 0.0.0.0 и портом <i>A:</i> Указывается parent http proxy со специальным адресом 0.0.0.0 и портом
0. Пример: 0. Пример:
<pre> <pre>
allow * * * 80,8080-8088 allow * * * 80,8080-8088
parent 1000 http 0.0.0.0 0 parent 1000 http 0.0.0.0 0
allow * * * 80,8080-8088 allow * * * 80,8080-8088
#перенаправить соединения по портам 80 и 8080-8088 в локальный #перенаправить соединения по портам 80 и 8080-8088 в локальный
#http прокси. Вторая команда allow необходима, т.к. контроль доступа #http прокси. Вторая команда allow необходима, т.к. контроль доступа
#осуществляется 2 раза - на уровне socks и на уровне HTTP прокси #осуществляется 2 раза - на уровне socks и на уровне HTTP прокси
allow * * * 21,2121 allow * * * 21,2121
parent 1000 ftp 0.0.0.0 0 parent 1000 ftp 0.0.0.0 0
allow * * * 21,2121 allow * * * 21,2121
#перенаправить соединения по портам 21 и 2121 в локальный #перенаправить соединения по портам 21 и 2121 в локальный
#ftp прокси #ftp прокси
allow * allow *
#пустить все соединения напрямую #пустить все соединения напрямую
socks</pre> socks</pre>
</p> </p>
<li><a name="REDIINTER"><i>Q: Как взаимодействует с другими правилами в ACL?</i></a></li> <li><a name="REDIINTER"><i>Q: Как взаимодействует с другими правилами в ACL?</i></a></li>
<p> <p>
<i>A:</i> После внутреннего перенаправления правила рассматриваются еще раз за <i>A:</i> После внутреннего перенаправления правила рассматриваются еще раз за
исключением самого правила с перенаправлением (т.е. обработка правил не исключением самого правила с перенаправлением (т.е. обработка правил не
прекращается). Это позволяет сделать дальнейшие перенаправления на прекращается). Это позволяет сделать дальнейшие перенаправления на
внешний прокси. По этой же причине локальное перенаправление не должно внешний прокси. По этой же причине локальное перенаправление не должно
быть последним правилом (т.е. должно быть еще хотя бы правило allow, быть последним правилом (т.е. должно быть еще хотя бы правило allow,
чтобы разрешить внешние соединения через HTTP прокси). чтобы разрешить внешние соединения через HTTP прокси).
Например, Например,
<pre> <pre>
allow * * * 80,8080-8088 allow * * * 80,8080-8088
parent 1000 http 0.0.0.0 0 parent 1000 http 0.0.0.0 0
#перенаправить во внутренний прокси #перенаправить во внутренний прокси
allow * * $c:\3proxy\local.nets 80,8080-8088 allow * * $c:\3proxy\local.nets 80,8080-8088
#разрешить прямой web-доступ к сетям из local.nets #разрешить прямой web-доступ к сетям из local.nets
allow * * * 80,8080-8088 allow * * * 80,8080-8088
parent 1000 http proxy.sandy.ru 3128 parent 1000 http proxy.sandy.ru 3128
#все остальные веб-запросы перенаправить на внешний прокси-сервер #все остальные веб-запросы перенаправить на внешний прокси-сервер
allow * allow *
#разрешить socks-запросы по другим портам</pre> #разрешить socks-запросы по другим портам</pre>
</p> </p>
</ul> </ul>
<hr> <hr>
<li><b><a name="ISIT">А есть ли...</a></b></li> <li><b><a name="ISIT">А есть ли...</a></b></li>
<ul> <ul>
<li><a name="NAMES"><i>Q: Можно ли разрешать имена на родительском прокси?</i></a></li> <li><a name="NAMES"><i>Q: Можно ли разрешать имена на родительском прокси?</i></a></li>
<p> <p>
<i>A:</i> Можно. Для этого надо использовать тип родительского прокси http, <i>A:</i> Можно. Для этого надо использовать тип родительского прокси http,
connect+, socks4+ и socks5+. Однако, при это надо помнить, что самому 3proxy connect+, socks4+ и socks5+. Однако, при это надо помнить, что самому 3proxy
требуется разрешение имени для управления ACL. Поэтому, если с прокси-хоста требуется разрешение имени для управления ACL. Поэтому, если с прокси-хоста
не работают разрешения имени, необходимо в конфигурации дать команду не работают разрешения имени, необходимо в конфигурации дать команду
<pre> <pre>
fakeresolve</pre> fakeresolve</pre>
которая разрешает любое имя в адрес 127.0.0.2. которая разрешает любое имя в адрес 127.0.0.2.
</p> </p>
<li><a name="ISFTP"><i>Q: Существует ли сейчас поддержка FTP прокси в продукте?</i></a></li> <li><a name="ISFTP"><i>Q: Существует ли сейчас поддержка FTP прокси в продукте?</i></a></li>
<p> <p>
Есть поддержка как FTP через HTTP (то, что называется FTP прокси в Internet Есть поддержка как FTP через HTTP (то, что называется FTP прокси в Internet
Explorer, Netscape, Opera) так и настоящего FTP прокси (то, что называется Explorer, Netscape, Opera) так и настоящего FTP прокси (то, что называется
FTP proxy в FAR и FTP клиентах). FTP proxy в FAR и FTP клиентах).
</p> </p>
<li><a name="PORT"><i>Q: Каким образом можно прибиндить сервисы на свой порт, к примеру, HTTP прокси к 8080, а не 3128 как по-умолчанию?</i></a></li> <li><a name="PORT"><i>Q: Каким образом можно прибиндить сервисы на свой порт, к примеру, HTTP прокси к 8080, а не 3128 как по-умолчанию?</i></a></li>
<p> <p>
А: А:
<pre> <pre>
proxy -p8080</pre> proxy -p8080</pre>
</p> </p>
<li><a name="BANDLIM"><i>Q: Как ограничить ширину канала?</i></a></li> <li><a name="BANDLIM"><i>Q: Как ограничить ширину канала?</i></a></li>
<p> <p>
<i>A:</i> Читайте HowTo <a href="http://3proxy.ru/howtor.asp#BANDLIM">http://3proxy.ru/howtor.asp#BANDLIM</a> <i>A:</i> Читайте HowTo <a href="http://3proxy.ru/howtor.asp#BANDLIM">http://3proxy.ru/howtor.asp#BANDLIM</a>
</p> </p>
</ul> </ul>
<hr> <hr>
<li><b><a name="BRRR">Почему так криво...</a></b></li> <li><b><a name="BRRR">Почему так криво...</a></b></li>
<ul> <ul>
<li><a name="TRAF"><i>Q: Почему так криво считается трафик? Не совпадает с ...</i></a></li> <li><a name="TRAF"><i>Q: Почему так криво считается трафик? Не совпадает с ...</i></a></li>
<p> <p>
<i>A:</i> Следует учитывать, что 3proxy считает трафик только на прикладном уровне и <i>A:</i> Следует учитывать, что 3proxy считает трафик только на прикладном уровне и
только проходящий через прокси-сервер. Провайдеры и другие средства учета только проходящий через прокси-сервер. Провайдеры и другие средства учета
трафика считают трафик на сетевом уровне, что уже дает расхождение порядка 10% трафика считают трафик на сетевом уровне, что уже дает расхождение порядка 10%
за счет информации из заголовков пакетов. Кроме того, часть трафика, как за счет информации из заголовков пакетов. Кроме того, часть трафика, как
минимум DNS-разрешения, различный флудовый трафик и т.д. идут мимо прокси. минимум DNS-разрешения, различный флудовый трафик и т.д. идут мимо прокси.
Уровень "шумового" трафика в Internet сейчас составляет порядка 50KB/день на Уровень "шумового" трафика в Internet сейчас составляет порядка 50KB/день на
каждый реальный IP адрес, но может сильно варьироваться в зависимости от сети, каждый реальный IP адрес, но может сильно варьироваться в зависимости от сети,
наличия открытых портов, реакции на ping-запросы и текущего уровня вирусной наличия открытых портов, реакции на ping-запросы и текущего уровня вирусной
активности. По этим причинам, если 3proxy используется чтобы не "выжрать" активности. По этим причинам, если 3proxy используется чтобы не "выжрать"
трафик, выделенный провайдером, всегда следует делать некий запас порядка трафик, выделенный провайдером, всегда следует делать некий запас порядка
15%. 15%.
</p> </p>
<p> <p>
Если на одной с 3proxy машине имеются какие-либо сервисы или Если на одной с 3proxy машине имеются какие-либо сервисы или
работает пользователь, то их трафик не проходит через proxy-сервер и так же работает пользователь, то их трафик не проходит через proxy-сервер и так же
не будет учтен. Если где-то есть NAT, то клиенты, выходящие через NAT мимо не будет учтен. Если где-то есть NAT, то клиенты, выходящие через NAT мимо
прокси, так же останутся неучтенными. Если расхождение с провайдером превышает прокси, так же останутся неучтенными. Если расхождение с провайдером превышает
10% - нужно искать причину именно в этом. 10% - нужно искать причину именно в этом.
</p> </p>
<li><a name="CONFIG"><i>Q: Почему такая кривая конфигурация и ничерта не понятно?</i></a></li> <li><a name="CONFIG"><i>Q: Почему такая кривая конфигурация и ничерта не понятно?</i></a></li>
<p> <p>
<i>A:</i> Есть несколько причин. Во-первых, до выхода релиза (т.е. версии 1.0) я буду изо <i>A:</i> Есть несколько причин. Во-первых, до выхода релиза (т.е. версии 1.0) я буду изо
всех сил добиваться совместимости конфигурации между версиями. Во-вторых, всех сил добиваться совместимости конфигурации между версиями. Во-вторых,
конфигурация сделана так, чтобы ее можно было легко разбирать программно. конфигурация сделана так, чтобы ее можно было легко разбирать программно.
В-третьих, все там понятно. При желании. Если знать как все работает. В-третьих, все там понятно. При желании. Если знать как все работает.
</p> </p>
<li><a name="CODE"><i>Q: Почему так криво написан код?</i></a></li> <li><a name="CODE"><i>Q: Почему так криво написан код?</i></a></li>
<p> <p>
<i>A:</i> Есть несколько причин. Во-первых, я не программист. Во-вторых, 3proxy изначально <i>A:</i> Есть несколько причин. Во-первых, я не программист. Во-вторых, 3proxy изначально
писался на коленке (в отет на &quot;слабо&quot; в одной из конференций). Никто писался на коленке (в отет на &quot;слабо&quot; в одной из конференций). Никто
не мог предположить, что им кто-то реально будет пользоваться. В-третьих, у многих не мог предположить, что им кто-то реально будет пользоваться. В-третьих, у многих
возникает желание разобраться в коде 3proxy чтобы внедрить его в какой-нибудь возникает желание разобраться в коде 3proxy чтобы внедрить его в какой-нибудь
троян. Очень не хочется облегчать эту задачу. В-четвертых, мне надо добиться троян. Очень не хочется облегчать эту задачу. В-четвертых, мне надо добиться
компиляции кода в как можно большем числе систем. Замечено, что чем кривее код в компиляции кода в как можно большем числе систем. Замечено, что чем кривее код в
C, тем он лучше переносится. C, тем он лучше переносится.
</p> </p>
<li><a name="UNSAFE"><i>Q: Почему так много strcpy, sprintf и т.д., это ж дыры!</i></a><li> <li><a name="UNSAFE"><i>Q: Почему так много strcpy, sprintf и т.д., это ж дыры!</i></a><li>
<p> <p>
<i>A:</i> Есть несколько причин. Во-первых, несмотря на дурной тон использования этих <i>A:</i> Есть несколько причин. Во-первых, несмотря на дурной тон использования этих
функций, они наиболее совместимы между разными системами и компиляторами. функций, они наиболее совместимы между разными системами и компиляторами.
Во-вторых, само по себе их использование не означает присутствие дыры, если их Во-вторых, само по себе их использование не означает присутствие дыры, если их
параметры должным образом контролируются. Найдете дыру - обязательно сообщите. параметры должным образом контролируются. Найдете дыру - обязательно сообщите.
В третьих, может быть я уберу их перед конечным релизом, чтобы никого не В третьих, может быть я уберу их перед конечным релизом, чтобы никого не
пугать. пугать.
</p> </p>
</ul> </ul>

File diff suppressed because it is too large Load Diff