- Ошибка Ubuntu не видит сеть Windows
- Почему Ubuntu не видит сеть Windows или Samba?
- Настойка сервера Samba
- 1. Включение протокола SMB1
- 2. Настройка имени хоста
- 3. Установка Avahi
- 4. Установка WSDD
- Настройка Windows
- 1. Общий доступ в Windows
- 2. Включение SMB1 в Windows
- Настройка клиента
- 1. Установить Samba
- 2. Рабочая группа
- 3. Версия протокола
- 4. Правильный порядок разрешения имён
- 5. Не тот интерфейс
- 6. Отладка
- 7. Проблема в GVFS
- 8. Подключение напрямую
- Выводы
- Локальная сеть между Ubuntu Linux и Windows
- Динамическое присвоение адресов
- Статическое присвоение адресов
- Настройка сетевых интерфейсов
- Windows
- Ubuntu Linux
- Настройка доступа к файлам
- Windows
- Ubuntu Linux
- Общий доступ к папке
- Дополнительные настройки Самба (Samba)
- Проблемы с доступом на локальной расшаренной папке Linux
- Как расшарить папку и задать разрешения и права доступа в Linux
- Доступ к сетевым принтерам
- Windows
- Ubuntu Linux
Ошибка Ubuntu не видит сеть Windows
Вы, наверное, не раз сталкивались с проблемой, что Ubuntu не видит сеть Windows или Windows не видит сетевую шару Linux. Такая проблема характерна для многих дистрибутивов с окружением Gnome. Ситуация довольно неоднозначная, раньше причиной этому был баг в GVFS, потом появилось ещё несколько осложняющих дело факторов.
В этой статье мы рассмотрим что делать если Ubuntu не видит шары Windows или Samba, как к ним всё таки подключится и можно ли решить проблему, сделать так чтобы Nautilus и Dolphin начали всё таки видеть сетевые ресурсы.
Почему Ubuntu не видит сеть Windows или Samba?
Нужно разобраться почему Ubuntu не может увидеть сеть Windows. Начиная с Windows 10 в компании Microsoft решили отказаться от старого протокола SMB1 и использовать только SMB2 и SMB3. Но в этих протоколах нет сетевого обнаружения. Для сетевого обнаружения в Windows теперь используется новый сервис WS-Discovery. В Nautilus для отображения сетевых ресурсов используется либо avahi либо протокол SMB1. Поэтому увидеть шару Windows не получится, не включив обратно устаревший протокол в реестре. Windows по умолчанию шары Samba тоже видеть не будет, потому что новый WS-Discovery в Samba не поддерживается. Ещё в 2015 году были предложены патчи для Samba добавляющие эту функциональность, но разработчики решили, что оно им не нужно. Поэтому если вы хотите чтобы Windows видела Samba, нужно отдельно установить сервис WSDD.
Но это ещё не всё. Начиная с версии Samba 4.11 разработчики решили, что они ничем не хуже Microsoft и отключили по умолчанию поддержку протокола SMB1. Теперь Nautils и Dolphin перестали видеть не только Windows шары, но и Linux тоже. Решается проблема либо установкой на Samba сервер Avahi, либо включением поддержки старого протокола SMB1 на сервере Samba.
Настойка сервера Samba
1. Включение протокола SMB1
Для того чтобы активировать протокол SMB1 в Samba необходимо добавить такие строчки в /etc/samba/smb.conf в секцию global:
sudo vi /etc/samba/smb.conf
server min protocol = NT1
client min protocol = NT1
min protocol = NT1
После этого надо перезапустить Samba.
sudo systemctl restart smbd
sudo systemctl restart nmbd
Хочу обратить ваше внимание, что у меня всё заработало только после того как я перезагрузил и сервер и клиент. Видимо что-то где-то кэшируется.
2. Настройка имени хоста
Имя хоста вашего компьютера, выводимое командой hostname должно совпадать со значением в файле /etc/hosts и со значением параметра netbios name в файле /etc/samba/smb.conf. Например:
Регистр букв не имеет значения.
3. Установка Avahi
Если предыдущий способ не поможет, то установка Avahi должна помочь. Samba не будет отображаться в сетях Windows, но зато появится в сетевом окружении в Nautilus. Для установки Avahi выполните:
sudo apt install avahi-daemon avahi-utils
После этого сервис стоит запустить и добавить в автозагрузку:
sudo systemctl enable avahi-daemon
sudo systemctl start avahi-daemon
Проверить доступные сервисы можно командой:
Среди них должна быть ваша шара, обозначенная как Microsoft Windows Network local.
4. Установка WSDD
Сервис WSDD нужен для того чтобы вашу шару было видно из Windows. Можно использовать сервис wsdd2 из этого репозитория. Его надо собрать из исходников, но в этом нет ничего сложного. Сначала склонируйте репозиторий:
git clone https://github.com/Andy2244/wsdd2.git
Затем перейдите в папку с проектом:
Выполните make для сборки:
Затем установите программу, она только скопирует исполняемый файл и службу systemd в нужные директории:
sudo make install
Осталось запустить службу:
sudo systemctl daemon-reload
sudo systemctl enable —now wsdd2
Теперь Windows сможет видеть ваш сервер Samba. Таким образом если всё сделать правильно, то все всех будут видеть.
Настройка Windows
1. Общий доступ в Windows
Убедитесь, что в Windows общий доступ был включён. Если общий доступ отключен, то вы не сможете никак получить доступ к ресурсам. Откройте проводник и перейдите в пункт Сеть. Если сетевой доступ отключён, то система выдаст соответствующее предупреждение:
Кликните по нему чтобы включить общий доступ, затем выберите Включить сетевое обнаружение и общий доступ к файлам.
После этого система ещё раз спросит надо ли разрешить доступ для всех общественных сетей. Ответьте утвердительно:
После этого вы сможете получить доступ к общим ресурсам этого компьютера.
2. Включение SMB1 в Windows
Для того чтобы включить поддержку протокола SMB1 в Windows 10 откройте поиск и наберите Включение компонентов. Затем откройте утилиту Включение и выключение компонентов Windows:
Дальше найдите пункт SMB1.0 CIFS File Sharing Support и установите напротив него галочку:
Затем необходимо перезапустить компьютер:
После этого Ubuntu начнёт видеть вашу шару Windows и вы сможете к ней подключится.
Настройка клиента
Исходя из выше перечисленного, клиент скорее всего не виноват, но можно попробовать его настроить чтобы быть уверенным точно. Как я уже написал выше Nautilus для подключения и просмотра общих папок Windows и Samba использует виртуальную файловую систему gvfs. А та, в свою очередь использует библиотеку libsmbclient для получения необходимых данных. Поэтому мы можем попытаться исправить ситуацию переопределив некоторые параметры в /etc/samba/smb.conf. Но работает это далеко не всегда.
1. Установить Samba
Если файловый сервер Samba у вас не установлен, то его надо установить для того чтобы был создан файл /etc/samba/smb.conf с параметрами по умолчанию. Они потом будут использоваться библиотекой libsmbclient и самой утилитой smbclient, которую вы можете применять для тестирования. Для установки выполните:
sudo apt install samba
Проверьте конфигурационный файл Samba на ошибки с помощью такой команды:
2. Рабочая группа
По умолчанию используется рабочая группа WORKGROUP. Убедитесь, что ваша рабочая группа имеет именно это имя, также убедитесь, что в /etc/samba/smb.conf задано правильное имя рабочей группы в параметре workgroup:
sudo vi /etc/samba/smb.conf
3. Версия протокола
В современных системах Windows для общего доступа к папкам используется файловая система CIFS, использующая современные версии протоколов SMB2 и SMB3. Эти протоколы не поддерживают обзор доступных общих папок так, как это ожидает получить Nautilus. Для того чтобы всё работало надо использовать старый протокол NT1. Чтобы его включить добавьте параметр client max protocol после параметра workgroup:
client max protocol = NT1
После этого сохраните изменения и перезагрузите компьютер и проверьте.
4. Правильный порядок разрешения имён
Неверный порядок разрешения сетевых имен тоже может стать проблемой. Чтобы исправить его найдите в smb.conf параметр и приведите его к такому виду:
name resolve order = bcast lmhosts host wins
Здесь первым используется bcast, широковещательные сообщения, которые рассылаются по вашей локальной сети и ищут компьютеры с общими папками.
5. Не тот интерфейс
Если в вашем компьютере несколько сетевых интерфейсов, возможно smbclient пытается использовать не тот интерфейс. Чтобы посмотреть список интерфейсов используйте команду:
Затем найдите в /etc/samba/smb.conf параметр interface и замените в его значении eth0 на имя вашего интерфейса, который обеспечивает связь с нужной локальной сетью. Например на enp0s8:
interfaces = 127.0.0.0/8 enp0s8
После этого надо перезапустить службы Samba:
sudo systemctl restart smbd
sudo systemctl restart nmbd
6. Отладка
Если сеть Windows всё ещё не работает, вы можете попытаться отлаживать GVFS чтобы понять где именно возникает проблема и в чём её суть. Для этого надо завершить текущий сервер GVFS и запустить свой в терминале с включённой опцией отладки. Для этого выполните:
pkill gvfs; pkill nautilus
GVFS_DEBUG=all GVFS_SMB_DEBUG=10 $(find /usr/lib* -name gvfsd 2>/dev/null) —replace 2>&1 | tee gvfsd.log
Затем откройте Nautils и войдите в сетевое окружение, сеть Windows. При этом в терминале будут выводится сообщения об ошибках работы службы. Вы можете использовать эти сообщения чтобы искать информацию в Google или попросить помощи на форумах.
7. Проблема в GVFS
Баг в GVFS, о котором я писал выше наблюдался для Samba версии 4.8 и ниже. Если сервер поддерживает протокол более высокого уровня, то клиент пытается использовать этот протокол, например SMB2 или SMB3, но на этих протоколах не работает отображение доступных ресурсов. Если у вас именно эта проблема, то для полного решения придется ждать обновления или использовать обходное решение описанное ниже.
8. Подключение напрямую
Даже если у вас не работает обнаружение сетевых ресурсов Windows, вы все ещё можете подключится к нужному компьютеру и получить с него файлы. Откройте пункт Другие места на левой панели Nautilus. Внизу окна вы увидите надпись Подключится к серверу введите smb://адрес_сервера в поле слева и нажмите Enter:
После этого система предложит ввести имя пользователя и пароль для доступа к общему ресурсу. Этот пользователь должен реально существовать на машине, к которой вы собираетесь подключится.
Введите пароль и вы увидите доступные общие папки:
Выводы
Если всё будет сделано правильно то Linux увидит вашу шару Windows или Samba:
В этой статье мы кратко рассмотрели почему Ubuntu не видит сеть Windows, а также как исправить эту проблему. Если проблему с сетевым обнаружением устранить не удается, вы всегда можете попробовать подключится вручную. Это не решает основную проблему, но позволяет получить нужные файлы. Вы знаете другие способы решения? Поделитесь ими в комментариях!
Источник
Локальная сеть между Ubuntu Linux и Windows
Сайт недорого! |
Контент-маркетинг |
Реклама в Интернет |
Двойная загрузка Ubuntu и Windows 8 |
Как сделать двойную загрузку Ubuntu 14.04 и Windows 8 . |
Установка программ на Андроид |
Установка новых программ на Андроид вполне проста. Есть два способа . |
Как раздать Интернет по WiFi на Windows 7 |
. инструкция как раздать WiFi с Windows 7 . |
Точка доступа WiFi на Андроид |
. инструкция как раздать WiFi с Андроида . |
Точка доступа WiFi на Windows 8.1 |
. инструкция как раздать WiFi с Windows 8.1 . |
USB модем Билайн, Мегафон, МТС |
не работает, не подключается — что делать? |
Раздача интернета по сети |
Как расшарить интернет по сети Linux и Windows. |
Точка доступа на Ubuntu 12.04 |
. Создание WiFi точки доступа на Ubuntu 12.04. |
Настроить WiFi на Windows 7 |
. в этой статье будет описан процесс настройки шаг за шагом с иллюстрациями. |
DSL, FTTx — настройка интернета МТС, Ростелеком |
Настройка pppoe соединения в Windows 7. |
Инструкция по Андроид |
. Обзор и описание графического интерфейса Андроид (Android). |
Как расшарить файлы и папки Linux |
. сетевой доступ без пароля на Linux. |
Настройка Ubuntu 14.04 |
. скорость и удобство работы Ubuntu 14.04 . |
Как выбрать SSD? |
. характеристики SSD . функции SSD. |
Как выбрать монитор? |
. характеристики монитора . функции монитора. |
Как выбрать планшет? |
. характеристики планшета . функции планшета. |
Как выбрать фотоаппарат |
. будет описано устройство фотоаппарата . перечислены виды фотоаппаратов. |
Установка Windows 7 c USB-флешки |
Используя USB Flash можно установить Windows 7. |
Установка Ubuntu 12.04 LTS . |
простая инструкция как установить Linux Ubuntu 12.04 поверх Windows 7 . |
Установка Windows XP/7 на нетбук |
Сложность установки Windows XP на нетбуки заключается в том, что эти компьютеры не имеют CD-DVD приводов . |
Загрузочная установочная USB-флешка Windows 7 или 8 |
. Как сделать установочную USB-Flash Windows 7 или 8. |
Как записывать диски . |
. Теория и практика записи CD и DVD дисков . |
Как записать MP3 . |
Запись диска с mp3 треками, который может быть прочитан в бытовых mp3 плеерах . |
Флешка CD-ROM |
как создать USB CD-ROM из флеш-диска Apacer . |
Записываемые CD и DVD диски . |
На сегодняшний день (начало 2005 года) существует три базовых типа (формата) записываемых дисков DVD . |
Настройка сети
Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь — поддержите материально автора. Это легко сделать закинув денежек на Яндекс Кошелек № 410011416229354. Или на телефон +7 918-16-26-331.
Даже небольшая сумма может помочь написанию новых статей 🙂
Или поделитесь ссылкой на эту статью со своими друзьями.
В этой статье не будет рассмотрен аппаратный аспект такой сети поскольку нет ничего сложного в том, чтобы при помощи свитча и кабелей соединить компьютеры между собой. В дальнейшем подразумевается, что на физическом уровне сеть установлена и функционирует правильно, то есть будет описана лишь программная настройка сети.
Первое, что нужно сделать это выбрать каким образом компьютерам в сети будут присваиваться IP-адреса. Есть два способа, у каждого из которых есть достоинства и недостатки.
Динамическое присвоение адресов
- Ничего не нужно делать вручную, по умолчанию и в Ubuntu и в Windows используются именно эти настройки сетевых интерфейсов.
- Упрощается включение в состав сети новых компьютеров — достаточно лишь соединить такой компьютер с сетевым свитчем.
Недостаток в том, что нужно будет на одном из компьютеров устанавливать DHCP сервер, либо использовать устройство типа роутера со встроенным DHCP сервером. При этом сеть на компьютерах будет недоступна, если этот компьютер или роутер будет выключен или выйдет из строя.
Статическое присвоение адресов
В этом случае IP-адреса на каждом компьютере указываются вручную. Достоинства:
- Сеть будет работать в любом из своих сегментов. То есть если из четырех сетевых компьютеров включены лишь два, то сеть между ними будет работать.
- Не нужно роутера или DHCP сервера на каком-либо из компьютеров.
Недостаток в том, что нужно будет помнить какие адреса уже используются в сети, чтобы при включении нового компьютера не дать ему уже используемый адрес. Впрочем в небольшой сети не трудно посмотреть адрес на каждом компьютере.
Лично я сторонник статических адресов в тех сетях где состав сети небольшой (до 7-8 компьютеров) и при этом если в эту сеть не добавляются постоянно новые компьютеры (например ноутбуки). Далее в этой статье будет подразумеваться именно статический способ присвоения IP-адресов.
Настройка сетевых интерфейсов
Windows
В операционных системах Windows эти настройки делаются через апплет свойств сетевого подключения, а доступные сетевые подключения перечислены в «Панель управления — Сетевые подключения». Вот так этот апплет выглядит в Windows XP:
Примечание. В Windows 7, 8 и 10 апплет «Сетевые подключения» расположен в «Центр управления сетями — Изменение параметров адаптера». Или есть более короткий путь — через диалоговое окно «Выполнить«, в нем нужно написать имя файла ncpa.cpl.
- «Протокол Интернета (TCP/IP)» должен быть включен в любом случае, даже если по сети будет только один Интернет «раздаваться».
- «Клиент для сетей Microsoft» и «Служба доступа к файлам и принтерам сетей Microsoft» должны быть включены в том, случае если по сети нужно передавать файлы или печатать на общем принтере.
Кроме этого сетевому интерфейсу нужно присвоить IP-адрес. Это делается через свойства «Протокол Интернета (TCP/IP)», в следующем апплете:
Общепринято использовать для локальных сетей диапазон адресов 192.168.x.x. Поле «Основной шлюз» нужно заполнять только если этот компьютер получает Интернет с другого компьютера или с модема-роутера и в этом случае там должен быть адрес «раздатчика» Интернет.
Кроме этого, для того, чтобы сеть между компьютерами Windows работала, необходимо включить учетную запись «Гость» на каждом из компьютеров и убедиться в том, что на каждом компьютере:
- Имя рабочей группы совпадало.
- Имя компьютера было уникальным.
Имя рабочей группы и компьютера можно узнать, а также изменить через апплет «Система»:
Если используется брандмауэр Windows, то нужно разрешить сетевые соединения для доступа к файлам и папкам:
Аналогичное правило должно быть создано в том случае если используется другой файерволл.
Ubuntu Linux
В Ubuntu Linux параметры сетевых интерфейсов можно определить через через апплет «Сеть»:
И затем в свойствах сетевого интерфейса:
Настройка доступа к файлам
Windows
В отдельных статьях этот вопрос раскрывается более подробно:
Примечание. В Windows 7, 8 и 10 настройка доступа к файлам выполняется немного иначе чем на Windows XP. Для этих версий Windows есть отдельные статьи, ссылки указаны выше.
Если нужно, чтобы на компьютере с установленной ОС Windows были доступны через сеть какие-то файлы или принтер, необходимо эти файлы или принтер «расшарить» то есть разрешить доступ к ним других пользователей. Это делается через апплет свойств папки или принтера. Вот так этот апплет выглядит в Windows XP:
На вкладке «Безопасность» нужно добавить группу «Все» и дать ей полный доступ к папке. Это нужно для того, чтобы по сети в этой папке можно было создавать и редактировать файлы. Простейший полный и анонимный доступ к папке.
Кроме этого, на вкладке «Доступ» нужно разрешить сетевой доступ к этой папке и указать сетевое имя папки. При указании сетевого имени папки не рекомендую использовать русские буквы, а также пробелы — имя лучше писать латинскими буквами без пробелов:
Ubuntu Linux
В отдельной статье этот вопрос раскрывается более подробно — настройка доступа без пароля на Ubuntu Linux
Общий доступ к папке
Для того, чтобы сделать файлы и папки Ubuntu доступными через сеть на компьютерах с ОС Windows нужно установить полный пакет Samba. Потому что по умолчанию устанавливается только часть этого пакета — SMB Client, которая позволяет только получать доступ к сетевым ресурсам на компьютерах с ОС Windows. Установить этот пакет можно через менеджер пакетов Синаптик, либо этот пакет будет установлен автоматически при попытке «расшарить» первую папку на компьютере с ОС Ubuntu Linux. Но для установки этого пакета потребуется либо установочный DVD диск Ubuntu Linux, либо соединение с Интернет.
Для того, чтобы сделать файлы и папки Ubuntu доступными через сеть нужно в Наутилусе найти нужную папку, затем нажать правую кнопку мыши и затем открыть апплет «Свойства», а на нем вкладку «Общий доступ»:
Важно! На эту локальную папку необходимо дать права 777, то есть полный доступ для всех. Сделать это можно либо через файловый менеджер (через свойства папки — вкладка Доступ), либо при помощи консольной программы chmod.
Теперь эта локальная (для Линукс) папка будет доступна по сети.
Дополнительные настройки Самба (Samba)
Samba это программа, которая предоставляет доступ к файловым ресурсам Linux для компьютеров Windows. Таким образом что компьютер Linux в локальной сети выглядит так же как и компьютер Windows. На Ubuntu Samba устанавливается и запускается автоматически, если вы включили общий доступ к какой-либо папке через Наутилус (как это описано выше).
Для того, чтобы обеспечить более удобный доступ к сетевой папке Линукс со стороны Windows, без запросов паролей и проблем доступа, нужно еще дополнительно настроить Самбу. Для этого редактируется файл /etc/samba/smb.conf.
Гостевой полный доступ к сетевой папке на Линукс
- security = user
- map to guest = Bad Password
Примечание: параметр map to guest определяет поведение самбы в случае неправильного логина или пароля. В этом случае самба подключит сетевого пользователя под эккаунтом Гость. В этом параметре можно указывать и другое значение — bad user.
Секция [shared resource name]
- read only = no
- guest ok = yes
- directory mask = 0777
- create mask = 0777
Примечание: параметры directory mask и create mask «заставляют» самбу давать полные права для всех на те файлы, которые будут созданы в этой папке через сеть. Это необходимо для тог, чтобы обеспечить доступность файлов и папок для всех пользователей локальной сети.
Такие параметры позволят «спокойно» работать с расшаренными на Linux файлами через сеть не мучаясь с авторизацией.
Можно здесь добавить еще два параметра: «force user = username» и «force group = usergroup«. В этом случае, для всех созданных по сети файлов и папок будет установлен владелец username и группа владельца usergroup. Значения username и usergroup должны совпадать с именем и группой локального пользователя Линукс.
После расшаривании папки через Наутилус, нужные параметры в секциях [global] записываются автоматически. Но параметры directory mask и create mask нужно добавлять вручную.
Проблемы с доступом на локальной расшаренной папке Linux
После всех этих настроек тем не менее возможна проблема с доступом к некоторым файлам в этой папке через сеть. Такая проблема может возникнуть если локальный пользователь Линукс, локально откроет эту папку и создаст в ней новый файл. Этот файл другие пользователи сети не смогут редактировать. Поскольку права на него будут установлены не такие как все остальные файлы в папке (не 666).
То же самое произойдет если локальный пользователь Линукс скопирует в эту папку файлы из другой папки на компьютере Линукс, либо например с внешнего устройства.
Есть разные способы решения этой проблемы.
Самый технически простой заключается в том, что локальный пользователь Линукс открывал эту папку тоже через сеть. Дело в том, что графические файловые менеджеры (Проводники) позволяют через сетевое окружение открывать не только папки на других компьютерах сети, но и расшаренные папки на своем собственно компьютере!
Если локальный пользователь Линукс откроет свою расшаренную папку через сетевое окружение, то все его операции в папке будут «сетевыми», то есть при создании новых файлов эти файлы получат атрибуты доступа в соответствии с настройками Самба.
Рабочая группа Windows
Если название рабочей группы на компьютерах Windows отличается от «WORKGROUP», тогда нужно изменить значение параметра workgroup в файле /etc/samba/smb.conf. Вместо значения «WORKGROUP» там нужно записать то имя группы, которое используется на компьютерах Windows. По умолчанию для самбы значение параметра workgroup = WORKGROUP.
Как расшарить папку и задать разрешения и права доступа в Linux
Еще одна статья в которой подробно рассмотрен вопрос о том как в Linux настроить разрешения и права доступа для того чтобы расшарить папку для анонимного доступа по локальной сети (доступ без пароля).
Доступ к сетевым принтерам
Windows
Если принтер подключен к компьютеру с ОС Windows, нужно разрешить сетевой доступ к нему. Это делается точно так же как и в случае с файлами, через апплет «Свойства».
Ubuntu Linux
Для того, чтобы получить доступ к сетевому принтеру Windows, нужно воспользоваться апплетом «Печать», который доступен через меню «Система — Администрирование». В этом апплете нужно добавить новый принтер и затем выбрать поиск сетевого принтера Windows:
Поиск такого принтера выполняется нажатием кнопки «Browse».
Иван Сухов, 2011, 2015, 2017 г.
Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь — поддержите материально автора. Это легко сделать закинув денежек на Яндекс Кошелек № 410011416229354. Или на телефон +7 918-16-26-331.
Даже небольшая сумма может помочь написанию новых статей 🙂
Или поделитесь ссылкой на эту статью со своими друзьями.
Источник