Proxy サーバ経由で SSH 接続して、Samba サーバにアクセスする手順のメモ。
確認環境: Samba サーバ = Ubuntu 16.04、クライアント = Windows10
まず、概要を説明すると、下記のようになる。
Windows でループバック I/F (10.255.255.1/24) を作成して、
10.255.255.1:445 -> 10.255.255.1:44445 に port proxy して、
Proxy サーバ経由で SSH 接続するときに、ポートフォワード設定をしておいて、
10.255.255.1:44445 -> XX.XX.XX.XX:445 にアクセス。
0. サーバ側設定
サーバ PC (Ubuntu 16.04) では、Samba, SSH サーバ が起動していることが前提 (構築手順等の説明省略)。
あと、proxy サーバ経由でその PC にアクセスできること。
1. ループバックアダプタ追加
まず、Windows PC にループバックアダプタを追加する。
デバイスマネージャを開いて、"操作" -> "レガシハードウェアの追加"。
ハードウェアの追加ウィザードの開始。
一覧から選択したハードウェアをインストールする。
ネットワークアダプター。
Microsoft KM-TEST Loopback Adapter。
わかりやすいように名前を "Loopback" に変えておく。
Loopback のプロパティを開き、Microsoft ネットワーク用ファイルとプリンター共有 のチェックを外す。
インターネット プロトコル バージョン 4 (TCP/IPv4) を開いて、固定 IP アドレスを設定。
IP アドレス = 10.255.255.1
サブネット マスク = 255.255.255.0
詳細設定 -> WINS、NetBIOS over TCP/IP を無効にする。
2. portproxy の設定
管理者権限で、コマンドプロンプトを起動する。
SMB ドライバ (サービス) がすでに起動している場合は、下記を実行する。
(自分の PC では必要なかった)
> sc config smb start= demand
portproxy の設定。
> netsh interface portproxy add v4tov4 listenaddress=10.255.255.1 listenport=445 connectaddress=10.255.255.1 connectport=44445
設定内容を確認。
> netsh interface portproxy show v4tov4
Address Port Address Port
--------------- ---------- --------------- ----------
10.255.255.1 445 10.255.255.1 44445
3. タスクスケジューラに SMB ドライバ (サービス) を設定。
ログイン時に、下記が実行されるように設定する。
設定後、再起動する。
C:\Windows\System32\net.exe start smb
再起動後、設定が下記のようになっていれば OK。
ダメな場合は、タスクスケジューラを開いて、タスクの停止、実行を手動で行うと良いかも。
(場合によっては、社内 LAN 接続ツールの挙動がおかしくなる。その時は、一旦タスクを停止して、接続後、起動する)
> netstat -an | find ":445"
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
TCP 10.255.255.1:445 0.0.0.0:0 LISTENING
TCP [::]:445 [::]:0 LISTENING
4. TeraTerm で、SSH 転送 (ポートフォワード設定) を行い、SSH ログインする。
今回は TeraTerm を使ってアクセスしたが、PuTTY でも同様のことができる。
まず、ポートフォワードの設定を行う。
to remote machine のところに、サーバ PC の IP アドレスを入力。
proxy サーバを設定。
SSH でログインする。
TeraTerm で、SSH のコネクションを張っている間、Samba のアクセスが可能となる。
5. エクスプローラで、Samba サーバにアクセス。
USER の部分は任意で入力。
\\10.255.255.1\USER
● Samba, SSH, proxy, windows10, port foward, smb, teraterm