web-dev-qa-db-ja.com

Dante 1.4.xsockdがローカルホストで機能しない

ローカルホストで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
2
John Tate

SOCKSクライアントはおそらく SOCKS4Aプロトコル を使用してリクエストを送信しています。これはSOCKS4の拡張機能であり、クライアントがIPアドレスではなく宛先ドメイン名をプロキシサーバーに送信できるようにします。

残念ながら、Danteはバージョン1.4.2の時点でSOCKS4Aをサポートしていません。その ステータスページ はそれがサポートするプロトコルをリストします。

プロキシサーバーにリクエストを送信する前に、リモートホスト名をローカルでIPアドレスに解決するようにクライアントを変更すると、機能するはずです。または、使用しているネットワークライブラリでサポートされている場合は、SOCKS5プロトコルを使用することをお勧めします。

1
Steven Grimm

ブロックメッセージは、SOCKSクライアントがDanteがIPアドレス0.0.0.1、ポート80に接続することを要求していることを意味します。これは無効なIPアドレスであるため、接続は失敗し、Danteが報告します。

言い換えれば、問題はSOCKSクライアント側にあります。

0