ฉันมีสถานการณ์ต่อไปนี้: สองไซต์ แต่ละแห่งมีเครือข่ายของตัวเอง (เครือข่ายย่อยส่วนตัวที่ไม่ทับซ้อนกัน) เชื่อมต่อด้วย VPN แบบไซต์ต่อไซต์ (เลเยอร์ 3, Wireguard) เส้นทางไปยังไซต์อื่นได้รับการกำหนดค่าในเกตเวย์เริ่มต้นและกระจายไปยังไคลเอนต์ผ่าน DHCP การรับส่งข้อมูล IP (v4 และ v6) เดินทางระหว่างเครือข่ายได้ดี
บนเกตเวย์ VPN ทั้งสอง avahi-ภูต ทำงานเป็น mDNS repeater (enable-reflector=ใช่
) ระหว่างเครือข่ายท้องถิ่นและช่องสัญญาณ wireguard และ หัวเราะเยาะ ถูกตั้งค่าเพื่อส่งต่อ แพ็กเก็ตมัลติคาสต์ SSDP ที่กำหนดเส้นทางได้ (ส่งไปยัง 239.255.255.250
, ff05::ค
, ff08::ค
) จากเครือข่ายท้องถิ่นไปยังอุโมงค์ wireguard และในทางกลับกัน วิธีนี้ใช้ได้ดี ทั้งแพ็กเก็ต MDNS และ SSDP เดินทางจากเครือข่ายหนึ่งไปยังอีกเครือข่ายหนึ่ง ฉันตรวจสอบกับ Wireshark แล้ว
ใน Windows 10 (21H2) การจำแนกชื่อ mDNS ของ .local Domains ทำงานได้ดีในทั้งสองเครือข่าย ต้องขอบคุณการสะท้อนของ avahi-daemonใน VLC บน Windows อุปกรณ์มัลติมีเดียจากทั้งสองเครือข่ายจะพบ mDNS เช่นเดียวกับ UPnP (SSDP) และสามารถเข้าถึงได้ อย่างไรก็ตาม Windows Explorer จะแสดงเฉพาะอุปกรณ์จากเครือข่ายท้องถิ่นในมุมมองเครือข่าย
ฉันตรวจสอบและลองทำสิ่งต่อไปนี้แล้ว:
- บริการ Function Discovery Resource Publication (FDResPub) เปิดใช้งานและทำงานอยู่
- บริการโฮสต์ผู้ให้บริการการค้นหาฟังก์ชัน (fdPHost) เปิดใช้งานและทำงานอยู่ (แม้ว่าฉันจะเข้าใจว่าสิ่งนี้ไม่จำเป็นสำหรับการค้นหาบริการ)
- การค้นพบเครือข่ายและการแชร์ไฟล์และเครื่องพิมพ์เปิดอยู่สำหรับโปรไฟล์เครือข่ายที่ใช้งานอยู่ (ส่วนตัว) ในการตั้งค่าการแชร์ขั้นสูง
- ฉันปิดใช้งานไฟร์วอลล์ของ Windows อย่างสมบูรณ์สำหรับการทดสอบ (ไม่ได้ติดตั้งผลิตภัณฑ์ไฟร์วอลล์อื่นๆ)
เมื่อกด Ctrl+F5 ในมุมมองเครือข่ายใน Windows Explorer ฉันเห็นคำขอ SSDP M-SEARCH ถูกส่งไปยังที่อยู่แบบหลายผู้รับ 239.255.255.250
และ ff02::ค
. ที่อยู่ IPv6 ff02::ค
เป็นที่อยู่แบบหลายผู้รับแบบเชื่อมโยงภายในเครื่องและไม่ได้กำหนดเส้นทางไปยังเครือข่ายอื่น แต่ส่งคำขอไปยัง 239.255.255.250
ไปถึงเครือข่ายอื่นและคำตอบจากอุปกรณ์ที่นั่นไปถึงเครือข่ายท้องถิ่น แต่อุปกรณ์เหล่านี้จะไม่แสดงใน Windows Explorer
ฉันพบว่า เอกสารประกอบของ Windows UPnP API. มีเนื้อหาเกี่ยวกับ การตั้งค่าคอนฟิกูเรชัน ที่สามารถเปลี่ยนแปลงได้ด้วยคีย์รีจิสทรี เส้นทางรีจิสทรีที่กล่าวถึงส่วนใหญ่มีอยู่ แต่ไม่มีการตั้งค่าคีย์ใด ๆ ที่กล่าวถึง กุญแจ ดาวน์โหลดขอบเขต
และ รับขอบเขต
ทั้งค่าเริ่มต้นเป็น 1
ซึ่งอนุญาตให้ค้นพบโฮสต์ในเครือข่ายย่อยส่วนตัว ฉันยังเพิ่มคีย์ทั้งสองลงในรีจิสทรี (เป็น DWORD 32 บิต) โดยตั้งค่าเป็น 1 และรีบูตเครื่อง Windows อย่างชัดเจน แต่ Windows Explorer ยังคงแสดงเฉพาะคอมพิวเตอร์เครื่องอื่นจากเครือข่ายย่อยเดียวกัน
เดอะ UPnPDeviceFinder สามารถใช้จาก PowerShell เพื่อแสดงรายการอุปกรณ์ UPnP (เครดิต):
$ssdpFinder = วัตถุใหม่ -ComObject 'UPnP.UPnPDeviceFinder'
$ssdpFinder.FindByType('ssdp:ทั้งหมด', 0)
นี้ ทำ ค้นหาอุปกรณ์ UPnP จากทั้งเครือข่ายท้องถิ่นและระยะไกลด้วย ดาวน์โหลดขอบเขต
และ รับขอบเขต
ไม่ระบุในรีจิสทรี อย่างไรก็ตาม คำขอ IPv6 SSDP M-SEARCH ถูกส่งไปที่ ff02::ค
แม้แต่กับ ดาวน์โหลดขอบเขต
และ รับขอบเขต
ทั้งตั้งค่าอย่างชัดเจนเป็น 1
และด้วยเหตุนี้ จะต้องไม่ถูกกำหนดเส้นทางไปยังเครือข่ายอื่น.
จึงเหลือคำถามอยู่สองข้อ:
- Windows 10 สามารถกำหนดค่าได้อย่างไรเพื่อให้ Windows Explorer แสดงอุปกรณ์จากเครือข่ายอื่นที่ค้นพบผ่าน WS-Discovery / UPnP / SSDP ในมุมมองเครือข่าย
- Windows 10 (UPnPDeviceFinder, Windows Explorer) สามารถกำหนดค่าให้ออกอากาศคำขอ IPv6 SSDP M-SEARCH ได้อย่างไร
ff05::ค
หรือ ff08::ค
แทน ff02::ค
เพื่อให้ข้อความแบบหลายผู้รับถูกส่งไปยังเครือข่ายอื่น?