コンピュータ名を別名でWindws共有フォルダにはアクセス出来ない。pingは飛ぶのに何でシステムエラー52とか53とは?

pingは飛び名前解決しているのに、Windowsサーバーの共有フォルダにアクセス出来ないケースがあります。
例えば、サーバー「server-A」とクライアントクライアント「pc-A」があります。
クライアント「pc-A」上のhostsファイルに、「server-AのIPアドレスはAAAA」と記載します。
つまり、server-Aの別名として(cnameでも同等)「AAAA」を定義しました。
この状態でクライアント端末から、\\AAAAにアクセスしてみます。

image

image

  • 「システムエラー52」

ネットワークに重複した名前があるため接続されませんでした。ドメインに参加する場合は、コントロール パネルの [システム] でコンピューター名を変更して再実行してください。
ワークグループに参加する場合は、別のワークグループ名を選択してください。

  • 「システムエラー53」

ネットワークパスが見つかりません

アクセスした結果、
アクセス出来る場合もあるし、アクセス出来ない場合もあります、、、
アクセス出来ない場合、上記のようなエラーメッセージが出来ます。これは一体?

結論、昔のWindows(Windows 2000、2003、XP)ではアクセスするのに本当のコンピュータ名も必要

CIFS時代になり、IPアドレスでもアクセス出来る環境になったと思いますが、
昔の世代のWindowsでは、本当のコンピュータ名がわからないとアクセス出来ない現象がおきます。
NetBIOSの関係で認証やアクセスに「本当のコンピュータ名(Server-A)」が必要なんです。

ケース1、Windows7からWindows 2008へ別名でアクセス

image

新しい端末と新しいサーバーでは別名のコンピュータ名でアクセス出来ました。

ケース2、WindowsXPからWindows 2008へ別名でアクセス

image

古い端末から新しいサーバーへの別名アクセスは出来ませんでした。

ケース3、Windows7からWindows 2003へ別名でアクセス

image

新しい端末から古いサーバーへの別名アクセスも出来ませんでした。

結果的に、クライアントでもサーバーでもどちらかに古いWindows OSが入っていると別名アクセスは出来ないということです。
Windows XPやWindows Server 2003時代はアクセスの仕方が単純なTCP/IPではなくNetBIOSを使用しているんですね。

※ ADに所属している場合は、WindowsXPから別名アクセスするには別名サーバー名の「コンピュータアカウント」があるとアクセス出来ませんので注意です。

Windows Server 2003に別名でファイル共有アクセスさせる方法

Windows server 2003に別名でファイル共有アクセスさせる方法があります。
どちらも、サーバー側のレジストリを操作する必要があり再起動も必要なので、好まないサーバー管理者も多いと思いますですけどね、、、

1、サーバーに別のNetBIOS名を付ける(別名を付ける)

実際に試している方もいるようです。

image

HKEY_LOCAL_MACHINE\CurrentControlSet\Services\LanmanServer\Parameters
別名を1つつける場合は REG_SZ 値で、名前=OptionalNames 値=別名

2、サーバーでコンピュータ名チェックを無効にする

こちらも実際に試している方も居るみたいです

image

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\lanmanserver\parameters
DWORD値を追加。名前=DisableStrictNameChecking 値=1

こちらはを「ケース2」で使用できるかどうか(つまりWindows Server 2008でもレジストリ指定できるかどうか)検証してみました

image

Windows Server 2008 R2に

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\lanmanserver\parameters
DWORD値を追加。名前=DisableStrictNameChecking 値=1

の値を追加したところ、それまでアクセス出来なかったファイル共有がアクセス出来るようになりました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です