- Published on
Windows 10の共有フォルダにリモートネットワークからアクセスしてマウントする
- Authors
- Name
- Shou Arisaka / 有坂翔
Windows 10の共有フォルダにリモートネットワークからアクセスしてマウントする方法について紹介します。 以前にローカルネットワーク上でWindowsの共有シェアフォルダをubuntu 16.04や18.04でマウントするという記事を書きました。
Ubuntu 18.04でWindows 10の共有フォルダをマウントする方法 windows 10のシェア(共有)フォルダをubuntu16.04でマウント(同期)するsudo mount -t cifs //192.168.3.19/_sync_ ~/share -o user=ifgm2,pass=hogefuga,dir_mode=0777,file_mode=0777
今回はぱっと思いつきで試してみたところ、リモートからの共有フォルダへのアクセスができたので紹介。
話は簡単なことで、共有フォルダに使用されているポートをフォワーディングするというだけです。
what port or ports are used for File sharing in windows? - Super User上記によれば、Windows 10の共有フォルダに使用されているポートは445
になるらしいです。
実際にポートの通信状況を確認してみると、やはりそれっぽいです。
PS C:\pg> netstat -aon | sls -Pattern "192.168.0.167"
TCP 192.168.0.110:445 192.168.0.167:59412 ESTABLISHED 4
TCP 192.168.0.110:54261 192.168.0.167:22 ESTABLISHED 16348
TCP 192.168.0.110:58600 192.168.0.167:22 ESTABLISHED 94772
ということで、Wifiでポート変換の設定をします。以下のような感じで設定します。
192.168.0.102:445 -> [publicIP]:8201
ポート変換ができる僕が使っているWifiルーターは以下にて参照できます。
光回線工事後、4台のルーターを実際に買って検証した結果導き出された最高のwifiルーターとは僕の場合は大丈夫でしたが、場合によってはこのタイミングでファイアウォールの設定をして445
を開放する必要があるかもしれません。
そして実際にmount
コマンドでマウントするわけですが、mount
でポート番号を指定するには以下のようにしてやります。
mkdir ~/share01t
sudo mount -o port=8201 -t cifs //[publicIP]/__share__ ~/share01t -o user=hogehoge,pass=hogehoge,dir_mode=0777,file_mode=0777
これでマウントができているはずです。
また、僕は今回これをレンサバのエックスサーバーでやろうと思っていたのですが、レンサバはsudo権限がありませんので、上記のようなコマンドは使えないようです。 mount
は基本できるけど、-o
オプションはつけられない、ということのよう。
mount: only root can use "--options" option
僕はセキュリティ疎いので確かではないですが、たぶんこれはセキュリティ的に危ういかもしれません。Windowsのユーザー名とパスワードを総当たりされて突破されたら共有フォルダへのアクセスは許してしまうことになるかと思います。
sshfsみたいに通信自体セキュアじゃないんだと思うので、場合によってはコマンドラインから打ったパスワードがそのまま漏れるかも。
WSLでfuseやsshfsが解禁されればこういう面倒でインセキュアなことしなくてもいいんですけど。