- Записки IT специалиста
- Исправляем ошибку подключения Windows к общим ресурсам на сервере Samba Linux
- Решение №1. Отключаем гостевой доступ на сервере Samba
- Решение №2. Разрешаем небезопасный гостевой вход в Windows
- Включить протокол smb1 linux
- Linux не видит сеть Windows
- How to force Nautilus to use SMB1?
- 2 Answers 2
- Disclaimer
- Problem Description
- Solution
- Explanation
Записки IT специалиста
Исправляем ошибку подключения Windows к общим ресурсам на сервере Samba Linux
Ошибки сетевого доступа в Windows — вещь довольно неприятная, тем более что не все умеют их правильно диагностировать и исправлять. При том, что интернет кишит различными способами самой разной степени сомнительности. Поэтому мы решили подробно разобрать одну из типовых ситуаций, показав как процесс диагностики, так и различные способы решения проблемы, каждое из которых имеет свои особенности, в частности влияние на безопасность. Такой подход позволит не только выяснить причины ошибки и устранить ее, но и поможет подойти к этому вопросу осознанно, полностью представляя последствия своих действий.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
С ситуацией, когда компьютер под ОС Windows не хочет подключаться или перестает подключаться к общим ресурсам на сервере Samba под управлением Linux встретиться можно довольно часто и тому есть объективные причины, которые мы рассмотрим ниже, ну а пока посмотрим на ее внешние симптомы. Система неожиданно сообщает, что она не может получить доступ к указанному ресурсу и выдает абсолютно неинформативную ошибку:
Код ошибки: 0x80004005
Неопознанная ошибка
Если попробовать подключиться в консоли, например, командой:
Где 192.168.233.182 — адрес искомого сервера, то получим немного другую ошибку:
Системная ошибка 53.
Не найден сетевой путь.
При этом указанный узел нормально пингуется, а проверка доступности 445 порта говорит, что все нормально:
После этого обычно начинается сетование на кривизну какого-либо из решений (в зависимости от личных предпочтений) и поиск решения в интернете, где можно найти как условно рабочие, так и полную дичь, вроде включения SMB1 и бездумного изменения различных политик и ключей реестра.
Но не будем спешить, вы же не глотаете все подряд из домашней аптечки только почувствовав недомогание? Так и здесь, поэтому будем разбираться.
Но сперва поясним ситуацию по протоколу SMB1:
Протокол SMB1 устарел и небезопасен, в настоящее время отключен на всех современных системах.
Кроме того, даже если вы включите его поддержку, то начиная с Windows 1709 она автоматически отключится после 15 дней неиспользования. В общем: включать SMB1 не нужно, разве что только вам действительно нужна поддержка устаревших клиентов.
В современных версиях Samba протокол SMB1 также отключен и минимальной поддерживаемой версией является SMB2_02, а максимальной SMB3. Это параметры по умолчанию и проверить их можно командами:
testparm --parameter-name="min protocol"
testparm --parameter-name="max protocol"
Настройки по умолчанию достаточно актуальны, и мы не советуем отдельно задавать версии протоколов без особой на то нужды. SMB2_02 — обозначает младшую версию протокола SMB2, а SMB3 указывает на старшую доступную версию, таким образом поддерживаются все системы начиная с Windows Vista и Server 2008. Причиной ошибки SMB1 быть не может.
Поэтому не занимаемся ерундой, а ищем истинную причину, в этом нам поможет Журнал событий. Раскрываем последовательно Журналы приложений и служб — Microsoft — Windows — SMBClient и в журнале Security находим ошибку 31017:
Небезопасный гостевой вход отклонен.
Рекомендации.
Это событие указывает на попытку сервера разрешить вход пользователя как непроверенного гостя, которая была отклонена клиентом.
Для гостевого входа не поддерживаются стандартные функции обеспечения безопасности, например подписывание и шифрование.
Вследствие этого гостевой вход уязвим для атак "злоумышленник в середине", которые могут привести к попаданию конфиденциальных данных в сеть.
По умолчанию небезопасный гостевой вход отключен в Windows. Корпорация Майкрософт не рекомендует включать его.
После чего все становится на свои места. Нет никаких чудес, просто политики безопасности Windwos не позволяют подключаться к серверу с анонимным гостевым доступом. Кстати, это относится не только к Samba.
Теперь, когда есть понимание происходящего мы можем выбрать одно из двух решений указанной проблемы.
Решение №1. Отключаем гостевой доступ на сервере Samba
С точки зрения безопасности это наиболее правильное решение, которое позволит получать доступ к общим ресурсам не снижая уровень безопасности сети. Для этого внесем некоторые изменения в конфигурационный файл Samba, обычно он располагается в /etc/samba/smb.conf. Прежде всего найдем и приведем к следующему виду директиву:
А в настройках каждого общего ресурса укажем:
Возможно, вам еще придется выполнить некоторые настройки, скажем, завести пользователей и назначить им права, для всего этого рекомендуем воспользоваться нашей статьей:
Сохраняем все изменения и проверяем конфигурацию на ошибки:
Затем перезапускаем службу:
После чего повторно пробуем подключиться и сразу видим окно для ввода учетных данных:
Проблема решена, ресурсы файлового сервера Samba снова доступны.
Решение №2. Разрешаем небезопасный гостевой вход в Windows
Если Решение №1 вас по каким-либо причинам не устраивает, и вы осознанно хотите понизить уровень безопасности вашей сети, то можно пойти другим путем и разрешить небезопасный гостевой вход.
Запустим редактор групповой политики (gpedit.msc) и перейдем в Конфигурация компьютера — Административные шаблоны — Сеть — Рабочая станция Lanman и переводим политику Включить небезопасные гостевые входы в положение Включено.
После чего вам потребуется перезапустить службу Рабочая станция или перезагрузить компьютер.
Альтернативой этому способу будет внесение изменений через реестр:
reg add "HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters" /v AllowInsecureGuestAuth /t REG_DWORD /d 1
Затем перезапустим службу:
net stop LanmanWorkstation && net start LanmanWorkstation
После чего можем продолжать привычно использовать общие сетевые ресурсы с гостевой моделью доступа.
Какой вывод можно сделать после прочтения данного материала? Прежде всего понять, что любые сетевые ошибки имеют под собой вполне определенную причину, а не являются воздействием некой неведомой силы. И эти причины имеют свойство отображаться в журналах и логах.
Решений таких проблем также может быть несколько, каждое из которых может иметь свои достоинства и недостатки. Поэтому не нужно хватать первый попавшийся рецепт из интернета, а следует разобраться в причинах и выбрать из доступных вариантов тот, который будет вас наиболее устраивать.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Помогла статья? Поддержи автора и новые статьи будут выходить чаще:
Или подпишись на наш Телеграм-канал:
Включить протокол smb1 linux
- Вы здесь:
- Главная
- Статьи
- Linux не видит сеть Windows
Linux не видит сеть Windows
Недавно я перешел с Windows 10 на операционную систему Kubuntu. Сам по себе переход не вызвал каких-либо проблем, но в последствии они все-таки появились.
Дело в том, что у меня дома функционирует небольшая локальная сеть, которая включает в себя сервер под управлением Linux. Вот с подключением к нему и возникли некоторые проблемы.
Разумеется перед тем, как подключаться к серверу Samba были произведены настройки конфигурационного файла на подключаемому к серверу компьютеру, но результатов это не дало.
Хотя сервер пинговался с рабочего компьютера без каких-либо проблем.
Пришлось копать дальше, но главное понять причину произошедшего.
А все дело в том, что с выходом Windows 10 компания Microsoft решила отказаться от старого протокола SMB1 в пользу более современных протоколов SMB2 и SMB3, в которых уже нет сетевого обнаружения.
Но на этом история не заканчивается. Начиная с Samba версии 4.11 по умолчанию отключена поддержка протокола SMB1.
Таким образом, для решения создавшейся проблемы необходимо включить поддержку старого протокола SMB1 на сервере Samba подключаемого к сети компьютера.
Для этого открываем терминал и вводим команду
Далее необходимо внести несколько команд в конфигурационный файл Samba. Он расположен по адресу:
Здесь в секции global после workgroup = необходимо дописать:
server min protocol = NT1
client min protocol = NT1
min protocol = NT1
Сохраняем отредактированный файл и перезагружаем компьютер.
Теперь наш компьютер должен увидеть локальную сеть, ее рабочие станции и сервера.
Ну и разумеется мы подготовили короткое видео с наглядным решением данной проблемы. Приятного просмотра!
How to force Nautilus to use SMB1?
Since the 18.04 upgrade, I am not able to connect to a Samba server using the Nautilus window. I have found out that I have to specify protocol to SMB1.0 ( -o vers=1.0 in console). I have tried to add the following commands:
max protocol = SMB1 client max protocol = SMB1
to /etc/samba/smb.conf but it did not help, still prints Function not implemented . Any ideas how to do this?
I had the same problem in reverse: had to specify higher SMB levels for my fstab shares. You have to set it on the client side somewhere, and make sure the server can take that low of a level.
2 Answers 2
Disclaimer
The SMBv1 protocol is from the 1983, it is unsecure and thus disabled for a good reason. The SMBv2 protocol has been available since 2006.
Problem Description
I arrived at this question trying to find a solution for the following two problems:
- I have an HP printer that can only use the legacy SMBv1 protocol (HP OfficeJet Pro 8620). So my printer refused to connect to the network share and the scan to network feature stopped working.
- I tried to use Nautilus to browse the network shares on my own Ubuntu system. And I was getting an error with the message Unable to access locationFailed to retrieve share list from server: Invalid Argument:
Solution
After several attempts with different values in the /etc/samba/smb.conf file I was finally able to resolve these problems using these two values:
client min protocol = NT1 server min protocol = NT1
I also found posts that suggested to add this third parameter:
ntlm auth = ntlmv1-permitted
However, on my system this was not necessary.
Explanation
As I understand it, the client min protocol option controls how your system communicates with other SMB servers, changing this option could be useful if your Ubuntu system works as a client and you want to use SMBv1 to access a server. By default (with Samba 4.11) your local Samba installation is configured to require SMBv2 or higher connections.
On the other hand, if your Ubuntu system acts as the server that requires SMBv2 or higher and you have a remote client (such as a printer) that can only understand the legacy SMBv1 protocol, then it seems that changing the client min protocol has no effect. Instead you need to change the server min protocol . This way the client can negotiate SMBv1 with the Samba daemon running on your Ubuntu system.
Side note, you can also pass the client min protocol option to tools such as smbclient , for example:
smbclient -L /// --option='client min protocol=NT1'
Can be used to set the client protocol to SMBv1. This was useful to test the effect of changes in the smb.conf file.
I tried this on Ubuntu 20.04 which comes with samba version 4.11 . I have not tested this solution on older Ubuntu distributions.