私はこれが新しい質問ではないことを知っていますが、いくつかの調査をしてみましたが、今まで見た答えのどれも私に答えを与えませんでした。
私は次のような状況にあります。
私はセキュリティが非常に脆弱なネットワーク(誰かがパケットスニッフィングを行っている)を持つキャンパスで働いており、プロキシサーバーを使用してインターネットにアクセスします。 sshdがインストールされているサーバーにアクセスできます(サーバーとプロキシ間の通信にはこの問題はありません)。直接ログインすることはできませんが、SSHトンネル(実際には個人的に構成されたWindowsシステムですでに機能しています)で使用できます。
アクセス用に設定されたプロキシの1つを使用してwgetを介してダウンロードする必要があります。クライアントSSHを使用して次の構成を作成しました。
export sshuname=MySshUsername
export sshupass=MySshPassword
export sshrserver=MyRemoteSSHD
export proxyserver=MyProxyServer
nohup sshpass -p $sshupass ssh $sshuname@$sshrserver -N -C -L 8082:$proxyserver:3128 &
Telnetを試みると、プロキシサーバーは正しく応答します。
telnet localhost 8082
しかしwgetと一緒に使うと
export http_proxy=http://localhost:8082
export https_proxy=http://localhost:8082
export ftp_proxy=http://localhost:8082
export proxy_user=MyProxyUserName
export proxy_passwd=MyProxyPassword
export dir_pref=TEST
export log_name=test
export url=http://internet.site/path/file.tgz
wget -c -t0 --no-check-certificate --proxy-user=$proxy_user --proxy-password=$proxy_passwd --directory-prefix=$dir_pref $url
wgetは次のエラーを報告します。
localhost 確認中 (localhost)...127.0.0.1, ::1 localhost(localhost) に接続中|127.0.0.1|:8082... 失敗: 接続が拒否されました。 localhost|::1|:8082 に接続中... 失敗: プロトコルはアドレスファミリをサポートしていません。
誰かが私が間違っていることを教えてもらえますか?
プロキシにSOCKSを使用することはオプションではありません!
このコンピュータのローカルiptablesはポート8082からの接続を可能にします。
次のステップは、前述のように、SSHトンネルを介してこのシステムを通過するすべてのプロキシ接続をリダイレクトすることです。このマシンは私たちの部門の内部ネットワークのためのファイアウォールであり、「理論的には」私の内部ネットワークには何の問題もありません。