ローカルホストで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
}
これらは私がログに記録しているエラーですが、私は本当に理解していません。私はそれらについてグーグルで多くを見つけることができませんでした...
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
SOCKSクライアントはおそらく SOCKS4Aプロトコル を使用してリクエストを送信しています。これはSOCKS4の拡張機能であり、クライアントがIPアドレスではなく宛先ドメイン名をプロキシサーバーに送信できるようにします。
残念ながら、Danteはバージョン1.4.2の時点でSOCKS4Aをサポートしていません。その ステータスページ はそれがサポートするプロトコルをリストします。
プロキシサーバーにリクエストを送信する前に、リモートホスト名をローカルでIPアドレスに解決するようにクライアントを変更すると、機能するはずです。または、使用しているネットワークライブラリでサポートされている場合は、SOCKS5プロトコルを使用することをお勧めします。
ブロックメッセージは、SOCKSクライアントがDanteがIPアドレス0.0.0.1、ポート80に接続することを要求していることを意味します。これは無効なIPアドレスであるため、接続は失敗し、Danteが報告します。
言い換えれば、問題はSOCKSクライアント側にあります。