web-dev-qa-db-ja.com

SMBプロキシ:他の2つのホスト間のSSHトンネルを介してSMBサーバーに接続する

Localhostが会社のSMB=共有にアクセスすることを望みます。これらはWin7ピアにあります。このピアはDebianで仮想マシンを実行しており、それ自体がsshデーモンを実行しています。

LocalhostからVMへのsshトンネルを簡単に作成できますが、SMB転送/プロキシを機能させることができませんでした。どのインターフェイスのどのポートとホストに転送するかなど、完全に混乱しています...

私が正しい場合、ローカルホストのポート139をプロキシのポートに転送し、プロキシ自体でポート139を同じホストのsshトンネルのポートに転送する必要がありますか?これはまったく機能するはずですか?それを達成するために各ホストをどのように設定すればよいですか?

ネットワークはおおよそ次のようになります。

localhost ===(ssh)=== |router| ===(ssh)=== debian vm ===(smb)=== win7

ルーターはSSH接続をVMに転送するだけです。

5
pong

@ Zoredacheがこの質問に答える は、あなたが何をしようとしているのに適していますが、状況に応じて詳しく説明します。

ルーターが図からSSHサーバーを実行しているかどうか、またはSSHトラフィックをルーター経由で移動することを単に言っているだけなのかは明確ではありません。私はあなたがポートフォワードを介してSSHトラフィックを移動していると仮定します。その場合、私は次のようにします:

  • PCからルーターのパブリックIPアドレスへのSSHセッションを開始します。ルーターのパブリックIPアドレスには、おそらく、Debian VMのSSHサーバーポートに転送されるポートがあります。

  • 127.0.0.2:139として指定されたPCのポート139をWindows 7 PCのLAN IPアドレス、ポート139に転送します(これは、Debian VMがWindows 7 PCにアクセスできることを前提としています) 。OpenSSHを使用している場合、構文はssh router-ip -L 127.0.0.2:139:win-7-pc-ip:139

  • /etc/hosts(またはOSに存在する類似のもの)を使用して、Windows 7 PCの名前を127.0.0.2に解決します

これにより、Windows 7 PCのSMBポートに転送するローカルループバックアドレスを介して、名前でWindows 7 PCにアクセスできます。

4
Evan Anderson