เปิดใช้งานการค้นหาแคชเนื้อหาจากที่อยู่ IP สาธารณะหลายชุดบน Mac
ถ้าเครือข่ายของคุณใช้ที่อยู่ IP สาธารณะหลายชุดเพื่อเชื่อมต่อกับอินเทอร์เน็ต ซึ่งอาจทำให้แคชเนื้อหาลงทะเบียนโดยใช้ที่อยู่ที่แตกต่างจากที่อยู่ที่ลูกข่ายใช้ในการค้นหา คุณต้องระบุรายการที่อยู่เหล่านั้นกับทั้งแคชเนื้อหาและลูกข่าย รายการเหล่านี้ถูกใช้เพื่อตรวจสอบความเข้ากันได้ของการลงทะเบียนกับคำขอค้นหาที่เกี่ยวข้องกับที่อยู่ IP สาธารณะหลายชุด
ในการหลีกเลี่ยงการกำหนดค่าลูกข่ายด้วยตัวเอง การแคชเนื้อหาจะใช้บันทึก TXT ของ DNS เพื่อเผยแพร่ข้อมูลที่อยู่ IP สาธารณะของลูกข่ายบนเครือข่ายของคุณ บันทึก TXT จะต้องมีการเผยแพร่ในโดเมนการค้นหา DNS เริ่มต้นที่ลูกข่ายของคุณใช้
ด้วย macOS 10.15 ขึ้นไป คุณสามารถระบุที่อยู่ IP เฉพาะที่ชื่นชอบได้เพื่อลดผลกระทบของการแคชเนื้อหาอื่นบนเครือข่ายของคุณ ถ้าไม่มีที่อยู่ IP เฉพาะที่ชื่นชอบระบุอยู่ในบันทึก TXT ลูกข่ายทั้งหมดจะใช้การแคชเนื้อหาใดก็ตามที่มีอยู่
ข้อมูลที่ถูกต้องสำหรับบันทึก TXT ของช่วงที่อยู่ IP เฉพาะสามารถสร้างโดยอัตโนมัติหรือกำหนดด้วยตนเองได้ ไม่ว่าในกรณีใด คุณต้องแก้ไขบันทึก DNS หรือให้การตั้งค่ากับผู้ให้บริการ DNS ของคุณเพื่อสร้างหรือแก้ไขบันทึก TXT ในไฟล์โซน โปรดทราบว่าคุณไม่สามารถสร้างบันทึก TXT ได้โดยอัตโนมัติสำหรับช่วงที่อยู่ IP เฉพาะที่ชื่นชอบ คุณสามารถสร้างช่วงที่อยู่เหล่านี้ได้ด้วยตนเองเท่านั้น
หมายเหตุ: บันทึกเหล่านี้มีความจำเป็นเมื่อใช้กับเครือข่ายภายในของคุณเท่านั้น DNS ภายนอกไม่จำเป็นต้องใช้บันทึกเพิ่มเติม
กำหนดค่าลูกข่ายการแคชเนื้อหาเพื่อรองรับที่อยู่ IP หลายชุด
บน Mac ของคุณ ให้เลือกเมนู Apple > การตั้งค่าระบบ แล้วคลิก การแชร์ จากนั้นเลือก การแคชเนื้อหา
กดปุ่ม Option ค้างไว้ แล้วคลิก ตัวเลือกขั้นสูง
คลิก ลูกข่าย
คลิกเมนู “เครือข่ายในพื้นที่ของฉัน” ที่แสดงขึ้น แล้วเลือก “ใช้ที่อยู่ IP สาธารณะแบบกำหนดเอง”
คลิกปุ่มเพิ่ม แล้วป้อนช่วงที่อยู่ IP สาธารณะ
ทำซ้ำกับช่วงที่อยู่ IP ใดๆ ที่คุณต้องการป้อนเพิ่มเติม
สร้างบันทึกข้อความ DNS ที่อธิบายที่อยู่ IP สาธารณะที่คุณป้อน
คุณสามารถใช้บริการการแคชเนื้อหาเพื่อสร้างบันทึกข้อความหรือสร้างด้วยตัวเอง (มีการอธิบายรูปแบบอยู่ด้านล่าง) ในการสร้างบันทึกข้อความ:
คลิกปุ่มการกำหนดค่า DNS
เลือกประเภทเซิร์ฟเวอร์ DNS (BIND หรือ Windows) ของคุณ
คัดลอกบันทึกข้อความที่สร้างแล้ววางลงในไฟล์ข้อความเพื่อให้สามารถใช้งานได้ในภายหลัง (เมื่อเพิ่มไปยังไฟล์โซน DNS)
คลิก เสร็จสิ้น
เมื่อคุณกำหนดค่าเสร็จเรียบร้อย ให้คลิก ตกลง
เพิ่มบันทึกข้อความไปยังไฟล์โซน DNS ที่เป็นทางการของโดเมน
รูปแบบบันทึก TXT ของ DNS
ไวยากรณ์ในการระบุบันทึก TXT และอักขระที่ไม่ใช่ ASCII ในบันทึก TXT จะแตกต่างกันไปตามเซิร์ฟเวอร์ DNS ของคุณ ตัวอย่างที่แสดงอยู่นี้เป็นเพียงภาพประกอบเท่านั้น
บันทึกข้อความ DNS สำหรับการแคชเนื้อหามีรูปแบบเดียวกับบันทึก DNS-SD TXT (คู่คีย์-ค่า):
name._tcp 10800 IN TXT "[prs|prn|fss|fsn]=addressRanges"
ใช้คีย์ prs และ prn สำหรับช่วงที่อยู่ IP สาธารณะ ใช้คีย์ fss และ fsn สำหรับช่วงที่อยู่ IP เฉพาะที่ของแคชเนื้อหาที่ชื่นชอบ
ทั้งที่อยู่ IPv4 และ IPv6 สามารถใช้ได้ แต่มีเพียง IPv4 เท่านั้นที่ระบบรองรับ
ตัวอย่างแต่ละตัวอย่างต่อไปนี้ระบุชุดเดียวกันของช่วงที่อยู่ IP สองช่วง: ช่วงหนึ่งเริ่มต้นที่ 17.53.22.2 และสิ้นสุดที่ 17.53.22.254 ส่วนอีกชุดหนึ่งมีที่อยู่ IP เดียวคือ 93.184.216.119 ความแตกต่างระหว่างตัวอย่างทั้งสองคือ ตัวอย่างแรกใช้คีย์ prs ส่วนตัวอย่างที่สองใช้คีย์ prn
_aaplcache._tcp 10800 IN TXT "\x2aprs=17.53.22.2-17.53.22.254,93.184.216.119"
_aaplcache._tcp 10800 IN TXT "\x12prn=\x24\x11\x35\x16\x02\x11\x35\x16\xfe\x14\x5d\xb8\xd8\x77"
คีย์ใช้รูปแบบที่แตกต่างกันสำหรับช่วงที่อยู่ IP ที่ระบุอยู่ในค่า:
prs หรือ fss: ค่าของคีย์ prs หรือ fss จะเป็นลำดับของช่วงที่อยู่ IP ที่คั่นด้วยเครื่องหมายลูกน้ำในรูปแบบการนำเสนอ (จุด ASCII) ไวยากรณ์นี้ง่ายต่อการกำหนดค่า หนึ่งช่วงจะประกอบด้วยที่อยู่ IP ชุดเดียวหรือที่อยู่ IP สองชุดซึ่งคั่นด้วยเครื่องหมายขีดสั้น
prs หรือ fsn: ค่าของคีย์ prn หรือ fsn จะเป็นลำดับของช่วงที่อยู่ IP แบบต่อกันในระบบเลขฐานสองที่แสดงลำดับไบต์ของเครือข่าย ไวยากรณ์นี้มีไว้สำหรับลำดับของช่วงที่ยาวเกินไปสำหรับบันทึก DNS เมื่อมีการระบุในรูปแบบการนำเสนอ ช่วงแต่ละช่วงในลำดับนำหน้าด้วยไบต์ที่ระบุเฉพาะประเภทของช่วงที่ตามมา:
0x14 แสดงถึงที่อยู่ IPv4 ชุดเดียว
0x16 แสดงถึงที่อยู่ IPv6 ชุดเดียว
0x24 แสดงถึงช่วงเริ่มต้นและช่วงสิ้นสุดของที่อยู่ IPv4
0x26 แสดงถึงช่วงเริ่มต้นและช่วงสิ้นสุดของที่อยู่ IPv6
คุณสามารถรวมหลายบันทึกเข้าด้วยกันเป็นห่วงโซ่ได้ ถ้าคุณทำเช่นนั้น ให้ตั้งชื่อบันทึกแรกเป็น _aaplcache._tcp
และบันทึกลำดับต่อไปตั้งแต่ _aaplcache1._tcp
จนถึง _aaplcache24._tcp
โดยมีจำนวนบันทึกที่รวมเข้าเป็นห่วงโซ่ได้สูงสุด 25 รายการ
ในการรักษาความเข้ากันได้กับลูกข่ายที่ใช้ macOS 10.14 หรือก่อนหน้า ให้วางบันทึกที่ใช้คีย์ prs หรือ prn ก่อนบันทึกใดๆ ที่ใช้คีย์ fss หรือ fsn
รวมบันทึกเข้าด้วยกันเป็นห่วงโซ่โดยใส่เครื่องหมายบอกความต่อเนื่องไปที่บันทึก TXT ทั้งหมด ยกเว้นบันทึกสุดท้าย
คุณสามารถผสานไวยากรณ์ prs และ prn ระหว่างบันทึกแต่ละรายการในห่วงโซ่ได้ เมื่อใช้ไวยากรณ์ prs ให้ผนวก “,more” ไปที่ท้ายค่าบันทึก เมื่อใช้ไวยากรณ์ prn ให้ผนวก “+” (0x2b) ไปที่ท้ายค่าบันทึก บันทึกแรกที่ไม่มีเครื่องหมายบอกความต่อเนื่องดังกล่าวจะสิ้นสุดห่วงโซ่
บันทึกที่รวมเข้าด้วยกันเป็นห่วงโซ่จะถูกแก้ไขในแบบชุดงาน ซึ่งชุดงานหนึ่งจะมีบันทึกห้ารายการในการแก้ไขแต่ละครั้ง โดยที่ _aaplcache._tcp และ _aaplcache1._tcp จนถึง _aaplcache4._tcp จะถูกแก้ไขในแบบขนานเป็นลำดับแรก และถ้าบันทึกทั้งหมดจบด้วยเครื่องหมายบอกความต่อเนื่อง ระบบจะแก้ไข _aaplcache5._tcp จนถึง _aaplcache9._tcp เป็นลำดับต่อไป และเป็นเช่นนี้ไปเรื่อยๆ
นี่เป็นตัวอย่างของห่วงโซ่บันทึกสามห่วงโซ่:
_aaplcache._tcp 10800 IN TXT "\x2bprs=17.250.1.1,17.250.2.1-17.250.2.254,more"
_aaplcache1._tcp 10800 IN TXT "\x0eprn=\x24\x11\xfa\x03\x01\x11\xfa\x03\xfe+"
_aaplcache2._tcp 10800 IN TXT "\x0eprs=17.250.4.5"
ไวยากรณ์ในการระบุบันทึก TXT และอักขระที่ไม่ใช่ ASCII ในบันทึก TXT อาจแตกต่างกันไปตามเซิร์ฟเวอร์ DNS ของคุณ เซิร์ฟเวอร์บางเซิร์ฟเวอร์ไม่จำเป็นต้องมีไบต์ความยาวนำหน้า (\x2a, \x12, \x2b, \x0e และ \x0e ในตัวอย่าง ตามลำดับ) เพราะว่าเซิร์ฟเวอร์เหล่านั้นจะใส่ไบต์ดังกล่าวไว้ข้างหน้าโดยอัตโนมัติ
ตัวอย่างที่ 1
ตัวอย่างนี้จะแสดงสถานการณ์จำลองที่ต้องใช้ทั้งบันทึก prs หรือ prn และบันทึก fss หรือ fsn
สมมติว่าคุณมีบันทึก DNS TXT ที่มีชื่อว่า “_aaplcache._tcp” อยู่แล้วหนึ่งบันทึก โดยบันทึกนี้มีค่าเป็น “prs=203.0.113.10-203.0.113.19” และมีการใช้งานการแคชเนื้อหาสามครั้งกับที่อยู่เฉพาะ 10.0.0.30, 10.1.0.30 และ 10.2.0.30 โดยสองที่อยู่แรกให้บริการเฉพาะเนื้อหาที่แชร์เท่านั้น ในขณะที่ที่อยู่สุดท้ายให้บริการทั้งเนื้อหาที่แชร์และเนื้อหา iCloud
ในการป้องกันไม่ให้ลูกข่ายใช้การแคชเนื้อหาที่ไม่ได้รับอนุญาต คุณสามารถผนวก ",more” ไปยังบันทึกนั้นแล้วเพิ่มบันทึกที่สองได้ ดังนี้:
_aaplcache._tcp prs=203.0.113.10-203.0.113.19,more
_aaplcache1._tcp fss=10.0.0.30,10.1.0.30,10.2.0.30
ตราบใดที่แคชเนื้อหาอย่างน้อยหนึ่งตัวจากสามรายการทำงานอยู่ ลูกข่ายที่ใช้ macOS 10.15, iOS 13, iPadOS 13 หรือ tvOS 13 ขึ้นไปที่มองหาเนื้อหาที่แชร์จะใช้แคชเนื้อหาเหล่านั้นโดยเฉพาะ
ถ้าเซิร์ฟเวอร์ทั้งสามตัวออฟไลน์ ลูกข่ายที่มองหาเนื้อหาที่แชร์จะใช้การแคชเนื้อหาใดก็ตามที่มี
ตราบใดที่ 10.2.0.30 ทำงานอยู่ ลูกข่ายที่ใช้ macOS 10.15, iOS 13, iPadOS 13, tvOS 13 ขึ้นไปที่มองหาเนื้อหา iCloud จะใช้เซิร์ฟเวอร์เหล่านี้โดยเฉพาะ ถ้าเซิร์ฟเวอร์นี้ออฟไลน์ ลูกข่ายที่มองหาเนื้อหา iCloud จะใช้การแคชเนื้อหาใดก็ตามที่มี
อุปกรณ์ที่ใช้งาน macOS 10.14 หรือก่อนหน้า หรือ iOS 12 หรือก่อนหน้าจะใช้การแคชเนื้อหาใดๆ ที่มีโดยไม่จำกัดเพียงแค่สามรายการนี้เท่านั้น
ตัวอย่างที่ 2
ตัวอย่างนี้จะแสดงสถานการณ์จำลองที่ไม่ต้องใช้บันทึก prs หรือ prn
สมมติว่าคุณมีที่อยู่ IP สาธารณะเพียงแค่หนึ่งรายการเท่านั้น และคุณไม่ได้ใช้คุณสมบัติบันทึก DNS TXT เลย แต่คุณมีการแคชเนื้อหาบางรายการอยู่ในเครือข่ายย่อยที่สำรองไว้สำหรับเครื่องเซิร์ฟเวอร์ (192.168.50/24)
ในการป้องการการแคชเนื้อหาที่ไม่ได้รับอนุญาต คุณสามารถตั้งค่าบันทึกได้ ดังนี้:
_aaplcache._tcp fss=192.168.50.1-192.168.50.254
ตราบใดที่มีการแคชเนื้อหาอย่างน้อยหนึ่งรายการในช่วงสำหรับประเภทของลูกข่ายที่การแคชเนื้อหามองหา (shared หรือ iCloud) ลูกข่ายที่ใช้ macOS 10.15, iOS 13, iPadOS 13, tvOS 13 ขึ้นไปที่มองหาเนื้อหาที่แชร์จะใช้การแคชเนื้อหานี้โดยเฉพาะ
เพิ่มบันทึก TXT ไปที่ไฟล์โซน DNS
เพิ่มบันทึก TXT อย่างน้อยหนึ่งรายการไปที่ไฟล์โซนสำหรับโดเมนเฉพาะที่ของคุณบนเซิร์ฟเวอร์ DNS ของคุณ เพื่มบันทึก TXT ของ DNS ไปยังโซนที่:
เป็นทางการของโดเมน
ตรงกับโดเมนการค้นหาเริ่มต้นของลูกข่ายบนเครือข่าย
ตัวอย่างเช่น ถ้าองค์กรของคุณให้บริการ DNS สำหรับโดเมนของคุณเอง และเป็นผู้มีอำนาจในการอนุญาตชื่อโฮสต์สำหรับ example.com ให้คุณใส่บันทึก TXT การแคชไว้ในไฟล์โซนของ example.com
สิ่งสำคัญ: ถ้าคุณไม่ได้โฮสต์บริการ DNS อย่างเป็นทางการสำหรับโดเมนของคุณ คุณไม่สามารถเพิ่มบันทึก TXT ด้วยตัวคุณเองได้ ให้ประสานงานกับผู้ให้บริการ DNS ของคุณเพื่อขอให้เพิ่มบันทึก TXT ที่จัดให้
ถ้าคุณใช้ BIND9 DNS ให้คัดลอกบันทึก TXT ที่สร้าง แล้ววางลงในไฟล์โซน DNS ของคุณ
สำหรับ DNS ที่อิงตาม BIND9 บน Linux ไฟล์นี้จะอยู่ในไดเรกทอรี /etc/bind/
และชื่อไฟล์โซนจะถูกกำหนดใน /etc/bind/named.conf
(ส่วนใหญ่จะเป็น “db.example.com.”)
ถ้าคุณใช้ Windows DNS ให้ปฏิบัติตามวิธีใดวิธีหนึ่งต่อไปนี้:
ถ้าคุณสร้างบันทึกข้อความโดยใช้บริการการแคชเนื้อหา: แทนที่ตัวแปร ZoneName ในคำสั่งที่สร้างด้วยชื่อโซน DNS ของเครือข่าย แล้วเรียกใช้คำสั่งบนคอมพิวเตอร์ Windows DNS ของคุณ
ถ้าคุณสร้างบันทึกข้อความด้วยตัวเอง: ป้อนข้อมูลบันทึก TXT ด้วยตัวเองโดยใช้เครื่องมือการดูแลระบบของ Windows Server