ฉันแน่ใจว่าปัญหานี้ต้องได้รับการแก้ไขเป็นพันๆ ครั้ง แต่ดูเหมือนว่าฉันทำอะไรไม่ได้ผล
สรุป:
บนไคลเอนต์ Windows 10 ที่ใช้ file explorer และไคลเอนต์ OpenVPN Connect 3.3.4 ไม่สามารถเข้าถึง NAS ผ่าน SMB ที่เซิร์ฟเวอร์ OpenVPN (2.4.11 arm-openwrt-linux-gnu) ทำงานอยู่
ทำงาน:
- สามารถเชื่อมต่อกับ SMB share ผ่าน Windows 10 file explorer เมื่ออยู่บน LAN (ไม่ใช้ OpenVPN) โดยใช้การเข้าถึงแบบแขก (ไม่มีข้อความแจ้งการเข้าสู่ระบบของผู้ใช้)
- ไคลเอนต์ OpenVPN Connect เชื่อมต่อกับเซิร์ฟเวอร์ OpenVPN และสามารถเข้าถึงเซิร์ฟเวอร์เว็บ LAN เครื่อง ping ฯลฯ
- สามารถเชื่อมต่อกับพอร์ต 445 บน NAS ผ่านการเชื่อมต่อ TCP แบบ Raw
- สามารถเข้าถึงไฟล์ NAS ผ่าน SMB โดยใช้ Android OpenVPN Connect และเบราว์เซอร์ไฟล์ SMB โดยใช้การเข้าถึงของแขก SMB
ไม่ทำงาน:
- กำลังเชื่อมต่อกับ SMB share จากตัวสำรวจไฟล์ Windows 10 แจ้งให้ผู้ใช้/ผ่าน (ไม่ควรแม้ว่าจะระบุว่าการเชื่อมต่อสำเร็จในระดับ TCP เป็นอย่างน้อย) ใช้ชื่อผู้ใช้อะไรก็ล้มเหลว
พยายามบนไคลเอนต์ Windows 10 (รวมถึงชุดค่าผสมต่างๆ):
- ทำให้อะแดปเตอร์ไคลเอ็นต์ OpenVPN สร้างเป็นเครือข่ายส่วนตัวผ่าน gpedit.msi
- เปิดการแชร์ไฟล์และการค้นหาเครือข่ายสำหรับเครือข่ายสาธารณะ
ลองบน NAS:
- สร้างผู้ใช้ SMB แล้วลองเข้าสู่ระบบด้วยสิ่งนั้น
- ในการตั้งค่าเซิร์ฟเวอร์ OpenVPN ให้บังคับทราฟฟิกทั้งหมดผ่าน VPN (เพื่อให้แน่ใจว่า Windows ไม่ได้ข้าม VPN เมื่อพยายามสร้างการเชื่อมต่อ SMB)
- ตรวจสอบให้แน่ใจว่าปิดใช้งาน SMBv1 แล้ว
ดังนั้น ดูเหมือนว่าปัญหาในการกำหนดค่าไคลเอนต์ OpenVPN หรือ Windows กำลัง "ฉลาด" และ "ปกป้อง" ฉันอยู่ แต่ไม่มีอะไรที่ฉันทำทำให้ฉันสามารถเข้าถึงการแชร์ SMB บน NAS ผ่าน OpenVPN
อัปเดต: ปัญหา Windows แน่นอน บนเครื่องไคลเอ็นต์ Windows เครื่องเดียวกัน ให้ลองใช้ Linux VM โดยเชื่อมต่อ OpenVPN ใน เจ้าภาพ และ VM โดยใช้การเชื่อมต่อนี้ จากนั้นในตัวจัดการไฟล์ (KDE Dolphin) การเข้าถึง smb://192.168.0.1 ก็ไม่มีปัญหา เหตุใดจึงไม่ทำงานในโฮสต์ Windows ทำไมมันถามหา user/pass อยู่เรื่อยๆ?
อัปเดต: ตามการวินิจฉัยของ Windows เห็นได้ชัดว่า "สถานะการวินิจฉัย SMBHelperClass LowHealth 1 [DS_CONFIRMED] HRESULT 0 [64 ms] คำอธิบาย: บัญชีผู้ใช้ของคุณไม่ได้รับอนุญาตให้เข้าถึง "ดิสก์" ซึ่งไร้สาระ สามารถเข้าถึงได้ในฐานะผู้เยี่ยมชมด้วย ไม่มีผู้ใช้/ผ่าน