如何通过 squid 使用传输 d/l

如何通过 squid 使用传输 d/l

我的 squid 服务器设置为使用 ncsa 模块进行身份验证。我可以将此代理与 Web 浏览器(IE/FF)一起使用。我将传输配置为:

“代理”:“my.proxy.ip”,

“代理身份验证已启用”:true,

“代理认证密码”:“我的密码”,

“代理身份验证用户名”:“我的名字”,

“代理已启用”:true,

“代理端口”:31288,

“代理类型”:0,

在我启动了我的传输守护进程之后,我仍然在我的 squid 日志中看到 TCP_DENIED/407。看来传输没有向 squid 服务器提供用户帐户信息,并且请求被拒绝。

有人知道怎样解决这个问题吗?

答案1

Bitorrent 建立两种连接,一种是与 Tracker 建立 http 连接(通常在端口 6969 上),另一种是实际传输(通常在端口 6981 及以上)。代理设置可以用于第一种类型,在传输中,对于 Mac,我的代理设置明确规定使用代理连接到 Tracker。另一种连接不是 http,因此不会进行身份验证。

如果您使用 wireshark 并观察连接,我愿意打赌与跟踪器的连接正在运行,并且您在日志中看到的拒绝实际上是尝试下载内容。

此时您可以采取几种可能的方法。我猜想 squid 盒也是您的网关。因此,最简单的解决方案应该是修改 iptables 并将必要的端口转发到您的计算机(见下文)。这样,出于传输的考虑,它会认为它在网络上,并且应该可以正常工作。

iptables -t nat -A PREROUTING -p tcp --dport 6881:6889 -j DNAT --to-destination <transmission_ip>
iptables -A FORWARD -s <transmission_ip> -p tcp --dport 6881:6889-j ACCEPT

该解决方案确实绕过了 Squid。

答案2

这实际上不是一个问题。我的错:)

上述设置是正确的。TCP_DENIED 不是来自 squid 的响应,而是来自 BT tracker。所以我被 tracker 拒绝了,而不是我的 squid 服务。

相关内容