因此我进行了配置Dante 1.4.2
(从运行在 MS Azure 上的 Debian 8.7 上的源代码编译它)并按照他们的官方配置指南运行我的 SOCKS5 服务器。我创建了一个防火墙规则来接受端口上的传入连接1080 tcp
。我使用 Mozilla Firefox 连接到它。当没有身份验证时,它工作正常。但是,当我设置时,我无法连接socksmethod: pam.username
。我还非常确定 Dante 是在 pam 支持下编译的(build: libwrap mon-data mon-disconnect pam preload sess2
)
这是我的/etc/sockd.conf
#logging
errorlog: /home/toto/Logs/sockd.errlog
logoutput: /home/toto/Logs/sockd.log
#debug: 1
# The listening network interface or address.
internal: eth0 port = 1080
# The proxying network interface or address.
external: eth0
#server identities (not needed on solaris)
user.privileged: root
user.notprivileged: nobody
#user.libwrap: libwrap
#reverse dns lookup
#srchost: nodnsmismatch
# client-rules determine who can connect to the internal interface.
# The default of "none" permits anonymous access.
clientmethod: none
# socks-rules determine what is proxied through the external interface.
# The default of "none" permits anonymous access.
socksmethod: pam.username
#standard client rule, accept all clients
client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: connect disconnect error
socksmethod: pam.username
}
#outgoing traffic, requiring pam.username authentication, as specified
#in the global socksmethod.
socks pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
command: bind connect udpassociate
log: connect disconnect error
socksmethod: pam.username
}
Socks 似乎无法绑定到我的内部地址。日志文件显示:failed to bind internal addresses: Address already in use
内部地址位于 NAT 后面,因此这可能是问题所在。
如果我bind
从配置中删除它,它会启动但会抛出消息:block(1): tcp/accept ]: 199.217.115.228.9069 10.0.0.6.1080: error after reading 3 bytes in 0 seconds: client offered no acceptable authentication method
,这些日志条目会继续(每个都有不同的地址),直到我结束服务器进程。
还有我的/etc/pam.d/sockd
account required pam_nologin.so
session required pam_loginuid.so
session optional pam_keyinit.so force revoke
session required pam_limits.so
谢谢你!
答案1
我会检查您在连接时是否发送了您的用户名和密码。
client offered no acceptable authentication method
看起来客户端没有发送任何内容。
答案2
事实证明这是客户端问题,即 Firefox 不知道如何正确验证 SOCKS5。最好使用浏览器扩展