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