Linux сеть машина windows

Как просматривать машины Linux из сети Windows 10 с помощью службы WSD

В этом руководстве мы установим службу WSD на Ubuntu, которая позволит компьютерам с Windows 10 видеть другие компьютеры с Ubuntu и общие ресурсы Samba в проводнике Windows.

alexnettm Send an email 7 сентября, 2022 EDT at 12:09 дп Last Updated: 7 сентября, 2022 EDT at 12:09 дп

Это руководство предназначено для пользователей Windows 10, которые не видят другие компьютеры Ubuntu в проводнике Windows, но могут получить к ним прямой доступ по сетевому пути, используя имя хоста (\\hostname\share) или IP (\\192.168.1.10\share).

Вам потребуются привилегии sudo на компьютере с Ubuntu для установки службы wsdd.

Вы также должны убедиться, что Samba уже установлена и работает в Ubuntu. Вы можете узнать, проверив сервис с помощью:

sudo systemctl status smbd

Если не установлен, установите с помощью:

sudo apt update && sudo apt install samba

Проблема с Ubuntu 22.04 и сетевым обнаружением Windows 10

SMB 1.0 (SMBv1)

Несколько руководств и видеороликов на YouTube, предлагают вручную включить SMB 1.0 в Windows 10, чтобы сделать другие машины Ubuntu видимыми в проводнике Windows. Хотя это может работать в более старых выпусках Windows 10, это не рекомендуется из-за последствий для безопасности.

“Hi folks, Ned here again and today’s topic is short and sweet: Stop using SMB1. Stop using SMB1 . STOP USING SMB1!” source

В Windows 10 версии 1511 поддержка SMBv1 и, следовательно, обнаружение устройств NetBIOS были отключены по умолчанию. В зависимости от фактического выпуска, более поздние версии Windows, начиная с версии 1709 («Fall Creators Update»), больше не позволяют устанавливать клиент SMBv1.

Это приводит к тому, что хосты, на которых работает Samba, не отображаются в резделе «Сетевое окружение» проводника. Хотя проблем с подключением нет и Samba по-прежнему будет работать нормально, пользователи могут захотеть, чтобы их хосты Samba автоматически отображались в списке Windows.

mDNS

Ubuntu 22.04 автоматически регистрирует ваш сервер samba в остальной части сети, используя mDNS (Avahi). Все другие машины Linux, а также macOS могут автоматически обнаружить эту регистрацию.

Причина, по которой Windows 10 не может обнаружить сетевые ресурсы Ubuntu, заключается в том, что, Windows может использовать mDNS, но не знает, как автоматически сканировать сеть на их наличие.

Читайте также:  Время выполнения операции linux

WSD

Веб-службы для устройств (WSD) — это API Microsoft, позволяющий программировать подключения к устройствам с поддержкой веб-служб, таким как принтеры, сканеры и общие файловые ресурсы. Он служит заменой старых сетевых функций Windows, таких как NetBIOS.

С добавлением службы WSD в Ubuntu Windows 10 обнаружит сервер Linux Samba, используя собственный протокол WSD.

Почему Ubuntu изначально не поддерживает WSD?

Эта проблема поднималась в системе отслеживания ошибок Samba с 2015 года. Так что может случиться так, что эта функция будет интегрирована в Samba в будущем. Но пока мы должны вручную установить патч самостоятельно.

Установка WSD в Ubuntu

wsdd — это сервис от christgau на GitHub, который реализует хост-демон Web Service Discovery для Ubuntu. Это позволяет клиентам обнаружения веб-служб, таким как Windows 10, находить хосты Samba.

Перейдите в каталог /tmp

Скачайте и разархивируйте архив

wget https://github.com/christgau/wsdd/archive/master.zip

Переименуйте wsdd.py в wsdd

sudo mv wsdd-master/src/wsdd.py wsdd-master/src/wsdd

Скопируйте в /usr/bin

sudo cp wsdd-master/src/wsdd /usr/bin

Скопируйте wsdd в /etc/systemd/system

sudo cp wsdd-master/etc/systemd/wsdd.service /etc/systemd/system

Откройте wsdd.service в nano и закомментируйте User=nobody и Group=nobody с помощью ; точка с запятой.

sudo nano /etc/systemd/system/wsdd.service
[Unit] Description=Web Services Dynamic Discovery host daemon Documentation=man:wsdd(8) ; Start after the network has been configured After=network-online.target Wants=network-online.target ; It makes sense to have Samba running when wsdd starts, but is not required. ; Thus, the next to lines are disabled and use BindsTo only. ; One may also add any of these services to After for stronger binding. ;BindsTo=smb.service ;BindsTo=samba.service [Service] Type=simple ;EnvironmentFile=/etc/default/wsdd ; The service is put into an empty runtime directory chroot, ; i.e. the runtime directory which usually resides under /run ;ExecStart=/usr/bin/wsdd --shortlog --chroot=/run/wsdd $WSDD_PARAMS ExecStart=/usr/bin/wsdd --shortlog ;DynamicUser=yes ; User=nobody ; Group=nobody ;RuntimeDirectory=wsdd ;AmbientCapabilities=CAP_SYS_CHROOT [Install] WantedBy=multi-user.target

Сохраните и выйдите (нажмите CTRL + X, нажмите Y, а затем нажмите ENTER)
Перезагрузите

sudo systemctl daemon-reload

Запустите и включите wsdd

sudo systemctl start wsdd
sudo systemctl enable wsdd
Created symlink /etc/systemd/system/multi-user.target.wants/wsdd.service → /etc/systemd/system/wsdd.service.

Теперь проверьте, запущена ли служба

 wsdd.service - Web Services Dynamic Discovery host daemon Loaded: loaded (/etc/systemd/system/wsdd.service; enabled; vendor preset: enabled) Active: active (running) since Tue 2022-09-06 20:52:23 EEST; 9h ago Docs: man:wsdd(8) Main PID: 762 (python3) Tasks: 1 (limit: 6909) Memory: 17.7M CPU: 300ms CGroup: /system.slice/wsdd.service └─762 python3 /usr/bin/wsdd --shortlog Sep 06 20:52:23 homeserver systemd[1]: Started Web Services Dynamic Discovery host daemon. Sep 06 20:52:25 homeserver wsdd[762]: WARNING: no interface given, using all interfaces

Теперь Вы сможете просматривать свои машины Ubuntu и общие ресурсы Samba в проводнике Windows 10. Возможно, вам придется перезагрузить компьютеры с Windows 10, чтобы принудительно обнаружить их.

Вы также можете перезагрузить сервер Ubuntu, чтобы убедиться, что служба wsdd запускается автоматически без проблем.

homeserver

Как удалить wsdd

Если вы хотите полностью удалить wsdd, остановите и отключите службу

sudo systemctl disable wsdd

Удалите wsdd из /usr/bin

sudo rm /etc/systemd/system/wsdd.service

alexnettm Send an email 7 сентября, 2022 EDT at 12:09 дп Last Updated: 7 сентября, 2022 EDT at 12:09 дп

Читайте также:  Mount usb hdd to linux

Источник

Настройка сети в гостевой Ubuntu 16.04 Server на VirtualBox + Windows 7

Весна, снова потянуло на эксперименты. Ну, в моем понимании этого слова. Решил поставить себе в Windows 7 виртуальную машину, а в эту машину — Ubuntu 16.04 Server (под которой работает хостинг для моих сайтов). И не то чтобы меня как-то OpenServer не устраивает — он как раз весьма неплох в качестве домашнего WAMP-а, но всё же иногда хочется иметь под рукой локально и LAMP, ну просто потому что. В качестве виртуальной машины [ожидаемо] выбрал VirtualBox.

В целом, установка Ubuntu 16.04 Server на VirtualBox каких-то особых вопросов не вызвала, но вот настройка сети в Ubuntu так, чтобы ее было видно из Windows, поставила меня в тупик. Ибо опыта в этом деле — 0, а мануалы по теме хотя и гуглятся во множестве, но в каждом из них тема почему-то раскрыта лишь частично, и требует уже определенного уровня знания Linux и принципов работы сетевых интерфейсов.

В конечном итоге я этот вопрос решил и теперь делюсь с теми, кому оно тоже актуально. Приступим.

1. Скачиваем VirtualBox для Windows www.virtualbox.org/wiki/Downloads

2. Скачиваем Ubuntu Server 16.04 www.ubuntu.com/download/server

3. Устанавливаем VirtualBox в систему (ставится легко, раскрывать этот вопрос здесь не буду, в крайнем случае — в сети есть много шпаргалок по теме).

4. Ставим Ubuntu Server 16.04 в VirtualBox. Здесь тоже всё не сложнее (а то и проще), чем установка винды, например, и много всяких хороших руководств с картинками (они, в общем, и не требуются — всё интуитивно понятно). Но есть пара нюансов:

4.1 При установке сети выберите автоматическую настройку.
4.2 При установке пакетов сразу поставьте галки на сервер OpenSSH и LAMP (остальное по желанию) — так проще.

5. Я полагаю, что все у вас прошло нормально, Ubuntu загрузилась, и интернет в ней наличествует ( проверить можно командой ping yandex.ru например). Однако, остается вопрос, как, например, законнектиться с Ubuntu из Windows скажем, через SSH. Или просто даже открыть в браузере сайт, работающий на убунтовском Apache.

6. Итак, остановим нашу Ubuntu, закроем окно с терминалом, и уже в главном окне VirtualBox идем в Файл → Настройки → Сеть → Виртуальные сети хоста — справа три маленькие иконки — жмем на нижнюю с изображением отвертки.

7. Видим IP-адрес: 192.168.56.1 — это адрес, по которому Windows обращается к VirtualBox.

8. Рядом вкладка «DHCP сервер» в нашем случае она пуста (чекбокс не выбран). И пусть таковой и остается.

9. Далее идем в настройки гостевой системы (в нашем случае — Ubuntu 16.04.2 Server), щелкаем правой кнопкой на вкладке с системой и выбираем самый верхний пункт «Настроить. ».

Читайте также:  Arch linux virtual machines

10. Здесь снова идем в «Сеть» (у нас получается два одноименных пункта «Сеть», но в первом случае мы настраивали сеть Windows и VirtualBox, а теперь мы настраиваем сеть гостевой системы — Ubuntu в связке с остальным). Здесь мы видим, что для первого адаптера отмечена NAT. Не меняем.

11. Открываем вкладку «Адаптер 2», ставим галку на «Включить сетевой адаптер» и в списке выбираем тип подключения: «Виртуальный адаптер хоста». Жмем ОК. Это действие добавит нам в Ubuntu сетевой адаптер, через который мы и прорубим окно во внешний мир, и в которое можно будет посмотреть на Ubuntu из Windows, через браузер или SSH-клиент, например.

12. Далее идем в окно терминала Ubuntu, логинимся (если еще не), и сразу ставим mc

Чем значительно облегчаем себе дальнейшую жизнь (здесь вспоминается высказывание древнего философа: — Это как же нужно было не любить людей, чтобы содать vi )

13. Смотрим какие сетевые интерфейсы нам доступны:

Нужно это для того, чтобы понять, какое имя в Ubuntu носит тот самый «Виртуальный адаптер хоста», который мы создали в шаге №11

На скрине вы видите уже настроенные интерфейсы, но у вас будет примерно то же самое. Нас в данной ситуации исключительно интересует какое имя носит сетевой интерфейс, через который мы и будем осуществлять доступ из винды в убунту.

Здесь мы видим, что есть три интерфейса: lo — локальная петля, enp0s3 — это «Адаптер 1» который у нас настроен как NAT (через него идет интернет-трафик в Ubuntu) и, наконец, enp0s8 — это и есть вышеупомянутый «Адаптер 2» («Виртуальный адаптер хоста»). Теперь осталось его настроить.

14. Запускаем mc от имени суперпользователя:

15. И открываем для правки файл

(переводим на него курсор и жмем F4), либо просто командой

Но лично я предпочитаю через mc — меньше буковок набирать приходится 🙂

16. И добавляем туда в конец текста такие строки:

Получается что-то вроде как показано на скрине:

Если двумя словами, то мы тем самым нашему «Адаптеру 2» дали статический IP-адрес: 192.168.56.107 (можете поменять его на 192.168.56.101 например, или 192.168.56.110, без разницы). И теперь через этот адрес, Ubuntu будет видна из Windows.

17. Сохраняем изменения — F2 и выходим из редактора — F10.

18. Далее перезапускаем интерфейсы, например так:

или можете просто перезагрузить Ubuntu Server.

19. Теперь, если звезды на небе расположены правильно, то открыв браузер, и набрав в адресной строке:

вы увидите приветственную страницу установленного в составе LAMP (см.п. 4.2 выше) Apache2.

Либо можете законнектиться по SSH через 22 порт по этому же IP-адресу: 192.168.56.107

Источник

Оцените статью
Adblock
detector