mirror of
https://github.com/3proxy/3proxy.git
synced 2026-09-02 12:55:49 +08:00
57 lines
3.2 KiB
HTML
57 lines
3.2 KiB
HTML
<h3>Транспарентное проксирование 3proxy (только для Linux/BSD)</h3>
|
||
|
||
Начиная с 1.0.1 транспарентное проксирование встроено в 3proxy. Раньше это был
|
||
отдельный TransparentPlugin, и строка <b>plugin</b>, которой он загружался,
|
||
больше не нужна: команды <b>transparent</b> и <b>notransparent</b> доступны
|
||
всегда на тех платформах, где соединение можно перенаправить.
|
||
|
||
<p>
|
||
3proxy становится транспарентным прокси практически для любых TCP-соединений,
|
||
причём весь остальной функционал работает как обычно - редиректоры,
|
||
родительские прокси, ACLи, ограничения трафика и логирование. IP и порт
|
||
назначения берутся у пакетного фильтра, перенаправившего соединение, и
|
||
используются как адрес назначения проксируемого соединения.
|
||
</p>
|
||
|
||
<pre>
|
||
log /path/to/log
|
||
auth iponly
|
||
allow * * * 80
|
||
parent 1000 http 0.0.0.0 0
|
||
allow *
|
||
parent 1000 socks5 SOCKS5_IP SOCKS5_PORT USER PASSWORD
|
||
|
||
transparent
|
||
tcppm -eLOCAL_IP 12345 127.0.0.1 11111
|
||
notransparent
|
||
proxy
|
||
</pre>
|
||
|
||
<p>
|
||
Любой TCP-трафик, перенаправленный на порт 12345, пойдёт через родительский
|
||
SOCKSv5 прокси и будет залогирован, URL веб-запросов видны в логе. Аргументы
|
||
'127.0.0.1 11111' в этом случае не используются: они заменяются адресом, к
|
||
которому обращался клиент.
|
||
</p>
|
||
|
||
<p>
|
||
В BSD адрес назначения ищется в pf через <b>/dev/pf</b>, в Linux запрашивается у
|
||
ядра; если перенаправление оставляет адрес на сокете, используется он. Команда
|
||
<b>transparent</b> принимает необязательный аргумент <b>auto</b>,
|
||
<b>netfilter</b>, <b>pf</b> или <b>socket</b>, чтобы зафиксировать выбор.
|
||
</p>
|
||
<p>
|
||
Правила перенаправления не должны попадать на соединения, которые устанавливает
|
||
сам 3proxy, иначе трафик возвращается в прокси и зацикливается. Задайте сервису
|
||
адрес для исходящих соединений через <b>-e</b> и исключите его в правилах, либо
|
||
запускайте 3proxy под отдельной учётной записью и исключайте её.
|
||
</p>
|
||
|
||
<p>
|
||
Правила перенаправления для iptables, nftables, firewalld, ufw и pf приведены в
|
||
<a href="../howtor.html#TRANSPARENT">описании транспарентного проксирования</a>,
|
||
команды описаны в 3proxy.cfg(5).
|
||
</p>
|
||
|
||
© Vladimir Dubrovin, License: BSD style
|