スキップしてメイン コンテンツに移動

Windows10 から NAS にアクセスできない

Windows 10 から NAS につながらない症状が発生した。
RAID トラブルが原因で半年ほど動かしていなかった為、この現象が今まで発生しなかった。

NAS は Linkstation である。
SSHでは接続できるし、HTTPからもつながるが、 ファイルマネージャから見れない。

ネットで検索するとどうやらWindows側に原因があるようだ。
ファイル共有のプロトコルはWin10では SMB3.11 であり、その他のWindowsは次のようなサポート状況になっている。

プロトコルOS
SMBMS-Networks/LAN Manager/Windows for Workgroups/Windows NT 3.xなど
CIFSWindows 9x/Windows Me/Windows NT 4.x
SMB 1.0 Windows 2000/Windows XP/Windows Server 2003/Windows Server 2003 R2
SMB 2.0 Windows Vista/Windows Server 2008
SMB 2.1 Windows 7/Windows Server 2008 R2
SMB 3.0 Windows 8/Windows Server 2012
SMB 3.0.2Windows 8.1/Windows Server 2012 R2
SMB 3.1.1Windows 10/Windows Server 2016

Windowsネットワークの基礎:
第7回 ファイル共有プロトコルSMBの概要
http://www.atmarkit.co.jp/ait/articles/1507/02/news026.html


Microsoftは、2017年秋のWindows10のアップデートで SMB1.0 を無効に設定した。

Windows 10 Fall Creators Update と Windows Server バージョン 1709 の既定では SMBv1 はインストールされません
https://support.microsoft.com/ja-jp/help/4034314/smbv1-is-not-installed-windows-10-and-windows-server-version-1709

これにより、SMB2.0 以降のプロトコルで接続できる共有フォルダにしか接続できない。


NASは、多くがLinuxが搭載されていて、sambaサーバで共有フォルダを運用している。
共有フォルダへの接続に使用するプロトコルバージョンは次のように実装されている。

SMB2 samba3.6~
SMB3 samba4.1~

これらのことから、Windows10 version 1709 以降、samba バージョン3.6未満の環境だとファイル共有できない。

対処方法は次の二通り。どちらかを行えば接続できるようになる。
  • Win10 で SMB1 を有効にする
  • sambaのバージョンを3.6以降にアップデートする

● Win10 で SMB1 を有効にする

コントロールパネルから Windows の機能の有効化または無効化 を開く。

コントロール パネル\すべてのコントロール パネル項目\プログラムと機能
Windows の機能の有効化または無効化

SMB 1.0/CIFS ファイル共有のサポート
  • SMB 1.0/CIFS Automatic Removal
  • SMB 1.0/CIFS クライアント
  • SMB 1.0/CIFS サーバー

SMB 1.0/CIFS ファイル共有のサポート の チェックボックスが外れているのでチェックを入れる。

この後、再起動すれば SMB1 が有効になる。

ただし、SMB1.0 は非推奨になっておりセキュリティ上も問題があるようなので、注意する必要がある。


sambaのバージョンを3.6以降にアップデートする

出来ることなら samba を更新するべきである。
NAS の ファームウェアアップデートをするとsambaも更新される可能性が高い。
NASへssh接続できるなら
# smbd -V
でバージョンを確認できる。

ファームウェアを最新に更新しても、sambaバージョンが古い場合は手動でsambaを更新する必要がある。
当然、この方法は難易度が高く、NASが動かなくなる可能性があるので注意が必要。




取り敢えず Linkstation には Webアクセス 機能があるので、こいつの設定をした。

Webアクセスは有効にし、それ以外の設定は下記のサイトを参考に無効にした。
設定項目は以下8種類あり、基本的には無効にした。
  • Web アクセス機能
  • HTTPS/SSL暗号化
  • BuffaloNAS.com 登録機能
  • BuffaloNAS.com ネーム
  • BuffaloNAS.com キー
  • その他DNSサービス ホスト名
  • ルータ自動設定機能 (UPnP)
  • ルータ外部ポート番号
サービスホスト名を入れないとエラーが出るのでNASのアドレスを入力した。

[参考]
LinkStation の Web アクセスを LAN に閉じる設定
http://d.hatena.ne.jp/mallowlabs/20090215/lsshareconfig



 Windows10からつながるNAS(SMB2.0以降)があるなら、NAS(SMB1.0)をNAS(SMB2.0以降)と繋いで、Windows10からはNAS(SMB2.0以降)を経由してNAS(SMB1.0)に繋ぐことが出来る。

具体的には、NAS(SMB2.0以降)にNAS(SMB1.0)の共有フォルダをsambaの機能でマウント(又はNFSでマウント)しておく。
NAS(SMB2.0以降)の共有フォルダ内にマウントしたディレクトリを割り当てておくと、Windows機からNAS(SMB2.0以降)に接続するとNAS(SMB1.0)にもアクセスできる。

このためには、NAS(SMB2.0以降)にssh等でログインする必要がある。

コメント

このブログの人気の投稿

Ubuntu で RAIDディスクをマウントする

謎のHDDが見つかった。 データを確認するためWindowsにつなぐもマウントされず。 これは extとかffsの辺りかなと思い、Linux(Ubuntu)に繋ぐ。 しかし、自動マウントされない。 取り敢えずマウントする。 # mount /dev/sdb1 /mnt/disk すると'linux_raid_member'とエラー表示された。 ということで、まずファイルシステムを確認。 # parted -l このコマンドでファイルシステムが表示される。 また、Gparted でも表示される。 そこでRAIDディスクを扱うためにmdadmパッケージをインストール。 # apt install mdadm ネットでは mountコマンドの -t オプションで明示的にファイルシステムを指定するとマウントできると書いてあったのでそれを試すとマウントできた。 # mount -t ext3 /dev/sdb1 /mnt/disk 内容を確認すると不要なデータだったのでデータを削除する。 # shred -v /deb/sdb この処理はとても時間がかかるので普段使わないコンピュータで処理をした。

Perl/Tk の基本的なこと

X を利用したアプリケーションを作る方法は色々あるが、Tk を用いると簡単に出来る。 Tk - Wikipedia https://ja.wikipedia.org/wiki/Tk_(ツールキット) Tk で作るWindowをどの言語で書くかによって変わってくるが、Tcl/Tkが最も有名かもしれない。 Tcl/Tk - Wikipedia https://ja.wikipedia.org/wiki/Tcl/Tk wish (Windowing Shell) を用いてスクリプトを組むことでグラフィカルなアプリを作れる。 Tclはこのwishで使われるプログラミング言語であり、簡単に使える。かなり多くのシステムに導入されていることもあり、特に何かをインストールせずとも使うことが出来る。 このTclの部分をperlに置き換えたものがPerl/Tkである。 Perl/Tk インストール Perl/Tk は Tcl/Tk と違いデフォルトでインストールされていないことが多い。 ubuntuだと perl-tk をインストールすると使えるようになる。 # apt install perl-tk 取り敢えず作ってみる 次のようなサンプルファイル sample.pl を作る。 sample.pl use utf8; use Tk; # トップウィンドウを作る $top = MainWindow->new(); # ウィンドウ内に文字(ラベル)を表示する $label = $top->Label(-text => "ここに文字を書く")->pack(); # ウィンドウを生成する MainLoop(); ちなみに文字コードは UTF-8 になってる。 $ file sample.pl sample.pl: UTF-8 Unicode text 次のコマンドで実行する。 $ perl sample.pl 実行できる形の sample.pl Shebang を書いて実行ファイルとしても実行できる。 たぶん次のようなファイルになる。 一行目のShebangは環境によって異なるが多くのシステムは多分これで通る。 #!/usr/bin/perl use utf8; use...

自動ログイン on Lubuntu

Lubuntu 19.04 の 自動ログインを設定してみた。 グラフィカルログインを自動で行うようにしたいが、 ユーザー設定 の中に自動ログインの設定がない。 そこでコマンドラインから設定してみた。 まず、ログインをするときに使用しているディスプレイマネージャを確認する。 $ cat /etc/X11/default-display-manager /usr/bin/sddm sddm を使っているので、sddm の自動ログインを設定する。 OSは systemd で動いていると設定ファイルがないようなので作成する。 # sddm --example-config > /etc/sddm.conf.d/sddm.conf この設定ファイルに Autologin について書いてあるのでここにユーザ名を入力。 $ head /etc/sddm.conf.d/sddm.conf [Autologin] # Whether sddm should automatically log back into sessions when they exit Relogin=false # Name of session file for autologin session (if empty try last logged in) Session= # Username for autologin session User= ここの User= にユーザ名を書き込み保存後、再起動すると自動でログインされる。