Ошибки монтирования общего ресурса CIFS


31

Я пытаюсь смонтировать сетевой ресурс от Linksys NAS200 до Fedora 16.

Программа, которую я пытаюсь запустить, не принимает сетевые адреса для сохранения. Я запустил его без указания IP-адреса сервера, и он выдал какой-то случайный IP-адрес. Я указал IP, и он не может найти устройство.

Вот ошибки:

[root@HOME ~]# mount -t cifs -v //NAS_SERVER/public/ /mnt/ -o username=user,password=pass
mount.cifs kernel mount options: ip=184.106.31.190,unc=\\NAS_SERVER\public,,ver=1,user=user,pass=********
mount error(115): Operation now in progress
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
[root@HOME ~]# mount -t cifs -v //NAS_SERVER/public/ /mnt/ -o username=user,password=pass,ip=192.168.1.77
ip address 192.168.1.77 override specified
mount.cifs kernel mount options: ip=192.168.1.77,unc=\\NAS_SERVER\public,,ver=1,user=user,pass=********
Retrying with upper case share name
mount.cifs kernel mount options: ip=192.168.1.77,unc=\\NAS_SERVER\PUBLIC,,ver=1,user=user,pass=********
mount error(6): No such device or address
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Но это работает с smbclient:

[root@HOME ~]# smbclient -L 192.168.1.77
WARNING: The security=share option is deprecated
Enter user's password: 
Domain=[HOME] OS=[Unix] Server=[Samba 3.0.22]

Sharename       Type      Comment
---------       ----      -------
IPC$            IPC       IPC Service (Network Storage)
DISK 1          Disk      
PUBLIC          Disk      
ADMIN$          IPC       IPC Service (Network Storage)
Domain=[HOME] OS=[Unix] Server=[Samba 3.0.22]

Server               Comment
---------            -------
HOME                 Samba Server Version 3.6.5-85.fc16
NAS_SERVER           Network Storage

Workgroup            Master
---------            -------
HOME                 HOME

Почему я не могу подключиться к этому серверу Samba? Что означают эти ошибки?

Ответы:


35

Устраните неполадки при доступе к общей папке Windows XP из Fedora:

Вы получаете сообщение об ошибке:

mount error(115): Operation now in progress
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

1. Убедитесь, что Linux может пропинговать другой ящик.

Запустите эту команду в окне Linux для IP-адреса окна Windows:

el@defiant /mnt $ ping 192.168.13.107
PING 192.168.13.107 (192.168.13.107) 56(84) bytes of data.
64 bytes from 192.168.13.107: icmp_req=1 ttl=128 time=0.366 ms
--- 192.168.13.107 ping statistics ---
44 packets transmitted, 44 received, 0% packet loss, time 42999ms
rtt min/avg/max/mdev = 0.178/0.227/0.366/0.038 ms

Если вы не можете достучаться до коробки или подключение включено и выключено, mount может пожаловаться.

2. Убедитесь, что папка действительно открыта для общего доступа в Windows, выполните следующие действия.

  1. Откройте браузер файлов для C:\.
  2. Создайте новую папку с именем public. Так что теперь у вас есть C: \ public
  3. Внутри этой папки создайте новый текстовый документ под названием «testing.txt».
  4. Щелкните правой кнопкой мыши папку C:\publicи перейдите в свойства.
  5. Нажмите на вкладку обмена.
  6. Убедитесь, что установлен флажок «Поделиться этой папкой в ​​сети». Обратите внимание на название акции: «public».
  7. Нажмите ОК Под папкой должна появиться небольшая стрелка, означающая, что она является общей.

Папка «public» теперь является общей, и вы должны иметь возможность подключиться к ней с Linux.

3. В Linux смонтируйте общий ресурс с помощью «mount»:

  1. Откройте консоль и suполучите root права.
  2. создайте каталог mkdir /mnt/windows Это будет где вы получите доступ к общим файлам.

  3. запустите команду монтирования, которая запрашивает пароль:

    [root@defiant mnt]# mount -t cifs //192.168.13.107/eric /mnt/windows -o username=eric
    Password for eric@//192.168.13.107/public:  **********
    [root@defiant mnt]# 
    
  4. Приведенная выше команда запрашивает пароль, введите правильный пароль, неправильный вызовет ошибку. Если вы не уверены в пароле, вы можете изменить пароль в окне Windows в Панели управления -> Учетные записи пользователей.

  5. запустить команду cd /mnt/windows и запустить ls. Содержимое диска представлено:

    [root@defiant windows]# ls
    testing.txt
    [root@defiant windows]#
    
  6. Вы подключились к диску Windows.

4. Подключитесь к общему диску с помощью файлового браузера konqueror или linux:

  1. Откройте браузер файлов, в моем случае konqueror.
  2. В строке местоположения файла введите smb://192.168.13.107/publicи нажмите Enter.
  3. Вам может быть представлен логин и пароль для входа в систему. Введите имя пользователя и пароль окна окна, описанного в верхней части этого сообщения.
  4. Поздравляем, вы подключены к общей папке.

УСТРАНЕНИЕ НЕИСПРАВНОСТЕЙ, если вышеперечисленное не работает.

Шаг 1: Вы пытались перезагрузить оба компьютера

Перезагрузите оба компьютера. После этого убедитесь, что все ваши обновления Windows сделаны. Убедитесь, что в Linux также есть обновления программного обеспечения. Перезагрузитесь после обновлений.

Шаг 2. Проверьте свои брандмауэры, ZoneAlarms и другое программное обеспечение безопасности

Часть программного обеспечения, разработанная для защиты вашего компьютера от вирусов, вредоносных программ или зла в Интернете, может блокировать ваши попытки обмена файлами. Брандмауэр Windows может быть в параноидальном режиме. Хотя вряд ли виноват брандмауэр Windows, временно отключите его, чтобы убедиться, что это не проблема. (не оставляйте это).

Получите список всех программ безопасности, которые могут быть установлены в параноидальный режим. Брандмауэры Windows, сторонние брандмауэры, ZoneAlarms, антивирусы, Kaspersky, AVG или все, что защищает вас от вирусов / вредоносных программ / зла. Вам нужно будет просмотреть их и либо временно отключить, либо открыть через них белый список для вашего IP-адреса.

Шаг 3: Получить ключи от программного обеспечения безопасности.

ZoneAlarm ведет журнал всех событий и попыток доступа к общей папке, перейдите в раздел Обзор-> предупреждения и журналы. И увидеть список всех ваших неудачных попыток. То же самое возможно для другого программного обеспечения. В таком случае это защищает тебя от тебя.

Шаг 4: Подозреваю проблемы в самом роутере или локальной сети

Возможно, маршрутизатор, беспроводные мосты, тупые концентраторы или другие сетевые устройства содержат некоторые директивы shenanigan, блокирующие попытку подключения к общей папке. Маршрутизатор или само устройство могут блокировать порт или иметь что-то в ограничительном режиме. Кто-нибудь дурачился с этим в последнее время? Попробуйте вернуть роутеру все по умолчанию и попробуйте снова.

Шаг 5: Убедитесь, что ваша локальная сеть проста и правильна.

Оба ваших компьютера подключены к одному и тому же маршрутизатору? Возможно один связан с дерьмовым беспроводным мостом netgear, а другой с маршрутизатором? Упростите сеть, подключив все компьютеры к одному маршрутизатору. Перезагрузите роутеры и интернет, попробуйте еще раз.

Шаг 6: Все еще не работает. Изолировать неисправный блок.

Пришло время пасти кошек и изолировать неисправный блок. Докажите, что Windows не передает ваш файл, подключившись к общему ресурсу с другого компьютера. Приобретите ноутбук с ОС Windows для друзей или продукт Apple, подключите его к своей сети и посмотрите, смогут ли они получить доступ к общему ресурсу. Если они не могут, у окна Windows есть проблема, если они могут, у окна Linux есть проблема.

Шаг 7: Подозреваю, что брандмауэр в Linux

Обратите внимание на любую специальную сигнализацию безопасности или специальное программное обеспечение брандмауэра в Linux Запустите system-config-firewallи убедитесь, что smb проверен. Убедитесь, что Linux не препятствует вашему монтированию. Создайте общий ресурс smb на другом компьютере Linux и попытайтесь подключиться к нему.

Если ничего из этого не работает. Используйте ядерную опцию, переустановите обе операционные системы и начните все сначала. Это ракетная хирургия.


1
Тот сделал это для меня. Проблема в моем случае была вызвана настройками брандмауэра, которые разрешали ping, но не разрешали SMB-соединения через TCP-порт 445.
Paul Gear

Обратите внимание, что вам, возможно, придется использовать sudo ping 192.168.13.107не толькоping 192.168.13.107
Габриэль Staples

@GabrielStaples Почему бы вам использовать sudo для этого?
Брин

Я понятия не имею, но я знаю, что не написал бы это, если бы сначала не попробовал это без sudo, и это не сработало, а затем попробовало это с sudo, и это сработало. Я уверен, что тогда мне тоже показалось странным, что один работал, а другой - нет.
Габриэль Стейплс

7

Пытаться:

mount -t cifs -v //NAS_SERVER/public/ /mnt/ -o username=user,password=pass,sec=ntlm

Ключ sec = ntlm


Это не доставило мне никакой радости
Пол Гир,

1
Что делает sec=ntlm?
Карл Рихтер

Понятия не имею, что sec=ntlmделает, но это единственное решение на этой странице, которое сработало для меня. Изменить: вот ответ на форумах Ubuntu, который объясняет, почему это работает: ubuntuforums.org/…
Джонатан

5

Добавление более возможных решений этой проблемы

Это сообщение об ошибке не очень наглядно, но оно означает, что время операции истекло. Для этого есть множество возможных причин, и, исследуя эту проблему, я натолкнулся на некоторые решения, которые еще не были упомянуты в этой теме.

1.) Неоднозначная сеть

Это не часто упоминается в различных решениях, которые вы можете найти для этой проблемы в Интернете, но сервер, к которому вы подключаетесь, должен находиться в той же подсети, что и ваш локальный компьютер. Эта проблема возникла у меня из-за того, что у меня были включены как проводные, так и беспроводные соединения, и определение подсети, к которой принадлежало устройство, было неоднозначным, поскольку эти два соединения не являются одной и той же сетью. Отключение Wi-Fi решило проблему мгновенно. Я наткнулся на это решение, читая Das Werkstatt :

[РЕШЕНИЕ]

В моем случае общий ресурс DFS находился в хранилище в другой подсети. Я добавил сетевой псевдоним (eth0: 1) с IP-адресом в этой подсети хранения, и затем он заработал.

Я ожидал бы что-то вроде "нет маршрута к хосту" вместо загадочной "ошибки (115): операция в процессе" ...

Ну, не может быть всего этого;)

Источник: http://www.das-werkstatt.com/forum/werkstatt/viewtopic.php?f=7&t=2074.

2.) Новые строки в конце файла учетных данных

Файлы учетных данных полезны, если ,в вашем пароле есть специальные символы, такие как запятая . На него можно ссылаться в опциях:

mount -t cifs //remote /mnt/local -o credentials=/path/to/cifs.credo

Файл отформатирован с shобъявлением переменной -style:

username=me
password=mypassword
domain=mydomain

Если вы используете файл учетных данных, убедитесь, что в конце нет символов новой строки, иначе при попытке анализа файла учетных данных истечет время ожидания:

...
domain=mydomain
<empty line>

3.) Попытка смонтировать конкретный каталог, а не фактическую общую папку

Если конкретный нужный вам каталог является подкаталогом общего ресурса, вы не сможете подключить эту папку напрямую. Попытка сделать это приводит к нескольким различным ошибкам, и это одна из них.

Вместо этого смонтируйте саму точку доступа, а затем добавьте символическую ссылку в нужный вам подкаталог:

~> mkdir /mnt/local
~> sudo mount -t cifs //remote /mnt/local
~> ln -s /mnt/local/path/to/my-folder /mnt/my-folder

Таким образом, вы получите тот же результат, что и монтирование самого подкаталога без необходимости каждый раз детализировать его.


4

Не уверен, насколько это актуально для вашего случая, но у меня была похожая проблема при подключении общего ресурса CIFS на моем телефоне Android:

# mount -t cifs //192.168.0.2/media/ /mnt/cifs/media -o username=user,password=pass
mount: mounting //192.168.0.2/media/ on /mnt/cifs/media failed: No such device or address
#

Я попытался удалить косую черту, и, видимо, это имело значение - он установил:

# mount -t cifs //192.168.0.2/media /mnt/cifs/media -o username=user,password=pass
#

1
Да, общие ресурсы не совсем каталоги, даже если настольные среды любят притворяться, что они есть.
Эроен

3

Проблема в моей ситуации заключалась в том, что у меня были пробелы в файле учетных данных / etc / smb-credentials

username = foobar
password = secret

После того как я изменил его на:

username=foobar
password=secret

Это сработало.


2

Мне часто приходится цитировать, -o "username=joe,password=yadayada,domain=adomain" //share/share /mnt и он будет расти сразу, и большинство примеров, которые я посмотрел, не показывают этот бит (если это необходимо в этих системах).
У меня действительно была эта проблема на моем планшете только сейчас (почему я здесь хотел, чтобы имя UNC не IP), цитаты исправили это прямо.


1

Дополнительное возможное решение

Если папка общего доступа - из Windows 10 (возможно, также относится к 7 и XP), убедитесь, что параметры общего ресурса папки Windows настроены правильно для типа сети, к которой вы подключены, тPublicPrivate . Е. Или .

Я просто передам свой опыт и адаптируюсь к вашей ситуации по мере необходимости. Откройте список сетей Wi-Fi и для той, к которой вы подключены, нажмите Properties. Установите Publicили Privateв зависимости от ситуации. (В моем случае Privateсеть была неправильно помечена Public.)

Как только сеть классифицирована правильно, щелкните правой кнопкой мыши вашу общую папку, выберите Properties, выберите Sharingвкладку, выберите Network and Sharing Centerссылку и убедитесь, что Turn on file and printer sharingвыбран для Publicили в Privateзависимости от типа вашего подключения Wi-Fi, как классифицировано ранее.

После этого я смог подключить компьютер Debian к Windows 10, как и ожидалось.


0

Другая проблема может быть с DNS. Я получаю ту же ошибку "операция в процессе". Хотя просмотр с Dolphin работал нормально. Имя хоста, которое я успешно использовал с Dolphin, разрешается до 4 IP-адресов, один из которых заканчивается на 0 (это имя субдомена). Когда я использую имя для одного из 3 других IP-адресов, монтирование работает. Я предполагаю, что Dolphin умнее ищет реальный хост, когда ему дается (суб) доменное имя, чем mount.


Я не знаю, почему мой ответ был отклонен. Я включил его, потому что у меня было то же поведение, что и у ОП, но с другой основной причиной. Я знаю, что проблема ОП была решена, но я думаю, что другим людям, сталкивающимся с таким поведением, может быть полезно узнать, что существует другая возможная причина.
Крис

0

Сегодня я видел случай, когда кто-то пытался смонтировать общий ресурс, используя CIFS, но CIFS не был установлен.

yum install cifs-utils
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.