Mount CIFS Host ไม่ทำงาน


97

ฉันมีปัญหากับจุดเชื่อมต่อที่กำหนดค่าไว้ก่อนหน้านี้ มันแสดงโฟลเดอร์ แต่การเมานต์หายไปและเก็บ "?" ค่าสำหรับขนาดสิทธิ์ ฯลฯ

ดังนั้นฉันพยายามที่จะนับใหม่โดยใช้ cifs และคำสั่งเดียวกันจากก่อนหน้านี้:

mount -t cifs //nas.domain.local/share /mnt/archive

แต่ฉันได้รับข้อผิดพลาด:

Host is down.

ถ้าฉัน ping โดเมนหรือ IP ฉันได้รับการแก้ไขที่เหมาะสมและฉันยังเชื่อมต่อโดยใช้ smbclient โดยไม่มีปัญหา

 ping nas.domain.local
 ping ip
 smbclient //nas.domain.local/share

ฉันมองไปรอบ ๆ แต่ไม่สามารถหาคำตอบที่มั่นคง ความคิดใด ๆ


ทำ nslookup nas.domain.local มันเท่ากับ ip ที่คุณ ping หรือไม่
โทนี่โรท

ใช่ IP ที่ส่งคืนนั้นถูกต้อง ฉันสามารถเข้าถึงเว็บอินเตอร์เฟสของ NAS โดยใช้ IP และโดเมนได้เช่นกัน ฉันสามารถเข้าถึงข้อมูลในแล็ปท็อปของฉันโดยใช้โดเมนหรือ IP เพื่อให้ดูเหมือนว่ามีบางปัญหาอื่น ๆ ที่เล่นที่นี่
เควิน

6
เพิ่ม--verboseสวิตช์ไปยังคำสั่ง mount ของคุณโพสต์ข้อผิดพลาด / ผลลัพธ์ที่เกี่ยวข้อง
Zoredache

บริการยังทำงานอยู่บนเซิร์ฟเวอร์ระยะไกลหรือไม่ มันเป็น Linux หรือ Windows Server? ถ้าเป็น Linux ... ตรวจสอบว่าบริการกำลังทำงานอยู่ ตรวจสอบให้แน่ใจว่าไม่ได้ทำการเปลี่ยนแปลงกับไฟร์วอลล์ ... ถ้าเป็นหน้าต่าง ... จากนั้นคุณอาจจะพิจารณาการรีบูต ...
Jay

1
@Zoredache เพิ่ม-vvvสำหรับละเอียดมากขึ้นแม้ข้อมูล!
Serge Stroobandt

คำตอบ:


108

นี่อาจเป็นเพราะโปรโตคอลไม่ตรงกัน ในปี 2560 Microsoft ได้ทำการแก้ไข Windows Servers และแนะนำให้ปิดการใช้งานโปรโตคอล SMB1

นับจากนี้ไป mount.cifs อาจมีปัญหากับการเจรจาโปรโตคอล

ข้อผิดพลาดที่แสดงคือ "Host is down" แต่เมื่อคุณทำการดีบักด้วย:

smbclient -L <server_ip> -U <username> -d 256

คุณจะได้รับข้อผิดพลาด:

protocol negotiation failed: NT_STATUS_CONNECTION_RESET

เพื่อเอาชนะการใช้ mount หรือ smbclient ด้วยโปรโตคอลที่ระบุ

สำหรับ smbclient: เพิ่ม -m SMB2 (หรือ SMB3 สำหรับโปรโตคอลรุ่นใหม่กว่า)

smbclient -L <server_ip> -U <username> -m SMB2

หรือเมานต์: เพิ่มvers = 2.0 (หรือเวอร์ชั่น = 3.0 หากคุณต้องการใช้โปรโตคอลรุ่น 3)

mount -t cifs //<server_ip>/<share> /mnt/<mountpoint> -o vers=2.0

NAS ของฉันใช้งานบน Linux เมื่อฉันลองวิธีการแก้ปัญหาของคุณsmbclient -L 192.168.1.47 -U admin -d 256ทุกอย่างทำงานได้อย่างสมบูรณ์แบบ แต่เมื่อฉันลองmount -t cifs -o username=aa,password=bb,uid=olivier //192.168.1.47/partagefichiers/ /mnt/PartageFichiersมันก็พูดต่อไปเรื่อย ๆmount error(112): Host is down
Olivier Pons

3
คุณพยายามระบุโปรโตคอลตามที่ฉันอธิบายในคำตอบนี้หรือไม่? ลองเพิ่ม vers = 2.0 หรือ vers = 3.0 หรือ vers = 1.0 (ขึ้นอยู่กับการตั้งค่า NAS นี้) โดยการเพิ่ม: mount -t cifs -o ชื่อผู้ใช้ = aa, รหัสผ่าน = bb, uid = olivier, vers = 2.0 //192.168.1.47/ partagefichiers / / mnt / PartageFichiers
Marcin P

11
แปลก. หน้าคนบอกว่าvers=1.0เป็นค่าเริ่มต้น vers=1.0แต่ฉันไม่สามารถรับไดรฟ์เครือข่ายของฉันที่จะติดก่อนที่ผมจะผ่านไปอย่างชัดเจน
Hubro

เป็นไปได้หรือไม่ที่จะเปลี่ยนแปลงสิ่งเหล่านั้นบนหน้าต่าง ฉันมีซอฟต์แวร์บางส่วนที่ส่งต่อตัวเลือกนี้เพื่อ cif และไม่ทราบตัวเลือก vers ดังนั้นจึงไม่ถูกส่งต่อ
Andrew Savinykh

1
ในไฟล์ fstab มันจะเป็นอย่างนั้น//<server_ip>/<share> /media/<mountpoint> cifs username=<username>,password=<password>,iocharset=utf8,sec=ntlm,vers=1.0 0 0
PRIHLOP

43

บน archlinux หลังจากอัปเดตแพ็คเกจล่าสุดฉันต้องเพิ่ม vers = 1.0 ในตัวเลือกการเมานท์ ฉันกำลังเชื่อมต่อกับกล่อง centos 5 เก่าและจนถึงเมื่อวานฉันสามารถเชื่อมต่อได้โดยไม่ต้องระบุหมายเลขรุ่นอย่างชัดเจน

CIFS ในเคอร์เนล linux 4.13 เริ่มต้นที่ SMB 3.0 และในเคอร์เนล 4.14 จะพยายาม 2.1 และสูงกว่า ดูบันทึกการเปลี่ยนแปลงนี้


ขอบคุณฉันมีปัญหาเดียวกัน แต่ฉันไม่รู้ว่าการอัปเกรดใดที่ทำให้จำเป็น
เบ็น

นี่เป็นปัญหาที่แปลกจริงๆ สิ่งเดียวกันเกิดขึ้นกับฉันในวันนี้ ฉันพยายามลดระดับ smbclient และ libwbclient แต่ปัญหายังคงอยู่ อาจมีบางสิ่งในเซิร์ฟเวอร์เปลี่ยนไป ฉันคิดว่ามันเป็น CentOS ด้วยฉันหวังว่าจะไม่ใช่ CentOS 5! ขอขอบคุณสำหรับการแก้ปัญหา :)
jPlatte

2
ฉันต้องทำสิ่งนี้สำหรับระบบ Fedora 26 ของฉันที่ใช้เมานต์บน Synology NAS DS413j ของฉันตอนนี้ / etc / fstab ของฉันมี ", vers = 1.0" ที่ส่วนท้ายของสตริงตัวเลือกและไม่มีข้อความแสดงข้อผิดพลาด 'Host is down'
Neek

1
ฉันได้รับการอัพเกรดจาก Ubuntu 16.04 เป็น 18.04 (LTS) ซึ่งทำให้ mount ของ Lacie NAS ของฉันพัง นี้ได้เคล็ดลับสำหรับฉัน.
YoungFrog

14

USB-stick ที่ Fritz NAS แสดงให้เห็นว่า "Host Down" สำหรับ Ubuntu 17.10:

การกำหนดเวอร์ชัน ( vers=1.0) ทำงาน - นี่คือสตริงเต็ม:

sudo mount -t cifs -o vers=1.0,_netdev,username=<user>,password=<pwd>,uid=1000,gid=1000  //192.168.178.1/fritz.nas <local mountpoint>

3
ทุกอย่างทำงานจากภายใน/etc/fstabcifs mount; หลังจากapt upgradeบน Ubuntu 16.04 ของฉันสิ่งนี้เกิดขึ้น การระบุการ-o vers=1.0ทำเคล็ดลับ ขอบคุณ
equivalent8

7

ปัญหาที่คล้ายกันหลังจากอัปเกรดเป็น Ubuntu 17.10 พร้อมกับ Diskstation ของควายตัวเก่า แก้ไขโดยการเพิ่ม / etc / fstab ตัวเลือก "vers = 1.0":

// myWDhostname / partage / media / Partage cifs guest, vers = 1.0 0 0


ทุกคนที่ใช้ Ubuntu 18.04 เพิ่ม,vers=1.0ตัวเลือกในการแก้ปัญหาเมื่อใช้การสอนที่จัดทำโดยJi mที่ubuntuhandbook.org/index.php/2014/08/ …
Geppettvs D'Constanzo

ฉันมีปัญหาเดียวกันและสามารถแก้ไขได้โดยใช้เวอร์ชัน 1 ในโปรโตคอล แต่ฉันมีอัตราการส่งข้อมูลที่ต่ำมาก ฉันสงสัยว่าอาจเป็นเพราะรุ่น 1 ดังนั้นการใช้เวอร์ชันอื่นจะดีกว่า
Ben

5

ขออภัยถ้านี่เป็นการตอบกลับล่าช้า (ฉันรู้ว่ามันเป็นเธรดเก่า) แต่ฉันเพิ่งค้นพบว่ามีอีกสาเหตุที่เป็นไปได้ว่าทำไม mount.cifs จะบอกว่าโฮสต์ไม่ทำงาน

ฉันมีโปรแกรมป้องกันไวรัสพร้อมไฟร์วอลล์และแม้ว่าฉันได้ตั้งค่าไว้อย่างชัดเจนเพื่ออนุญาตให้ "ไฟล์ windows และการพิมพ์ร่วมกัน" - กฎที่กำหนดไว้ล่วงหน้าก็ยังคงบล็อกการเชื่อมต่อ ฉันได้รับการพิสูจน์แล้วโดยการปิดการใช้งานไฟร์วอลล์ชั่วคราว หวังว่าสิ่งนี้จะช่วยให้ใครบางคนโฮสต์ไม่ทำงานอาจไม่ได้หมายความว่ามันไม่ตอบสนองต่อการปิง แต่อาจหมายความว่ามันไม่ตอบสนองต่อความพยายามในการตรวจสอบสิทธิ์


อย่าลืมตรวจสอบไฟร์วอลล์ทั้งสองด้าน: ไคลเอนต์และเซิร์ฟเวอร์ (รวมถึงไฟร์วอลล์ใด ๆ ที่อาจมีอยู่ระหว่างทาง) ในกรณีของฉันมันเป็นไฟร์วอลล์ของไคลเอ็นต์ที่บล็อกการเชื่อมต่อกับเซิร์ฟเวอร์ ฉันต้องเพิ่มiptablesกฎเพื่ออนุญาต: iptables -A INPUT -s 1.2.3.4/32 -j ACCEPTและiptables -A OUTPUT -d 1.2.3.4/32 -j ACCEPTที่1.2.3.4อยู่ IP ของเซิร์ฟเวอร์อยู่ที่ไหน
Antonio Vinicius Menezes Medei

NAS ของฉันอยู่บน Linux ดังนั้นฉันยังคงมีปัญหานี้อยู่ แต่ขอบคุณสำหรับการแบ่งปัน
Olivier Pons

4

ฉันได้รับข้อผิดพลาดเดียวกันโดยไม่มีความกังวลใจเพิ่มเติมจากไคลเอนต์ Samba ใหม่เมื่อพยายามเมานต์เครือข่าย CIFS SMB ที่แชร์:

mount error(112): Host is down

ในที่สุดมันกลับกลายเป็นว่าก่อนหน้านี้ฉันได้ จำกัด การเข้าถึงเซิร์ฟเวอร์ SMB ให้มีที่อยู่ IP ในจำนวนที่ จำกัด โดยการกำหนดค่า/etc/samba/smb.conf:

# Allow these IP Addresses to connect: 
hosts allow = 127.0.0.1 127.0.1.13 127.0.1.63

# Anything else not allowed is, by default, rejected
hosts deny = ALL

การเพิ่มที่อยู่ IP คงที่ของไคลเอนต์ SMB ใหม่แก้ปัญหาในกรณีนี้โดยเฉพาะ

แน่นอนว่ายังมีเหตุผลอื่นอีกมากมายที่ทำให้เราได้รับข้อผิดพลาดดังกล่าวข้างต้น


4

ปัญหาในการเชื่อมต่อกับ Synology DiskStation (DSM 4.3)

การใช้ vers = 1.0 ในตัวเลือกการเมาต์ทำได้ดี

นอกจากนี้ฉันต้องใช้ตัวเลือก "noperm" เพราะไฟล์ทั้งหมดแสดงอย่างไม่ถูกต้องว่าเจ้าของไม่สามารถอ่านและเขียนได้


2

ปัญหาเดียวกันกับ Fritzbox 7490: ข้อผิดพลาดการเมานต์ (112): โฮสต์ไม่ทำงาน

ฉันไม่ได้ใช้ -o vers = XX เร็วเท่ากับฉลามฉันฉันพยายามครั้งแรก -o vers = 2.0 และล้มเหลว
ทันทีที่ฉันใช้ตัวเลือก-o vers = 1.0ทุกอย่างใช้งานได้ดี!

มันใช้งานได้สำหรับฉัน ..

 sudo mount -t cifs -o rw,username=myname_on_the_box,pass\word=mypasswd_on_the_box,vers=1.0 //192.168.1.1/Fritz-nas /media/something/something    

env ของฉัน:
ลูกค้า: Ubuntu 17.10 Linux 4.13.0-17-generic # 20-Ubuntu SMP x86_64
เซิร์ฟเวอร์GNU / Linux : Fritzbox 7490 เฟิร์มแวร์ 6.83


AVM ใช้ Samba รุ่นที่ล้าสมัยซึ่งรักษาไว้ด้วยตนเอง นั่นอาจอธิบายได้ว่าทำไมต้องใช้vers=1.0แทนที่จะเป็นรุ่นโปรโตคอลที่เหมาะสมกว่า
0xC0000022L

2

โปรโตคอลรุ่น SMB1 เลิกใช้แล้ว แต่นี่เป็นรุ่นเริ่มต้นที่ใช้ในรุ่นที่เก่ากว่าmount.cifsเช่นฉันมีปัญหากับรุ่น 6.2

คุณสามารถตรวจสอบกับ: sudo mount.cifs --version

หากคุณพยายามเชื่อมต่อกับเซิร์ฟเวอร์ SMB3 โดยใช้โปรโตคอล SMB1 คุณจะได้รับHost is downข้อผิดพลาด

วิธีแก้ปัญหาดังที่อธิบายไว้โดยคำตอบอื่น ๆ อีกมากมายที่นี่คือการระบุโปรโตคอลรุ่นอื่น คำสั่งต่อไปนี้ใช้งานได้สำหรับฉัน: sudo mount -t cifs //server.name.or.ip/shares/Public /target/directory -o username=someuser,domain=somedomain,vers=3.0

อย่างไรก็ตามถ้าเซิร์ฟเวอร์ที่คุณกำลังเชื่อมต่อใช้ DFS mount error(38): Function not implementedแล้วคุณจะได้รับข้อผิดพลาดต่อไปนี้แทน: นี่เป็นเพราะการสนับสนุน DFS บน SMB3 ถูกเพิ่มเข้ากับเคอร์เนลในเวอร์ชัน 4.11เท่านั้น

uname -aคุณสามารถตรวจสอบรุ่นเคอร์เนลของคุณด้วย ในกรณีของฉันมันคือ 3.10 ใน CentOS7 ฉันทำตามคำแนะนำเหล่านี้เพื่ออัปเกรดและตอนนี้ใช้งานได้


0

ฉันมักจะใช้คำสั่งประเภทนี้เพื่อติดตั้ง cifs / smb share

mount -t cifs -o rw,netbiosname=nasserver1,credentials=/etc/user_credentials.txt //192.168.1.11/someshare /mnt

ไฟล์ข้อมูลรับรองมีลักษณะดังนี้:

username=mydomain\user1
password=somepass

สิ่งนี้ยังสามารถปรับให้เข้ากับการตั้งค่าแบบอัตโนมัติเพื่อให้การติดตั้ง / ยกเลิกการเมานท์สามารถจัดการได้โดยอัตโนมัติผ่านระบบออโต้


0

ในกรณีของเราฉันตรวจสอบชื่อผู้ใช้เข้าสู่ระบบ (ของผู้ใช้ 2) ในโฆษณา ฉันสังเกตว่าชื่อนั้นเริ่มต้นด้วยตัวอักษรตัวพิมพ์ใหญ่และเปลี่ยนเป็นตัวพิมพ์เล็กตามที่เขียนในสคริปต์เมานต์ แม้ว่าเราจะไม่ได้สัมผัสกับ user2 หรือสคริปต์เมานต์มาก่อนก็ตามทันใดนั้นคำสั่ง mount ก็ประสบความสำเร็จ

mount --verbose -t cifs //pc/share /my-share -no user=user1,password=pw1 -o uid=user2,gid=group1,dir_mode=0775,file_mode=0664

0

สำหรับฉันการแชร์ cifs ที่ติดตั้งอยู่บนเซิร์ฟเวอร์ Windows ซึ่งมีการเปลี่ยนแปลงที่อยู่ IP เมื่อเร็ว ๆ นี้ดังนั้นฉันจึงสามารถ ping เซิร์ฟเวอร์และแก้ไขที่อยู่ใหม่ได้ แต่การเมาท์ไม่ได้ปรับปรุงตัวเอง ด้วยการเรียกใช้ unmount ที่ขี้เกียจแล้วแก้ไขปัญหาของฉันอีกครั้ง:

umount -l /mnt/share
mount -a

0

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


0

หากคุณกำลังมีปัญหากับ Synology NAS ให้ตรวจสอบว่าvers=ตัวเลือกที่ระบุmountและรุ่น SMB ขั้นต่ำ / สูงสุดใน NAS เข้ากันได้หรือไม่

โดยเฉพาะฉันใช้vers=2.0แต่ Synology Diskstation ของฉันกำลังเรียกHost is downข้อผิดพลาด ฉันพบหน้าการเข้าถึง Windows 10 เพื่อแบ่งปัน NAS SMB 1.0 และ 3.0บนเว็บไซต์ Synology ที่อธิบายถึงวิธีการตั้งค่า Diskstation ให้อนุญาต SMB v2.0 หรือใหม่กว่า ...

ใน Synology NAS

  • ไปที่แผงควบคุม -> บริการไฟล์
  • บนแท็บ SMB / AFP / NFS เลือกการตั้งค่าขั้นสูง
  • เปลี่ยนโปรโตคอล SMB สูงสุดเป็น SMB3
  • เปลี่ยนโปรโตคอล Minumum SMB เป็น SMB2 (หน้าบอกว่าจะใช้ SMB2 กับ MTU ขนาดใหญ่ แต่นั่นไม่ได้ผลสำหรับฉัน)

-4

มีปัญหาคล้ายกัน วิธีแก้ปัญหาสำหรับฉันอยู่ที่ฝั่งเซิร์ฟเวอร์ Windows แชร์ แม้จะส่งค่า vers = 2.0 ไปยังเซิร์ฟเวอร์ Linux ของฉันแล้วการเมาต์ไม่ทำงาน ดังนั้นฉันจึงต้องเปิดใช้งานบนเซิร์ฟเวอร์ Windows ของฉันสนับสนุน smbv1 บทความนี้ช่วยฉัน: https://support.microsoft.com/en-us/help/2696547/how-to-detect-enable-and-disable-smbv1-smbv2-and-smbv3-in-windows-and


4
อย่าทำอย่างนี้ smbv1 เป็นเวกเตอร์ที่ WannaCry ใช้ในการแพร่กระจายและถูกยุติในทุกที่
Andrew Schulman
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.