![Dante 1.4.x sockd 不适用于本地主机](https://linux22.com/image/690639/Dante%201.4.x%20sockd%20%E4%B8%8D%E9%80%82%E7%94%A8%E4%BA%8E%E6%9C%AC%E5%9C%B0%E4%B8%BB%E6%9C%BA.png)
我正在尝试运行一个 SOCKS 服务器,该服务器在本地主机上监听 SOCKS 连接。如果您想知道其用途,实际上会有 SSH 隧道到达此服务器。我的配置基于文档中的建议但它不起作用。
这是我的配置:
errorlog: /var/log/sockd.errlog
logoutput: /var/log/sockd.log
internal: 127.0.0.1 port = 1080
external: eth0
user.notprivileged: nobody
clientmethod: none
socksmethod: none
client pass {
from: 127.0.0.0/24 to: 0.0.0.0/0
log: error # connect disconnect
}
socks pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
command: bind connect udpassociate
log: error # connect disconnect iooperation
}
socks pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
command: bindreply udpreply
log: error # connect disconnect iooperation
}
这些是我在日志中看到的错误,我不太明白。我在 Google 上找不到太多相关信息...
Sep 26 12:11:49 (1474906309.183623) sockd[7168]: info: Dante/server[1/1] v1.4.1 running
Sep 26 12:12:25 (1474906345.212038) sockd[7171]: info: block(1): tcp/connect ]: 127.0.0.1.41578 127.0.0.1.1080 -> 94.102.58.15.41578 0.0.0.1.80: connect(2) to 0.0.0.1.80 from 94.102.58.15.41578 failed: Invalid argument
Sep 26 12:12:25 (1474906345.212157) sockd[7171]: info: block(1): tcp/accept ]: 127.0.0.1.41578 127.0.0.1.1080: request was not performed due to error: connect(2) to 0.0.0.1.80 from 94.102.58.15.41578 failed: Invalid argument
Sep 26 12:12:25 (1474906345.212675) sockd[7171]: info: block(1): tcp/connect ]: 127.0.0.1.41579 127.0.0.1.1080 -> 94.102.58.15.41579 0.0.0.1.80: connect(2) to 0.0.0.1.80 from 94.102.58.15.41579 failed: Invalid argument
Sep 26 12:12:25 (1474906345.212703) sockd[7171]: info: block(1): tcp/accept ]: 127.0.0.1.41579 127.0.0.1.1080: request was not performed due to error: connect(2) to 0.0.0.1.80 from 94.102.58.15.41579 failed: Invalid argument
Sep 26 12:12:25 (1474906345.213155) sockd[7171]: info: block(1): tcp/connect ]: 127.0.0.1.41580 127.0.0.1.1080 -> 94.102.58.15.41580 0.0.0.1.80: connect(2) to 0.0.0.1.80 from 94.102.58.15.41580 failed: Invalid argument
Sep 26 12:12:25 (1474906345.213182) sockd[7171]: info: block(1): tcp/accept ]: 127.0.0.1.41580 127.0.0.1.1080: request was not performed due to error: connect(2) to 0.0.0.1.80 from 94.102.58.15.41580 failed: Invalid argument
答案1
你的 SOCKS 客户端可能正在使用SOCKS4A 协议这是 SOCKS4 的扩展,允许客户端向代理服务器发送目标域名而不是 IP 地址。
不幸的是,Dante 从 1.4.2 版开始不支持 SOCKS4A。其状态页列出它支持的协议。
修改客户端,在将请求发送到代理服务器之前,在本地将远程主机名解析为 IP 地址,这样应该就可以正常工作了。或者,更好的是,如果您使用的网络库支持 SOCKS5 协议,则使用 SOCKS5 协议。
答案2
阻止消息意味着 SOCKS 客户端正在请求 Dante 连接到 IP 地址 0.0.0.1、端口 80。由于这是一个无效的 IP 地址,因此连接失败,这就是 Dante 报告的内容。
换句话说,问题出在SOCKS客户端方面。