Samba와 Windows 공유에 연결하면“NT_STATUS_DUPLICATE_NAME”이 반환됩니다.


10

Windows 컴퓨터에서 공유 디렉토리를 설정하고 username @ workgroup에 대한 모든 권한을 부여했습니다.

smbclient를 사용하여 Linux로 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 덕분에). 새 기사는 DNS CNAME 별칭을 통해 SMB 파일 서버 공유 액세스에 실패했습니다 .

Joril 은 또한 서버가 여러 NetBIOS 이름을 가질 수 있다고 지적합니다. 레지스트리 키를 편집하면됩니다.

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

여분의 이름을 추가합니다.


1
왜 이것이 패치로 수정되지 않았는지 궁금합니다.
Neil

그것은 버그가 아니며 의도적으로 그렇게 설계되었습니다. 아마도 정확히는 확실하지 않지만 보안을 위해 가능합니다. hosts 파일 또는 duff DNS에 불량 항목이 있으면 실수로 잘못된 서버에 연결하는 것을 중지한다고 가정합니다. 개인적으로 모든 서버에 레지스트리 해킹을 적용했습니다.
John Rennie

링크가 죽어 보입니다 (404). 어쨌든 열쇠는HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters\DisableStrictNameChecking
Joril

... 또는 더 나은, OptionalNames
Joril

6

Windows 시스템이 자신이 연결하는 것으로 식별되는 것을 이해하지 못하기 때문에 아마도 오류가 발생했을 것입니다. 잘못된 인증 정보를 사용하면 나중에 연결 과정에서이 문제가 발생하지 않기 때문에 오류가 변경됩니다.

이 아닌 IP 번호로 연결해보십시오 windows-machine. 그것이 작동하면, 그것은 이름의 일이 일어나고 있음을 확인하고, PDC가 자신을 이해하도록 만들 windows-machine거나 IP 번호를 사용하여 해결할 수 있습니다.


3

"-m"플래그를 사용하여 사용할 최대 프로토콜 버전을 지정해야합니다. 기본적으로 smbclient 매뉴얼 페이지의 "NT1"입니다.

-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 서버의 이름을 사용할 수 없습니다.

Windows에 지정된 시스템의 IP 주소 또는 NetBIOS 이름을 사용해야합니다.

Windows XP에서 NetBIOS 이름을 찾으려면

  1. "내 컴퓨터"를 마우스 오른쪽 버튼으로 클릭하십시오
  2. "속성"을 클릭하십시오
  3. "컴퓨터 이름"탭을 클릭하십시오
  4. 첫 번째 기간까지 "전체 컴퓨터 이름"필드를 읽으십시오 '.'
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.