วิธีกำหนดค่าเครื่อง Windows เพื่ออนุญาตให้ใช้ไฟล์ร่วมกันด้วยชื่อแทน DNS


81

กระบวนการใดที่จำเป็นในการกำหนดค่าสภาพแวดล้อม Windows เพื่อให้ฉันใช้ DNS CNAME กับเซิร์ฟเวอร์อ้างอิงได้

ฉันต้องการทำสิ่งนี้เพื่อให้ฉันสามารถตั้งชื่อเซิร์ฟเวอร์ของฉันอย่าง SRV001 แต่ยังคง\\file ชี้ไปที่เซิร์ฟเวอร์นั้นดังนั้นเมื่อ SRV002 แทนที่ฉันไม่ต้องอัปเดตลิงก์ใด ๆ ที่ผู้คนมีเพียงแค่อัปเดต DNS CNAME และทุกคน จะได้รับการชี้ไปที่เซิร์ฟเวอร์ใหม่


เราใช้เทคนิคนี้เป็นสแตนบายอบอุ่นที่บันทึกไว้ คุณทำเอกสารได้ดีกว่าที่ฉันทำ ฉันไม่รู้เกี่ยวกับตัวเลือก backConnection และเราลดพื้นที่การโจมตีของเราโดยไม่ใช้ netBIOS เราไม่ได้ใช้ SPN เช่นกัน ขอบคุณ!
Knox

สำหรับบันทึกนี้เราใช้ windows filesharing กับ DNA aliases กับเซิร์ฟเวอร์ทั้ง 2003 และ 2008 ทุกวันในองค์กรของฉันโดยไม่จำเป็นต้องทำการเปลี่ยนแปลงใด ๆ มันใช้งานได้
Ryan Bolger

ควรสังเกตว่าข้อความใน KB926642 เตือนว่า "ความปลอดภัยจะลดลงเมื่อคุณปิดใช้งานการตรวจสอบย้อนกลับการรับรองความถูกต้องและคุณเปิดเซิร์ฟเวอร์ Windows Server 2003 สำหรับการโจมตีแบบ Man-in-the-middle (MITM) บน NTLM"
Ryan Bolger

ขอบคุณไมเคิล สิ่งนี้ตอบคำถามของฉัน "ฉันจะเปิดใช้งาน Windows Explorer ของ Windows XP เพื่อยอมรับชื่อแทน CNAME ในแถบที่อยู่ได้อย่างไร" คำถามโพสต์ที่นี่ ( serverfault.com/questions/238851/… )
Jason Pearce

ขอบคุณมาก!!! สิ่งนี้ทำงานกับ Server 2008 R2 กับไคลเอนต์ XP Pro ที่พยายามเชื่อมต่อกับไฟล์ที่ใช้ร่วมกัน ฉันมีเซิร์ฟเวอร์ HP อายุ 10 ปี (Server 2000) เสียชีวิตดังนั้นฉันจึงต้องใช้เซิร์ฟเวอร์ VM กู้คืนไฟล์ต่างๆและสร้างส่วนแบ่งใหม่ ไคลเอนต์ XP Pro ไม่สามารถเชื่อมต่อกับข้อผิดพลาด variuos ได้ แต่ฉันใช้ regedit ข้างต้นรีบูตและใช้งานได้ดีขอบคุณ

คำตอบ:


67

เพื่ออำนวยความสะดวกในรูปแบบ failover เทคนิคทั่วไปคือการใช้ระเบียน DNS CNAME (นามแฝง DNS) สำหรับบทบาทเครื่องที่แตกต่างกัน จากนั้นแทนที่จะเปลี่ยนชื่อคอมพิวเตอร์จริงของชื่อเครื่องจริงหนึ่งสามารถเปลี่ยนระเบียน DNS ให้ชี้ไปที่โฮสต์ใหม่

สิ่งนี้สามารถทำงานกับเครื่อง Microsoft Windows ได้ แต่เพื่อให้สามารถใช้งานไฟล์ร่วมกันได้ต้องดำเนินการตามขั้นตอนการกำหนดค่าต่อไปนี้

เค้าโครง

  1. ปัญหา
  2. การแก้ไขปัญหา
    • การอนุญาตให้เครื่องอื่นใช้การแชร์ไฟล์ผ่าน DNS Alias ​​(DisableStrictNameChecking)
    • การอนุญาตให้เครื่องเซิร์ฟเวอร์ใช้การแชร์ไฟล์ด้วยตัวเองผ่าน DNS Alias ​​(BackConnectionHostNames)
    • การให้ความสามารถในการเรียกดูสำหรับชื่อ NetBIOS หลายชื่อ (ตัวเลือก)
    • ลงทะเบียนชื่อบริการหลักของ Kerberos (SPNs) สำหรับฟังก์ชัน Windows อื่น ๆ เช่นการพิมพ์ (setspn)
  3. อ้างอิง

1. ปัญหา

บนเครื่อง Windows การแชร์ไฟล์สามารถทำงานผ่านชื่อคอมพิวเตอร์โดยมีหรือไม่มีคุณสมบัติครบถ้วนหรือโดยที่อยู่ IP โดยค่าเริ่มต้นอย่างไรก็ตามการแชร์ไฟล์จะไม่ทำงานกับนามแฝง DNS โดยพลการ หากต้องการเปิดใช้งานการแชร์ไฟล์และบริการ Windows อื่น ๆ ให้ทำงานกับนามแฝง DNS คุณต้องทำการเปลี่ยนแปลงรีจิสทรีตามรายละเอียดด้านล่างและรีบูตเครื่อง

2. การแก้ปัญหา

การอนุญาตให้เครื่องอื่นใช้การแชร์ไฟล์ผ่าน DNS Alias ​​(DisableStrictNameChecking)

การเปลี่ยนแปลงนี้เพียงอย่างเดียวจะอนุญาตให้เครื่องอื่น ๆ ในเครือข่ายเชื่อมต่อกับเครื่องโดยใช้ชื่อโฮสต์ใดก็ได้ (อย่างไรก็ตามการเปลี่ยนแปลงนี้จะไม่อนุญาตให้เครื่องเชื่อมต่อกับตัวเองผ่านชื่อโฮสต์ให้ดูที่ BackConnectionHostNames ด้านล่าง)

  • แก้ไขรีจิสตรีคีย์HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parametersและเพิ่มค่าDisableStrictNameCheckingประเภท DWORD ที่ตั้งค่าเป็น 1

  • แก้ไขคีย์รีจิสทรี (บน 2008 R2) HKLM\SYSTEM\CurrentControlSet\Control\Printและเพิ่มค่าDnsOnWireประเภท DWORD ที่ตั้งค่าเป็น 1

การอนุญาตให้เครื่องเซิร์ฟเวอร์ใช้การแชร์ไฟล์ด้วยตัวเองผ่าน DNS Alias ​​(BackConnectionHostNames)

การเปลี่ยนแปลงนี้จำเป็นสำหรับนามแฝง DNS เพื่อทำงานกับการแชร์ไฟล์จากเครื่องเพื่อค้นหาตัวเอง สิ่งนี้สร้างชื่อโฮสต์ Local Security Authority ที่สามารถอ้างถึงในการร้องขอการรับรองความถูกต้อง NTLM

เมื่อต้องการทำเช่นนี้ทำตามขั้นตอนเหล่านี้สำหรับโหนทั้งหมดบนคอมพิวเตอร์ไคลเอนต์:

  1. ในคีย์ย่อยของรีจิสทรีHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0ให้เพิ่มค่า Multi-String ใหม่BackConnectionHostNames
  2. ในกล่องข้อมูลค่าให้พิมพ์ CNAME หรือชื่อแทน DNS ที่ใช้สำหรับการแชร์ในเครื่องบนคอมพิวเตอร์แล้วคลิกตกลง
    • หมายเหตุ: พิมพ์ชื่อโฮสต์แต่ละชื่อในบรรทัดแยกต่างหาก

การให้ความสามารถในการเรียกดูสำหรับชื่อ NetBIOS หลายชื่อ (ตัวเลือก)

อนุญาตให้ความสามารถในการดูนามแฝงเครือข่ายในรายการเรียกดูเครือข่าย

  1. แก้ไขรีจิสตรีคีย์HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver\parametersและเพิ่มค่าOptionalNamesประเภท Multi-String
  2. เพิ่มในรายการชื่อที่คั่นด้วยบรรทัดใหม่ที่ควรลงทะเบียนภายใต้รายการเรียกดู NetBIOS
    • ชื่อควรตรงกับระเบียบ NetBIOS (เช่นไม่ใช่ FQDN เพียงแค่ชื่อโฮสต์)

ลงทะเบียนชื่อบริการหลักของ Kerberos (SPNs) สำหรับฟังก์ชัน Windows อื่น ๆ เช่นการพิมพ์ (setspn)

หมายเหตุ: ไม่ควรทำสิ่งนี้เพื่อให้ฟังก์ชั่นพื้นฐานทำงานได้ที่นี่เพื่อความสมบูรณ์ เรามีสถานการณ์หนึ่งที่นามแฝง DNS ไม่ทำงานเนื่องจากมีระเบียน SPN เก่ารบกวนดังนั้นหากขั้นตอนอื่นไม่ทำงานตรวจสอบว่ามีระเบียน SPN เร่ร่อนใด ๆ

คุณต้องลงทะเบียนชื่อบริการหลักของ Kerberos (SPNs) ชื่อโฮสต์และชื่อโดเมน (FQDN) แบบเต็มสำหรับระเบียน DNS alias (CNAME) ใหม่ทั้งหมด ถ้าคุณไม่ทำเช่นนี้ขอบัตร Kerberos สำหรับนามแฝง DNS (CNAME) KDC_ERR_S_SPRINCIPAL_UNKNOWNอาจล้มเหลวและกลับรหัสข้อผิดพลาด

ในการดู Kerberos SPNs สำหรับระเบียน DNS alias ใหม่ให้ใช้เครื่องมือบรรทัดคำสั่ง Setspn ( setspn.exe) เครื่องมือ Setspn รวมอยู่ในเครื่องมือสนับสนุน Windows Server 2003 คุณสามารถติดตั้งเครื่องมือสนับสนุน Windows Server 2003 ได้จากโฟลเดอร์ Support \ Tools ของดิสก์เริ่มต้น Windows Server 2003

วิธีใช้เครื่องมือเพื่อแสดงรายการระเบียนทั้งหมดสำหรับชื่อคอมพิวเตอร์:

setspn -L computername

หากต้องการลงทะเบียน SPN สำหรับระเบียน DNS alias (CNAME) ให้ใช้เครื่องมือ Setspn ด้วยไวยากรณ์ต่อไปนี้:

setspn -A host/your_ALIAS_name computername
setspn -A host/your_ALIAS_name.company.com computername

3. การอ้างอิง

การอ้างอิงทั้งหมดของ Microsoft ทำงานผ่าน: http://support.microsoft.com/kb/

  1. การเชื่อมต่อกับ SMB ที่ใช้ร่วมกันบนคอมพิวเตอร์ที่ใช้ Windows 2000 หรือคอมพิวเตอร์ที่ใช้ Windows Server 2003 อาจไม่ทำงานกับชื่อนามแฝง
    • ครอบคลุมพื้นฐานของการทำให้การแชร์ไฟล์ทำงานได้อย่างถูกต้องกับระเบียน DNS alias จากคอมพิวเตอร์เครื่องอื่นไปยังคอมพิวเตอร์เซิร์ฟเวอร์
    • KB281308
  2. ข้อความแสดงข้อผิดพลาดเมื่อคุณพยายามเข้าถึงเซิร์ฟเวอร์ในเครื่องโดยใช้ FQDN หรือชื่อแทน CNAME หลังจากคุณติดตั้ง Windows Server 2003 Service Pack 1: "การเข้าถึงถูกปฏิเสธ" หรือ "ไม่มีผู้ให้บริการเครือข่ายยอมรับเส้นทางเครือข่ายที่กำหนด"
    • ครอบคลุมวิธีการทำให้ชื่อแทน DNS ทำงานร่วมกับการแชร์ไฟล์จากเซิร์ฟเวอร์ไฟล์เอง
    • KB926642
  3. วิธีรวมเซิร์ฟเวอร์การพิมพ์โดยใช้ระเบียน DNS alias (CNAME) ใน Windows Server 2003 และใน Windows 2000 Server
    • ครอบคลุมสถานการณ์ที่ซับซ้อนมากขึ้นซึ่งระเบียนใน Active Directory อาจจำเป็นต้องได้รับการอัปเดตเพื่อให้บริการบางอย่างทำงานได้อย่างถูกต้องและสำหรับการเรียกดูบริการดังกล่าวเพื่อให้ทำงานได้อย่างถูกต้องวิธีการลงทะเบียน Kerberos ชื่อบริการหลัก
    • KB870911
  4. การอัปเดตระบบไฟล์แบบกระจายเพื่อสนับสนุนการรวมรากใน Windows Server 2003
    • ครอบคลุมสถานการณ์ที่ซับซ้อนยิ่งขึ้นด้วย DFS (กล่าวถึง OptionalNames)
    • KB829885

รายการสำหรับการพิมพ์ที่จะทำงานภายใต้ Windows Server 2008R2 / Win7 อีกเป็นเอกสารที่support.microsoft.com/kb/979602 คุณต้องปิดการใช้งาน DNS optimization ที่เพิ่มเข้ามาเพื่อรองรับการพิมพ์ไปยังเครื่องที่มีนามแฝงโดยการเพิ่มค่า DWORD ชื่อ "DnsOnWire" เป็น HKLM \ SYSTEM \ CurrentControlSet \ Control \ Print และตั้งค่าเป็น 1 จากนั้นเริ่มบริการ Print Spooler
nitzmahone

แหล่งที่มาสำหรับการแก้ไขของฉัน: serverfault.com/q/396598/2869
Joel Coel

11

อีกวิธีหนึ่งในการแบ่งปันไฟล์ Windows ด้วยความซ้ำซ้อนคือการใช้ระบบไฟล์แบบกระจายด้วยการจำลองแบบ (DFS-R) คุณจะต้องใช้ Windows Server 2003 R2 เป็นอย่างน้อยในไฟล์เซิร์ฟเวอร์ของคุณเพื่อใช้งาน

คุณตั้งค่ารูต DFS ของคุณและจากนั้นสามารถระบุเซิร์ฟเวอร์หลายเครื่องที่มีการแชร์เพียงครั้งเดียว หากเซิร์ฟเวอร์ตัวใดตัวหนึ่งหยุดทำงานลูกค้าที่ใช้งานจะล้มเหลวโดยอัตโนมัติกับเซิร์ฟเวอร์ตัวใดตัวหนึ่งโดยอัตโนมัติ

สำหรับข้อมูลเพิ่มเติมโปรดดูที่ไมโครซอฟท์ภาพรวมของ DFS

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.