そこで、_Dante 1.4.2
_(MSAzureで実行されるDebian8.7のソースからコンパイル)を構成し、公式の構成ガイドに従ってSOCKS5サーバーを実行しました。ポート_1080 tcp
_で着信接続を受け入れるファイアウォールルールを作成しました。私はMozillaFirefoxを使用して接続しました。認証がない場合は正常に機能します。ただし、_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
}
_
ソックスが私の内部アドレスにバインドされていないようです。ログファイルには次のように記載されています。_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
_
ありがとうございました!
接続時にユーザー名とパスワードを送信しているかどうかを確認します。
client offered no acceptable authentication method
クライアントから何も送信されていないようです。
これはクライアントの問題であることが判明しました。つまり、FirefoxはSOCKS5を正しく認証する方法を知りません。ブラウザ拡張機能を使用することをお勧めします