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.