Fedora 23を実行するHTPCとして使用されるシステムがあります。最近まで、ネットワーク上の他のPCを検索して接続するなど、すべてがうまく機能しました(LinuxとWindowsシステムが混在しています)。これで、何らかの理由でこのPCでSamba共有を検索できなくなります。名前またはIPを介した直接接続はうまく機能します。私は何も変更しませんでした。事実、すべてが閉鎖されたまま一週間席を空にしましたが、戻ってくるとすぐに問題が発生したようです。
いろいろな順列で何度も試してみましたが、何の役にも立ちませんでした。
- ルータを含むすべてを再起動しました。
- smb.service と nmb.service を再起動します。
- ファイアウォールを一時的に無効にします。
- 一時的にSELinuxを許可に設定
- smb.confに次の行を追加します。
- 1)名前解決順序=ブロードキャストホストlmshostsが勝利
- 2)DNSプロキシ=いいえ
- 三)ゲストへのマッピング = 悪いユーザー
- sを使用して端末の接続をテストします。mbclient -d2 -L コンピュータ名 -U ユーザ名- 効果があります!
また、/var/log/samba のログにエラーは表示されません。だから何時間もそれについて考えた後、私はとても混乱しました。現時点では直接的な接続が可能なので必ずしも解決すべき問題ではありませんが、これをもっとよく理解していくつかを学びたいと思います。
smbtree
以下は、動作しないHTPC(「WOMBAT」と呼ばれる)と動作する2台のコンピュータ(openSUSEとLinux Mintの実行)の出力です。
# smbtree output from "WOMBAT":
# browsing smb shares from this machine does not work...
# however, connecting directly works, e.g., to smb://dog/shared
# Pinging any of the other machines by name also works.
HOME
\\WOMBAT Samba Server Version 4.3.11
\\WOMBAT\IPC$ IPC Service (Samba Server Version 4.3.11)
\\WOMBAT\homes Home Directories
\\ OpenRG File Server
# smbtree output from working machine, "DOG":
HOME
\\WOMBAT Samba Server Version 4.3.11
\\ROUTERUSB_FILESH OpenRG File Server
\\DOG dog server (Samba, Linux Mint)
\\DOG\IPC$ IPC Service (dog server (Samba, Linux Mint))
\\DOG\Shared2 Media2 on dog
\\DOG\Shared Media on dog
\\DOG\print$ Printer Drivers
\\CAT Cat
\\CAT\Video (F)
\\CAT\C$ Default share
\\CAT\Shared-Cat-F
\\CAT\H$ Default share
\\CAT\ADMIN$ Remote Admin
\\CAT\F$ Default share
\\CAT\Shared-Cat2
\\CAT\Shared-Personal
\\CAT\G$ Default share
\\CAT\Shared-Video
\\CAT\C
\\CAT\Shared-Cat-C
\\CAT\print$ Printer Drivers
\\CAT\SharedDocs
\\CAT\IPC$ Remote IPC
\\CAT\Other (G)
\\CHIPMUNK Samba 4.2.4-18.1-3668-SUSE-SLE_12-x86_64
\\CHIPMUNK\IPC$ IPC Service (Samba 4.2.4-18.1-3668-SUSE-SLE_12-x86_64)
\\CHIPMUNK\share Shared files
\\CHIPMUNK\print$ Printer Drivers
\\CHIPMUNK\groups All groups
\\CHIPMUNK\users All users
\\CHIPMUNK\profiles Network Profiles Service
\\PIG
# smbtree output from working machine, "CHIPMUNK":
HOME
\\WOMBAT Samba Server Version 4.3.11
\\ROUTERUSB_FILESH OpenRG File Server
\\DOG dog server (Samba, Linux Mint)
\\DOG\IPC$ IPC Service (dog server (Samba, Linux Mint))
\\DOG\Shared2 Media2 on dog
\\DOG\Shared Media on dog
\\DOG\print$ Printer Drivers
\\CAT Cat
\\CAT\Video (F)
\\CAT\C$ Default share
\\CAT\Shared-Cat-F
\\CAT\H$ Default share
\\CAT\ADMIN$ Remote Admin
\\CAT\F$ Default share
\\CAT\Shared-Cat2
\\CAT\Shared-Personal
\\CAT\G$ Default share
\\CAT\Shared-Video
\\CAT\C
\\CAT\Shared-Cat-C
\\CAT\print$ Printer Drivers
\\CAT\SharedDocs
\\CAT\IPC$ Remote IPC
\\CAT\Other (G)
\\CHIPMUNK Samba 4.2.4-18.1-3668-SUSE-SLE_12-x86_64
\\CHIPMUNK\IPC$ IPC Service (Samba 4.2.4-18.1-3668-SUSE-SLE_12-x86_64)
\\CHIPMUNK\share Shared files
\\CHIPMUNK\print$ Printer Drivers
\\CHIPMUNK\groups All groups
\\CHIPMUNK\users All users
\\CHIPMUNK\profiles Network Profiles Service
\\PIG
私が得た唯一の手がかりは、systemctl status nmb -l
問題のボックスで実行したときに私のサブネットが間違って見えることです(以下の出力)。しかし、私はそれについて確信していません。おそらくそれが良いかもしれません。そして、それが正しいことを確認する方法がわかりません。
● nmb.service - Samba NMB Daemon
Loaded: loaded (/usr/lib/systemd/system/nmb.service; enabled; vendor preset: disabled)
Active: active (running) since Wed 2016-08-10 23:32:26 EDT; 2h 20min ago
Main PID: 17468 (nmbd)
Status: "nmbd: ready to serve connections..."
CGroup: /system.slice/nmb.service
└─17468 /usr/sbin/nmbd
Aug 10 23:32:26 wombat.home systemd[1]: nmb.service: Supervising process 17468 which is not our child. We'll most likely not notice when it exits.
Aug 10 23:32:26 wombat.home systemd[1]: Started Samba NMB Daemon.
Aug 10 23:32:26 wombat.home nmbd[17468]: [2016/08/10 23:32:26.084522, 0] ../lib/util/become_daemon.c:124(daemon_ready)
Aug 10 23:32:26 wombat.home nmbd[17468]: STATUS=daemon 'nmbd' finished starting up and ready to serve connections
Aug 10 23:32:49 wombat.home nmbd[17468]: [2016/08/10 23:32:49.120302, 0] ../source3/nmbd/nmbd_become_lmb.c:397(become_local_master_stage2)
Aug 10 23:32:49 wombat.home nmbd[17468]: *****
Aug 10 23:32:49 wombat.home nmbd[17468]:
Aug 10 23:32:49 wombat.home nmbd[17468]: Samba name server WOMBAT is now a local master browser for workgroup HOME on subnet 192.168.124.1
Aug 10 23:32:49 wombat.home nmbd[17468]:
Aug 10 23:32:49 wombat.home nmbd[17468]: *****
次のステップは、NFSを試してから(もちろん疑問点がありますが)、マシンを消去して再起動することです。しかし、これが問題を解決しても、私は何も学びませんでした。
答え1
問題は仮想ネットワークインタフェース(virbr0
)です。 Sambaはこれを間違ったブロードキャストアドレスを指すデフォルトインターフェースとして使用します。おそらくそこで実行される唯一のSambaサーバーだと思うので、自分自身を「ローカルマスターブラウザ」に設定しているようです。
抜粋した出力を確認smbtree -d3
し、「192.168.124.255」の誤った「bcast」を含む3番目の項目を確認してください。
Processing section "[global]"
added interface wlp0s20u6 ip=192.168.1.14 bcast=192.168.1.255 netmask=255.255.255.0
added interface enp3s0 ip=192.168.1.15 bcast=192.168.1.255 netmask=255.255.255.0
added interface virbr0 ip=192.168.124.1 bcast=192.168.124.255 netmask=255.255.255.0
障害を負うlibvitrdservice( systemctl disable libvirtd
) はそのインタフェースを削除して問題が解決したようです。 smbtree はネットワーク上の他の共有を表示します。
このインターフェイスを無効にする前にnmb.serviceのステータスを確認したところ、「SambaネームサーバーWOMBATはサブネット192.168.124.255にあるワークグループHOMEのローカルマスターブラウザです」と似たメッセージを見ました。この不正なサブネットのため、不正なインターフェイスが表示されました。実行時にそのアドレスを確認しましたifconfig
。
結論:このインターフェースがどこから来たのかよくわかりません。私が正しく理解したなら、これは仮想NATインターフェイスです。このコンピュータにVirtualbox、VMWareなどがインストールされていません。これを有効にできる他のものが何であるかよくわかりません。興味のある方がいらっしゃる方は、コメントでお知らせください。