web-dev-qa-db-ja.com

smbclientはNASを検出しますが、マウントはそれを検出できません

NASドライブをUbuntuサーバーに自動マウントしようとしていますが、NAS =マウントするときのネットワーク上の名前。

このように共有をプルするとうまく機能し、NAS上の共有の印刷物が得られます。

smbclient -L //NASNAMEHERE

次の行を使用して、必要な共有を/ etc/fstabに追加しました。 .smbcredentialsファイルには、共有へのRWアクセス用のユーザー/パスコンボが含まれています。

//NASNAMEHERE/Archive    /home/user/Archive        cifs    credentials=/home/user/.smbcredentials,iocharset=utf8,file_mode=0777,dir_mode=0777 0 0

ただし、Sudo mount -a新しいデバイスをマウントすると、これが表示されます。

mount error: could not resolve address for martinez-nas: Unknown error

NASを名前で直接pingすることはできないようですが、smbclientの場合、これが機能しない理由について混乱しています。 NASを適切に見つけて、共有をリストできます。

Ubuntu Server 14.04.2の実行

3
WR7500

違いは、sambaクライアントがnetbios名検索を実行するのに対して、mount.cifsはホスト名検索を実行するため、ある種のLAN側DNSメカニズムが必要になることです。 CIFSには、NetBIOS名が何であるかわかりません。

いくつかの解決策があります。

[1]一部のルーターは、LAN側のDNSメカニズムを自動的に提供します。これが、CIFSユーザーのサブセットのみがこの名前解決の問題を経験する理由です。おそらくあなたのルーターはこれを行いますが、有効化されていません-調査する価値があります。

[2] nasに静的IPアドレスを与えることができます。これは、nas自体で実行したくない場合はルーターでも実行できます。次に、そのIPアドレスでサーバーにアクセスします。

[3] nasがある場合、mDNS修飾ホスト名(hostname.local)を使用できます。現在、Linux、Win10(有効にする必要があります)、Apple = Mac、およびMacで動作するように設計されたこれらのネットワークデバイスはすべてこれらのホスト名を持っています。nasの現在のIPアドレスがわかっている場合は、次のコマンドを使用して正しいIPアドレスを確認できます:

avahi-resolve -a 192.168.1.208

その出力からの名前を使用し、まだない場合は末尾に.localを添付します。

[4]そして最後に、誤解され誤解されたwinbindの「ギミック」

アプリケーションがホスト名のIPアドレスを解決したい場合、/ etc/nsswitch.confファイルを参照して方法を確認します。ファイルを見ると、「ファイル」(/ etc/hosts)、「mdns4」(mDNS)、および「dns」自体のさまざまな方法が表示されます。 netbiosへの言及はどこにもありません。そのため、パラメータwinsをパラメータdnsの前に配置して追加します。

winsにはlibnss_wins.soライブラリが必要であり、次のパッケージをインストールするとそれが得られます。

Sudo apt install libnss-winbind

そのパッケージをインストールすると、winbind自体もインストールされます。

そのため、NetBIOS名をCIFSやpingなどのホスト名として表示させるために、まったく異なるもの用に設計されたもの(winbind)をインストールすることになります。当時、この「解決策」はインターネットアクセスを時々遅くするため、結果をもたらしましたが、長年にわたって相対的な速度が向上していることを考えると、誰も気付かないと思います。

1
Morbius1

見つかった この質問 これは私に答えます。基本的に、Sambaはホスト名検索を実行できますが、マウントは実行できません。 /etc/fstabでホスト名の代わりにIPアドレスを設定しましたが、それは魅力のように機能しました。

1
WR7500