Sambaを使用してWindows共有に接続すると「NT_STATUS_DUPLICATE_NAME」が返される


10

Windowsマシンに共有ディレクトリを設定し、username @ workgroupにフルコントロールのアクセス許可を与えました。

Linuxでsmbclientを使用してWindowsマシンに接続しようとすると、エラーが発生しますNT_STATUS_DUPLICATE_NAME。これが筆記録です:

$ smbclient -U username -W workgroup -L //windows-machine
Enter username's password: 
Domain=[workgroup] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
tree connect failed: NT_STATUS_DUPLICATE_NAME

意図的に間違ったユーザー名、パスワード、またはワークグループを入力すると、別のエラーが発生しますNT_STATUS_LOGON_FAILURE。だから私は他の情報を正しく取得しているようです。

windows-machineIPアドレスを指すエントリを/ etc / hostsに配置しました。WindowsマシンのNetBIOS名は異なります。

このエラーの意味を誰かが知っていますか?

回答:


9

WindowsマシンのNetBIOS名が違う

それはあなたの問題だ。これは、Windowsマシンのレジストリハックによって簡単に修正できます。詳細については、http://support.microsoft.com/kb/281308を参照してください。

更新

上にリンクされた元のサポート記事は消えました(Microsoftに感謝します)。新しい記事は、SMBファイルサーバー共有へのアクセスがDNS CNAMEエイリアスを介して失敗することです。

Jorilは、サーバーは複数のNetBIOS名を持つことができるとも指摘しています。これは、レジストリキーを編集して行います。

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parameters\OptionalNames

追加の名前を追加します。


1
これがパッチで修正されていないのはなぜですか。
Neil

それはバグではなく、意図的にそのように設計されています。おそらくセキュリティのためですが、理由は正確にはわかりません。hostsファイルに不正なエントリがあるか、DNSをダフしている場合、誤って間違ったサーバーに接続するのを防ぐことができると思います。個人的には、レジストリハックをすべてのサーバーに配置しました。
ジョンレニー、

リンクは死んでいるように見えます(404)。とにかくキーはHKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters\DisableStrictNameChecking
次のとおり

...さらに良いのは、OptionalNames
Joril

6

Windowsマシンが接続しているものとして識別されるとWindowsマシンが認識できないため、おそらくそのエラーが発生しています。(間違った認証情報を使用すると、この問題は接続プロセスの後半まで発生しないため、エラーが変わります。)

ではなく、IP番号として接続してみてくださいwindows-machine。それが機能する場合は、名前の問題が起こっていることを確認し、PDCにそれ自体を認識させるかwindows-machine、IP番号を使用するだけで解決できます。


3

「-m」フラグを使用して、使用するプロトコルの最大バージョンを指定する必要があります。デフォルトでは "NT1"です。これはsmbclientのmanページにあります:

-m|--max-protocol protocol
    This allows the user to select the highest SMB protocol level that
    smbclient will use to connect to the server. By default this is set
    to NT1, which is the highest available SMB1 protocol. To connect
    using SMB2 or SMB3 protocol, use the strings SMB2 or SMB3
    respectively. Note that to connect to a Windows 2012 server with
    encrypted transport selecting a max-protocol of SMB3 is required.

SMB2以降とは異なり、「NT1」バージョンはnetbiosに依存していると思います。

したがって、「-m SMB3」または「-m SMB2」を使用して再試行すると、パフォーマンスも大幅に向上します。


2

-Iオプションを使用して、IPアドレスを指定できます。

smbclient -U username -W workgroup -L //windows-machine  -I <machine-ipaddr>

0

/ etc / hostsにあるマシンの名前も、おそらくDNSサーバーの名前も使用できません。

マシンのIPアドレスまたはWindowsで指定されたマシンのNetBIOS名を使用する必要があります。

Windows XPでNetBIOS名を見つけるには:

  1. 「マイコンピュータ」を右クリック
  2. 「プロパティ」をクリックします
  3. 「コンピュータ名」タブをクリックします
  4. 最初のピリオドまでの「フルコンピュータ名」フィールドを読みます '.'
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.