Dante 1.4.x sockd 不适用于本地主机

Dante 1.4.x sockd 不适用于本地主机

我正在尝试运行一个 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客户端方面。

相关内容