การปรับตั้งค่า KMS ฝั่ง Server

ก่อนหน้านี้ผมได้อธิบายความเป็นมาของ KMS อย่างคร่าว ๆ ไว้ที่ลิงค์นี้ http://noc.rmutl.ac.th/main/?p=1019 คราวนี้ก็ถึงเวลาของ KMS ฝั่งที่เป็น Server บ้างครับ ซึ่งต้องอธิบายอีกนิดในส่วนของ Server และ Key ที่จะนำมาใช้ โดยที่ Microsoft ได้แบ่งประเภทของคีย์ KMS ไว้เป็น 3 กรุ๊ป คือ A,B,C ซึ่งกรุ๊ปที่สามารถควบคุมระบบปฏิบัติการรวมไปถึงออฟฟิตได้ทุกรุ่นคือกรุ๊ป C แล้วที่เหลือก็ลดระดับความสำคัญกันมาตามลำดับ ดังรูป

รูปจาก http://blogs.technet.com/b/migreene/archive/2008/02/28/2940897.aspx

 ท่านสามารถอ่านรายละเอียดการควบคุมกรุ๊ปของ KMS แต่ละชุดได้จากที่นี่ครับ http://technet.microsoft.com/en-us/library/ff793422.aspx

ความต้องการของ KMS ฝั่ง Server

  • OS เป็น Microsoft Windows Server 2008R2 ขึ้นไป (อาจจะใช้รุ่นต่ำกว่าก็ได้ครับ แต่ต้องลง Patch อีกนิดหน่อย ก็ขอข้ามไปเลยละกัน)
  • เพิ่ม Record ใน DNS (กรณีที่ต้องการใช้งานเป็นชื่อโดเม็น หรือกรณีที่ต้องการให้เครื่องที่ Join Domain สามารถ Activation ได้โดยอัตโนมัติ)
  • ชุดคีย์ KMS ที่กำหนดไว้ เช่นชุด A,B หรือ C

ขั้นตอนการติดตั้ง

  • สมมุติว่าได้ทำการติดตั้ง OS เป็น Windows Server 2008R2 และมีการติดตั้ง DNS เรียบร้อยแล้ว
  • ที่เครื่อง DNS ให้ทำการปรับแต่งค่าดังนี้ (หากเครื่อง KMS และ DNS เป็นเครื่องเดียวกัน หรือมีสิทธิในการเขียน record dns แล้ว ให้ใช้คำสั่งนี้ slmgr /sdns เพื่อสร้าง record โดยอัตโนมัติ)
ใน Zone ที่ต้องการ (แนะนำให้เป้น Private Zone ที่เชื่อมต่อภายนอกไม่ได้ ในที่นี้ผมใช้เป็น .local เพื่อป้องกันไม่ให้มีการรเรียกใช้งานจากภายนอก) คลิ๊กขวาใน zone แล้วเลือก Other New Records…

 

 เลือก Sevice Location (SRV) จากนั้นคลิ๊กที่  Create Record

 

 

ที่หน้าต่าง New Resource Record ให้ปรับแต่งค่าดังต่อไปนี้

Service: _VLMCS  (ต้องพิมพ์เองนะครับ มันไม่มีให้เลือก)
Protocol: _tcp
Port: 1688
Host offering the service: kms.rmutl.local  (คือชื่อของเครื่องที่ทำหน้าที่เป็น KMS ครับ และต้องมี A Record อยู่แล้ว )

เมื่อปรับแต่งค่าครบแล้ว ให้คลิ๊กที่ ok ครับ เป็นอันเสร็จสิ้นการปรับแต่งค่าของ DNS

ปัญหาที่เจอก็อาจจะเป็นการลืมเพิ่ม A Record ครับ อาจจะทดสอบโดยการใช้คำสั่ง nslookup kms.rmutl.local ในการตรวจสอบว่าสามารถตอบกลับเป็นไอพีได้ถูกต้องหรือไม่ หากไม่ถูกต้อง ให้ทำการตรวจสอบ A Record อีกครั้งครับ

หากท่านใดใช้ระบบปฏิบัติการลีนุกซ์ทำหน้าที่เป็น DNS ให้เพิ่ม Record ดังนี้

_VLMCS._tcp.rmutl.local.     IN     SRV     0    0    1688     kms.rmutl.local.

อย่าลืมเติมจุด ด้านหลังนะครับ เพราะสำคัญมาก

 

  • ที่ Server KMS ให้ทำการปรับแต่งค่าดังนี้
  1.  ให้เปิด cmd ด้วยสิทธิของ Administrator  (Run as Administrator)
  2. ให้แน่ใจว่า พาร์ทตอนนี้อยู่ที่ c:windowssystem32 หากไม่อยู่ก็ให้ใช้คำสั่ง cd c:windowssystem32
  3. cscript slmgr.vbs /ipk  xxxxx-xxxxx-xxxxx-xxxxx-xxxxx [ใส่เป็น key KMS ของ Windows 2008 R2 คีย์ที่ระบุว่าเป็น KMS C,B,A ตัวใดตัวหนึ่ง]
  4. Activate ด้วยคำสั่ง cscript slmgr.vbs /ato   เป็นอันเสร็จสิ้นกระบวนการของฝั่ง Server

 

หมายเหตุ : ไฟล์วอล ต้องเปิดพอร์ต tcp 1688 ให้สามารถเชื่อมต่อระหว่างลูกข่ายและ เซิร์ฟเวอร์ใด้นะครับ เพราะเมื่อเครื่องลูก Activate ไปแล้ว จะมีการเช็คทุก ๆ 2 ชั่วโมง เพื่อเช็คสถานะ หากเช็คไม่ได้ หรือไม่ได้อยู่ในระบบนานกว่า 180 วัน ไลเซนต์ของลูกข่ายจะหมดอายุโดยอัตโนมัติครับ




Key Management Service (KMS)

KMS มันคืออะไร ??

บริการการจัดการคีย์ (KMS)
KMS เป็นวิธีการเริ่มต้นของการเปิดใช้งานแบบหลายเครื่อง ซึ่งมีความสามารถในการให้บริการการเปิดใช้งานในสภาพแวดล้อมที่มีการจัดการ
รหัสเปิดใช้งานการติดตั้งจำนวนมาก (MAK)
ส่วนใหญ่ MAK จะใช้สำหรับธุรกิจที่ไม่มีความสามารถในการให้บริการเซิร์ฟเวอร์การเปิดใช้งานของตนเอง โดย MAK จะมีความสามารถในการใช้บริการการเปิดใช้งานที่ Microsoft ให้บริการเพื่อเปิดใช้งานระบบที่มีสิทธิ์แต่ละระบบแทน

แล้วทำไมต้องใช้ด้วยละ ???

โดยทั่วไปแล้ว เมื่อเราต้องการที่จะป้อนคีย์ของผลิตภัณฑ์จากไมโครซอฟต์ เช่น microsoft windows , microsoft office เราต้องนำคีย์ประเภท MAK ในการใช้งาน ซึ่ง MAK ก็คือคีย์ที่สามารถใช้งานได้ทั่วไป สำหรับกลุ่มลูกค้าของไมโครซอฟต์ที่ซื้อสิทธิ์ในการใช้งานประเภท Volume แล้วละก็ จะได้คีย์ MAK มา 1 คีย์ แล้วสามารถที่จะนำคีย์ตัวนี้ไปติดตั้งได้หลาย ๆ เครื่อง

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

 

โม้ยาวไปละผม T_T และแล้วก็ถึงคิวของพระเอกเราซะที KMS เป็นกระบวนการป้อนคีย์ที่เรียกว่า Public ซึ่งคีย์ตัวนี้ สามารถนำไปเผยแพร่ได้ (คีย์สาธารณะของลูกข่ายนะครับ ของแม่ข่ายเผยแพร่ไม่ได้นะครับ) ซึ่งกระบวนการง่าย ๆ คือ เราต้องมีเครื่องที่ทำหน้าทีเป็นแม่ข่ายภายในองค์กร แล้วให้เครื่องลูกข่ายที่ต้องการใช้งาน เชื่อมต่อไปยัง เครื่องแม่ข่าย เมื่อแม่ข่ายตรวจสอบแล้วว่าข้อมูลถูกต้องหรือมีการร้องขอ เครื่องแม่ข่ายจะทำหน้าที่ในการมอบสิทธิหรือยอมให้ติดตั้งคีย์ได้ และส่งข้อมูลไปยังไมโครซอฟต์ โดยที่เครื่องลูกข่าย จำเป็นต้องติดต่อกับเครื่องแม่ข่าย อย่างน้อย 1 ครั้งภายใน 180 วัน หากเลยกำหนดแล้ว จะถือว่าผลิตภัณฑ์ตัวนั้น ไม่มีสิทธิ์ในการใช้งาน (หมดอายุแล้ว)

รูปจาก http://technet.microsoft.com/en-us/library/ff603508.aspx

สรุปข้อดี

  1. สามารถนำคีย์สำหรับเครื่องลูกข่ายไปเผยแพร่ได้ (แต่ต้องควบคุมสิทธิ์การเข้าถึงเครื่องแม่ข่ายจากภายนอกด้วย) ซึ่งจะช่วยให้ผู้ดูแลรหัสผลิตภัณฑ์ไม่ต้องเหนื่อยกับการต้องวิ่งไปป้อนคีย์ทุก ๆ เครื่อง
  2. ไม่ต้องกังวลเกี่ยวกับการแอบใช้งาน เพราะลูกข่ายต้องเชื่อมต่อกับเม่ข่ายทุก ๆ 180 วัน
  3. ลูกข่ายที่ใช้งาน KMS จะไม่เกี่ยวข้องกับจำนวนคีย์ที่เป็น MAK  สมมุติว่า องค์กรของเรามีสิทธิในการใช้ MAK 500 ครั้ง เครื่องลูกข่ายที่ใช้งาน KMS จะมีเป็นพันเครื่อง ก็จะไม่เพิ่มจำนวนการใช้งานของ MAK แต่อย่างใด
  4. หากในองค์กรมี Active Directory แล้วเครื่องลูกข่าย Join Domain ก็จะได้รับสิทธิในการ Activated โดยอัตดนมัติ

สรุปข้อเสีย

  1. ต้องมีเครื่องแม่ข่าย ที่ทำหน้าที่เป็น KMS ซึ่งเครื่องแม่ข่ายต้องออกอินเตอร์เน็ตได้ และต้องป้องกันการเข้าถึงจากภายนอก
  2. การใช้งานเครื่องแม่ข่ายในครั้งแรก จำนวนเครื่องลูกข่ายที่ร้องขอ KMS ต้องมีจำนวน 25 เครื่องขึ้นไป จึงจะเริ่มกระบวนการ Activated ได้

 

คราวนี้จะอธิบายขั้นตอนการติดตั้ง KMS Server และการสร้าง Key Client ครับ