PR

Windows11 HomeとUbuntuのSamba共有が突然つながらなくなったときの対処例― net use・資格情報・固定IPで切り分けた実体験 ―

Windows 11 と Ubuntu の間で、Samba によるファイル共有接続が安定している様子を表したシンプルなイラスト Ubuntu
この記事は約8分で読めます。
記事内に広告が含まれています。
スポンサーリンク

はじめに

Windows11 Home と Ubuntu の間で、
Samba を使ったファイル共有を安定して使うための構成については、
前回の記事でまとめました。

前回の記事では、

・Ubuntu 側の Samba 設定
・Windows 側からの基本的な接続方法
・安定運用を意識した考え方

を中心に解説しています。

ただ、実際に使い続けていると、
設定は変えていないのに、突然つながらなくなる
という場面に遭遇しました。

この記事では、
そのときに実際に行った切り分けと復旧の流れを、
Samba 運用中のトラブルシューティング例としてまとめます。

今回発生したトラブルの状況

今回の症状は、次のようなものでした。

  • Windows のエクスプローラーから共有フォルダが開けない
  • エラーが表示されず、無反応になることがある
  • 一度はつながるが、再度開くとつながらない
  • 再起動すると直ることもあれば、直らないこともある

完全に壊れているわけではないため、原因の切り分けがしづらい状態でした。

まず確認したこと:Ubuntu 側で Samba が動いているか

最初に疑ったのは、Ubuntu 側で Samba サービスが正しく動作しているかどうかです。

smbd の状態確認

systemctl status smbd

このコマンドは、Samba の本体サービス(smbd)が起動しているかを確認します。

active (running) と表示されていれば、サービス自体は正常に動作していると判断できます。

Samba が通信を受け付けているか確認する

サービスが起動していても、ネットワーク的に待ち受けていない場合があります。

次に、ポートの状態を確認しました。

sudo ss -lntp | grep smbd

このコマンドでは、

  • Samba が
  • どのポートで
  • 待ち受け状態(LISTEN)になっているか

を確認できます。

ここで、

  • 445/tcp
  • 139/tcp

が表示されていれば、Ubuntu 側は接続を受け付ける準備ができている状態です。

Ubuntu 側に問題が見当たらない場合の考え方

ここまでの確認で、

  • Samba サービスは起動している
  • ポートも待ち受けている

ことが分かりました。

この時点で、問題は Windows 側の接続状態や認証 にある可能性が高くなります。

Windows 側の接続状態を確認する

Windows では、過去の Samba 接続情報がセッションとして残ることがあります

まず、現在の接続状況を確認します。

net use

このコマンドは、現在のユーザーで確立されているネットワーク接続(SMB セッション)を一覧表示します。

この時点では、まだ接続の解除や再接続は行っていません。

net use は、現在 Windows が保持しているネットワーク接続の状態を一覧表示するためのコマンドです。

Windows は、過去に成功した接続情報を共有フォルダへアクセスする際に自動的に再利用しようとすることがあります。

その結果、ユーザーが意図していないユーザー名で接続が試みられ、挙動が不安定になることがあります。

接続情報を一度すべてリセットする

切り分けを明確にするため、いったんすべての接続情報を解除しました。

net use * /delete

このコマンドは、

  • 現在ログオン中のユーザーが持つ
  • すべてのネットワーク接続セッション

を削除します。

注意点

  • 他のファイルサーバーや NAS に接続している場合、一時的に切断されることがあります
  • 再接続すれば元に戻ります(設定やデータが消えるわけではありません)

ユーザーを明示して再接続する

次に、どのユーザーで接続するかを明示して再接続します。

net use \\<UbuntuのIPアドレス>\Share /user:<Ubuntuのユーザー名>

ここでは、

  • 接続先
  • 使用するユーザー名

を Windows に明確に伝えています。

重要なのは、

  • Microsoft アカウントではなく
  • Ubuntu 側で作成した Samba ユーザー

を使うことです。

接続が安定しているかを確認する

ここまでの手順が正しく行えていれば、Windows と Ubuntu の Samba 接続は安定した状態になっているはずです。

最後に、いくつかのポイントを確認しておきましょう。

エクスプローラーから共有フォルダを直接開けるか

まず、Windows のエクスプローラーを開き、アドレスバーに次の形式で入力します。

\\<UbuntuのIPアドレス>\Share
  • すぐに共有フォルダが表示される
  • 認証エラーや無反応にならない

この状態であれば、基本的な接続は問題ありません。

ネットワークドライブとして割り当てた場合も開けるか

ネットワークドライブとして割り当てている場合は、

  • エクスプローラーを一度閉じる
  • 再度エクスプローラーを開く

そのうえで、割り当てたドライブをクリックします。

  • 毎回すぐに開ける
  • 再接続待ちやフリーズが起きない

ことを確認してください。

Windows を再起動しても問題なく接続できるか(任意)

より確実に確認したい場合は、Windows を再起動します。

再起動後に、

  • エクスプローラーから共有フォルダを開ける
  • ネットワークドライブが自動的に接続される

ようであれば、今回のトラブルは解消できていると考えて問題ありません。

この確認で問題がなければ

ここまで問題なく確認できた場合、

  • Samba の設定自体は正しく
  • 不安定さの原因は Windows 側の接続状態・認証の揺れ

だった可能性が高いと言えます。

この状態を維持するためにも、

  • 接続先はホスト名ではなく IP アドレスを使う
  • 接続時にユーザーを明示する

という点を意識しておくと、再発しにくくなります。

エクスプローラーだけの接続が不安定になりやすい理由

Windows のエクスプローラーから直接アクセスすると、
Windows は状況に応じて、

  • 過去の資格情報
  • Microsoft アカウント
  • ゲスト接続

などを自動的に選択しようとします。

その結果、「一度はつながるが、次はつながらない」ということが発生していました。

ネットワークドライブに割り当てて安定させる

私は、最終的には、共有フォルダを ネットワークドライブとして割り当てました。

ネットワークドライブにすると、

  • 接続先
  • 使用するユーザー
  • 再接続の有無

を固定できます。

これにより、

  • Windows 再起動後
  • Ubuntu 再起動後

でも、すぐに共有フォルダを開けるようになりました。

ホスト名より IP アドレスを使った理由

私は、Ubuntuデスクトップと通信する際に、IPアドレスではなく、ホスト名を使用していたのですが、今回のトラブルを受けて、共有フォルダへのアクセスは、ホスト名ではなく IP アドレスを直接指定するようにしました。

理由は次の通りです。

  • ホスト名はDNS / NetBIOS / キャッシュなど複数経路で解決される
  • 環境によって挙動が変わりやすい
  • トラブル時に原因を切り分けしづらい

IPアドレスを使うことで、名前解決の問題を完全に切り離せます

今後、しばらく共有フォルダを使用して、不具合が再発しないかは様子を見る必要がありますが、いったんSambaによる共有フォルダは、IPアドレスで運用することにします。

IPアドレスの固定化(Ubuntu デスクトップ)

Windows から Samba 共有へ IP アドレスを直接指定して接続する場合、Ubuntu 側の IP アドレスが変わらないようにしておくことで、再起動後も接続が安定します。

ここでは、Ubuntu デスクトップで NetworkManager を使って IP アドレスを固定する方法を説明します。

現在の IP アドレスを確認する

まず、現在 Ubuntu に割り当てられている IP アドレスを確認します。

ip a

出力結果の中から、以下のような項目を探します。

  • 有線接続の場合:enp1s0 など
  • inet 192.168.xxx.xxx/24 の形式で表示される IPv4 アドレス

この 現在使用できている IP アドレスを、そのまま固定に使います。

接続名を確認する

次に、NetworkManager が管理している接続名を確認します。

nmcli connection show

出力例:

  • netplan-enp1s0
  • Wired connection 1 など

ここで表示された 有線接続に対応する接続名を控えておきます。

(以下の例では netplan-enp1s0 とします)

IP アドレスを手動設定に変更する

確認した接続名を使って、IPv4 の設定を手動に切り替えます。

sudo nmcli connection modify netplan-enp1s0 ipv4.method manual

次に、IP アドレスを指定します。

sudo nmcli connection modify netplan-enp1s0 ipv4.addresses <固定したいIPアドレス>/24

ゲートウェイと DNS を設定する

ルーターの IP アドレスをゲートウェイとして指定します。

sudo nmcli connection modify netplan-enp1s0 ipv4.gateway <ルーターのIPアドレス>

DNS も同様に指定します。

sudo nmcli connection modify netplan-enp1s0 ipv4.dns <DNSサーバーのIPアドレス>

設定を反映する

設定を反映するため、一度接続を切り、再接続します。

sudo nmcli connection down netplan-enp1s0
sudo nmcli connection up netplan-enp1s0

※ この操作中、一時的にネットワーク接続が切れるため、SSH 接続やリモート操作をしている場合は注意してください。

固定されていることを確認する

再接続後、IP アドレスが固定されているかを確認します。

ip a

再起動後も同じ IP アドレスが表示されていれば、固定化は完了です。

補足:なぜ IP アドレスを固定すると安定するのか

  • Windows 側で接続先を IP アドレスで明示できる
  • DHCP による IP 変更の影響を受けない
  • Samba 接続時の再認証・再探索が発生しにくい

そのため、ホスト名ではなく IP アドレス + IP 固定の組み合わせは、家庭内 LAN での Samba 運用では特に安定します。

まとめ:今回のトラブルから分かったこと

今回のトラブルは、

  • Samba の設定ミス
  • サービスの不具合

ではありませんでした。

Windows 側の接続のされ方が曖昧だったことが原因でした。

前回の記事で構築した構成を前提に、今回のような切り分けを行うことで、「なぜ今つながっているのか分からない」という状態から抜け出せました。

Samba 共有は、設定だけでなく、運用時の確認手順も含めて設計するものだと実感しました。
この記事がご参考になれば幸いです。

タイトルとURLをコピーしました