ฉันมีปัญหาเดียวกัน แต่มีการส่งออก Samba 4 และไคลเอนต์ Windows 7 เป็นข้อผิดพลาดฝั่งไคลเอ็นต์อย่างแน่นอน หลังจากแก้ไขปัญหาอย่างละเอียดฉันเพียงแค่เพิ่มคีย์รีจิสทรีและมันก็ทำงานได้อย่างมีเสน่ห์หลังจากกดปุ่ม F5 หนึ่งครั้ง
ต้องเพิ่มคีย์รีจิสทรีนี้เท่านั้น:
DirectoryCacheLifetime [DWORD] = 0
HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Services \ Lanmanworkstation \ Parameters
ค่าที่กล่าวถึงในบทความนี้ดูเหมือนจะไม่ถูกต้องเนื่องจากไม่มีค่ารีจิสทรีเหล่านี้อีกต่อไป ฉันเชื่อว่าเวลาหมดอายุเริ่มต้นของแคชคือ 10 นาทีแทนที่จะเป็น 10 วินาที http://technet.microsoft.com/en-us/library/ff686200%28v=ws.10%29.aspx
UPDATE (20/04/2015)
หากคุณสนใจที่จะใช้สิ่งนี้บนฝั่งเซิร์ฟเวอร์โดยไม่จำเป็นต้องกำหนดค่าไคลเอนต์คุณต้องเพิ่มบรรทัดต่อไปนี้ในส่วน [global] ภายใน smb.conf:
โปรโตคอลสูงสุดของเซิร์ฟเวอร์ = SMB2_02
สิ่งนี้จะ จำกัด เซิร์ฟเวอร์ลงไปที่โปรโตคอล SMB2 มากกว่า SMB3 เริ่มต้นซึ่งมาพร้อมกับ Samba 4 แต่จะลดความเร็วในการถ่ายโอน ฉันเชื่อว่าโปรโตคอล SMB2_02 เป็นรุ่นแรก ๆ ของ SMB2 ที่ไม่รองรับการแคชดังนั้นจึงควรใช้งานได้ในกรณีนี้
อย่างไรก็ตามฉันสังเกตเห็นว่าลูกค้าบางรายยังคงประสบปัญหาการแคชและต้องเปลี่ยนรีจิสทรีด้วยตนเองตามที่อธิบายไว้ข้างต้น
น่าเสียดายที่ไม่มีเอกสารเกี่ยวกับรุ่นโปรโตคอล SMB มากมาย นี่คือสิ่งที่ man page สำหรับ smb.conf พูดเกี่ยวกับสิ่งนี้:
การอ้างอิง: https://www.samba.org/samba/docs/man/manpages-3/smb.conf.5.html#SERVERMAXPROTOCOL