Promemoriya.ru

Дачный журнал
2 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как ubuntu подключить к домашней сети windows

Подключение к графической подсистеме Linux Ubuntu по локальной сети.

Для удаленного подключения к графической подсистеме Linux из Windows используются два основных способа:

— перенаправление графического ввода-вывода из среды Linux на графический сервер , работающий на стороне Windows ( X11 Forwarding )

— подключение с использованием X Display Manager Control Protocol (XDMCP) — протокола, обеспечивающего удаленное подключение графических терминалов (X-терминалов) к графическому серверу (X-серверу).

Первый способ проще реализуется и позволяет получить приемлемое быстродействие графических приложений на системах с малой производительностью. Менеджер дисплея и TCP-соединения X-сервера на стороне Linux в данном случае не используются. Второй – позволяет получить полноценное удаленное рабочее место пользователя, функционально ничем не отличающееся от обычного, локального. При реализации данного вида удаленного подключения используются дополнительные настройки конфигурации для X-сервера и менеджера дисплея.

Подключение из Windows к графической подсистеме Linux на примере Ubuntu Desktop .

Способы и средства удаленного подключения к графической подсистеме Linux из Windows уже рассматривались подробно в статье Подключение из Windows к графической подсистеме Mandriva Linux. В данной же статье рассматриваются вопросы, связанные с особенностями настройки X-сервера Ubuntu и менеджера дисплея LightDM. На стороне Windows используется бесплатный пакет Xming, последнюю версию которого, а также дополнительные пакеты с поддержкой различных шрифтов, и локализованную версию мастера Xlaunch найдете здесь:

Удаленная работа с графическими приложениями при использовании X11 Forwarding.

Перенаправление графического вывода удаленной подсистемы ( X11 Forwarding ) позволяет работать напрямую с графическими приложениями среды Linux на компьютере с графическим сервером Xming на стороне Windows. Данный режим реализуется с помощью SSH-подключения, в котором ssh-сервер sshd на стороне Linux перехватывает графический ввод-вывод и перенаправляет его ssh-клиенту ( PuTTY ) на стороне Windows, который в свою очередь , перенаправляет его графическому серверу Xming , развернутому в среде Windows. Таким образом, для реализации данного режима не требуется настройка X-сервера и менеджера дисплея для работы по сети, но требуется установка и настройка демона ssh на стороне Linux. В большинстве дистрибутивов Linux для рабочих станций (например, Ubuntu Desktop), сервер SSH по умолчанию, не устанавливается, поэтому его нужно установить командой :

sudo apt-get install ssh

В процессе выполнения команды будет выдано сообщение об устанавливаемых пакетах и объеме занимаемого ими пространства на жестком диске:

… ncurses-term openssh-server python-requests python-urllib3 ssh-import-id, rssh molly-guard monkeysphere openssh-blacklist openssh-blacklist-extra ) НОВЫЕ пакеты, которые будут установлены: ncurses-term openssh-server python-requests python-urllib3 ssh ssh-import-id обновлено 0, установлено 6 новых пакетов, для удаления отмечено 0 пакетов, и 273 пакетов не обновлено. Необходимо скачать 848 kБ архивов. После данной операции, объём занятого дискового пространства возрастёт на 3 480 kB. Хотите продолжить [Д/н]? После ответа Д будет установлен и запущен сервер SSH

Для проверки работоспособности ssh-сервера можно воспользоваться командой:

netstat -na | more

Строка Означает, что сервер ожидает входящие соединения ( “слушает”, LISTEN ) стандартный порт 22 на всех сетевых интерфейсах (0 0.0.0.0:22 )

Для режима перенаправления графического вывода X11 forwarding в настройках демона sshd необходимо включить ( проверить ) некоторые параметры. Все действия требуют права root.

Переходим в каталог /etc/ssh и открываем конфигурационный файл демона SSH sshd_config . Для работы через X11 Forwarding в нем должна присутствовать незакомментированная строка

X11Forwarding yes

Естественно, в данном режиме, работа с удаленной графической подсистемой Linux, выполняется напрямую с графическими приложениями, без использования рабочего стола Ubuntu. Если количество нужных для работы приложений невелико, то такой способ предпочтительнее, поскольку позволяет снизить степень использования ресурсов удаленной системы и позволяет получить более высокое быстродействие, по сравнению с технологией, основанной на использовании XDMCP. Таким образом, при перенаправлении графического вывода, ( X11 forwarding )программа Xming, используется в качестве X-сервера, работающего поверх вашего рабочего стола Windows, с запускаемыми на удаленной системе с ОС Linux графическими приложениями. При этом, графический сервер на удаленном Linux не используется и может быть даже не установлен.

Кроме Xming, в данной технологии используются клиент и сервер SSH. Клиентская часть — на компьютере с ОС Windows, сервер — на компьютере с Linux. Разработчики Xming с некоторых пор, включили клиентское программное обеспечение для реализации режима X11 Forwarding в состав инсталляционных пакетов (Standart PuTTY и Portable PuTTY).

При установке пакета Xming имеется возможность выбрать устанавливаемые версии PuTTY.

Однако, лучшим выбором будет скачать актуальную версию бесплатного SSH — клиента для Windows на странице загрузки PuTTY, где размещены ссылки для скачивания файлов утилиты putty.exe и дополнительных программных модулей, которые могут использоваться для работы с ней (копирование файлов, генерация ключей, телнет-клиент и т.п.). Имеется также ссылка для скачивания архива, включающего putty.exe и дополнительных программ для 32-х и 64-х разрядных ОС. Инсталляция не требуется. Просто скопируйте исполняемый файл putty.exe в каталог с установленным Xming, или любой другой, по вашему выбору.

Настройка Putty.
Для работы с Xming в режиме перенаправления графического вывода достаточно подправить секцию SSH:

Данные настройки означают, что разрешено X11 Forwarding и для него будет использоваться графический дисплей (X-дисплей) с номером 0 . Использовать 0-й номер дисплея не обязательно, но важно, чтобы этот номер совпадал с номером дисплея, указанном при запуске Xming ( поле Display number ):

При запуске Xming , с помощью мастера Xlaunch , задается номер дисплея (при необходимости) и выбирается многооконный режим Multiple windows , остальные параметры можно оставить по умолчанию. Фактически, номер дисплея определяет номер порта графического сервера на стороне Windows

– 0 соответствует порту 6000/TCP

Как уже рассматривалось выше, настройки X11 Forwarding в секции SSH/X11 PuTTY, также определяют X-сервер, на который будет перенаправляться графический ввод-вывод:

localhost:0 — X-сервер, слушающий порт 6000/TCP

localhost:1 — X-сервер, слушающий порт 6001/TCP

Соответственно, если на одном и том же компьютере запускается несколько X-серверов Xming, то номера графических дисплеев для них должны быть разными и соответствовать номерам, задаваемым в настройках клиента SSH. Для проверки подключенных графических подсистем можно воспользоваться командой отправки сообщения графическому дисплею

xmessage $DISPLAY — отобразить значение переменной DISPLAY

В результате выполнения команды получим:

Данное сообщение отображается на том графическом дисплее, которому соответствует перенаправление графического вывода SSH-клиента, в окне которого выполнялась команда xmessage

После того, как Xming стартовал, с помощью ssh-клиента PuTTY подключаемся к ssh-серверу Linux Ubuntu, и в командной строке запускаем нужное графическое приложение, Например, если запустить графический терминал xterm , то на компьютере с Windows появляется окно графического терминала Linux.

При запуске из сессии SSH-клиента PuTTY, или из окна уже запущенного терминала xterm , какого-либо графического приложения, например, обозревателя firefox на рабочем столе Windows отобразится его окно, в котором можно работать точно так же, как и на локальном компьютере с Linux Ubuntu.

Удаленное подключение к графической подсистеме из Linux .

Настройки демона sshd для удаленного доступа к графической подсистеме Linux выполняются точно так же, как и в случае перенаправления для X-сервера на стороне Windows. Графический вывод удаленной системы, в данной конфигурации, будет перенаправляться демоном sshd и разворачиваться графическим сервером на стороне подключившегося клиента.

Для удаленного подключения к графической подсистеме с использованием перенаправления X11 Forwarding клиентов Linux-систем, можно воспользоваться стандартным SSH-клиентом:

ssh -X -l user 192.168.0.1

-X — использовать перенаправление графического вывода X11Forwarding.

-l user — имя пользователя для подключения к удаленному компьютеру.

192.168.0.1 — адрес удаленного компьютера

После регистрации в удаленной системе, пользователь user имеет возможность работать с графическими приложениями на удаленном компьютере 192.168.0.1

Для запуска конкретного приложения на удаленной системе, можно указать его имя:

ssh -X -l user 192.168.0.1 ‘xterm’

После авторизации, на локальном дисплее отобразится окно терминала xterm удаленного компьютера под управлением Linux.

По соображениям безопасности, вместо параметра ssh -X желательно использовать параметр -Y , предотвращающий возможность взаимодействия удаленного клиента с локальным графическим дисплеем системы, к которой выполняется подключение.

Подключение к рабочему столу Linux Ubuntu с использованием XDMCP.

Менеджер дисплея ( Display Manager или DM ) — это специальная системная служба обеспечивающая запуск графического сервера, вывод на графический дисплей приглашения на вход в систему, регистрацию пользователей, запуск оконных менеджеров, монтирование необходимых устройств, ведение баз данных входов и выходов пользователей в системе utmp и wtmp и т.п.

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

В настоящий момент в графической подсистеме Linux (обозначаемой как X Window System или как X11 ) наиболее распространенными менеджерами дисплеев являются X Display Manager (xdm) , Gnome Display Manager (gdm) и KDE Display Manager (kdm) и с 2012 года — Light Display Manager ( LghtDM ) . Разработка последнего начата в 2010 г. сотрудником компании Canonical Робертом Энцеллом (Robert Ancell) и в настоящее время LiightDM является вполне достойной альтернативой менеджерам дисплея предыдущего поколения. Главными его особенностями являются небольшой размер, высокое быстродействие, возможность работы с любой графической оболочкой и расширение функциональных возможностей с помощью плагинов. В перспективе, проект LightDM задается довольно амбициозной, но все же, реальной целью — стать стандартом для Х-сервера Linux X.org — сервера X Window System с открытым исходным кодом. С 2012 года, LightDM стал использоваться в качестве менеджера дисплеев по умолчанию во всех дистрибутивах Linux Ubuntu.

Читать еще:  Cam модуль как настроить для дом ру

Особенности настроек безопасности в Linux Ubuntu Desktop последних версий не предусматривают возможности удаленного подключения к графической среде по локальной сети – сервер X11 не слушает порт 6000/TCP и менеджер LightDM не слушает порт 177/UDP. Поэтому, в первую очередь нужно выполнить соответствующие настройки, обеспечивающие возможность сетевого подключения по протоколу XDMCP.

Все файлы конфигурации менеджера дисплея LightDM размещаются в системном каталоге /etc/lightdm . Основные настройки — это lightdm.conf, который после инсталляции имеет следующее содержание:

Для разрешения TCP-подключений к графическому серверу X11 , нужно в файл конфигурации lightdm.conf добавить строку :

Для разрешения удаленных подключений к менеджеру дисплея нужно добавить секцию

Внесенные изменения вступят в силу только после перезапуска менеджера дисплея или перезагрузки системы. Для перезапуска LightDM можно воспользоваться командой:

service lightdm restart

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

После перезапуска графической подсистемы или перезагрузки Ubuntu, можно проверить, слушаются ли порты 6000/TCP и 177/UDP:

netstat –na | more

В результате, видим, что менеджер дисплея ( LightDM ) настроен на использование протокола XDMCP и принимает входящие подключения на UDP порт 177 (по умолчанию) , а графический сервер (сервер X11 ) – принимает входящие подключения на порт 6000/TCP. Вообще-то, сетевой доступ к графическому серверу на стороне Linux для случая с применением Xming на стороне Windows не потребуется, и настройка для порта 6000/TCP приведена лишь в качестве примера.

Для удаленного подключения к рабочему столу Linux по протоколу XDMCP используется порт 177/UDP, который должен слушаться на стороне Linux и не должен быть закрыть брандмауэром. Кроме того, на компьютерах с несколькими сетевыми интерфейсами возможны проблемы с удаленным подключением, вызванные нестыковкой IP-адресов и имен узлов. Поэтому, в файлах /etc/hosts ( Ubuntu ) и windowssystem32driversetchosts ( Windows ) нужно прописать соответствие имен и IP-адресов компьютеров для того сетевого интерфейса, через который будет выполняться подключение ( например, только для подсети 192.168.0.0/24). Очень часто в среде Linux, после установки системы, например на компьютер с именем Ubuntu13, в файле /etc/hosts присутствуют записи :

Как видно, имени Ubuntu13 сопоставлен адрес петлевого интерфейса, и следовательно, реальный обмен данными по протоколу IP с использованием имени узла, невозможен. Чтобы устранить данную проблему, нужно в последней строке заменить 127.0.0.1 на IP-адрес компьютера в локальной сети например:

Аналогично, в системе с Windows, в файле hosts нужно оставить ( добавить) только те записи, которые задают однозначное соответствие имен и IP-адресов в одной и той же подсети.

Для подключения к удаленному Linux Ubuntu, можно воспользоваться ярлыком Xlaunch . При подключении с использованием XDMCP необходимо выбрать режим работы в одном окне ( One Window ):

Выбираем сессию с использованием XDMCP:

Указываем IP-адрес или имя компьютера с ОС Linux, к которому необходимо подключиться:

Следующий экран служит для определения дополнительных параметров сессии и его пока можно оставить без изменений. Жмем кнопку «Далее» и, если все сделано правильно — перед нами приглашение менеджера дисплея Linux.

Статьи по теме удаленного рабочего стола Linux и Windows:

Если вы желаете помочь развитию проекта, можете воспользоваться кнопкой «Поделиться» для своей социальной сети

Подключение к серверу WSL2 через локальную сеть

Я разрабатываю приложение rails с использованием WSL2/Ubuntu на своей машине Windows 10, и это здорово! Проблема в том, что я не могу подключиться к своему серверу с другого компьютера в той же сети .

Для большей ясности я запускаю сервер Puma на localhost:3000

Я попробовал следующее:

  1. Прямое подключение к адресу IP, назначенному адаптеру Ethernet vEthernet (WSL) -> 172.26.208.1:3000
  2. Прямое подключение к адресу хост-машины IPv4 — > 192.168.0.115
  3. Добавление исключения брандмауэра (с помощью Bitdefender)
  4. Привязка IPs выше rails s -b 172.26.208.1 -p 3000

До сих пор ничего из вышеперечисленного не сработало. Вот что я хотел бы сделать:

  • Протестируйте сайт на другом laptop/tablet/phone
  • Используйте VScode с другого компьютера

Есть ли что-то, чего мне не хватает, чтобы хотя бы правильно видеть сайт? (и любые комментарии по части VScode будут оценены по достоинству)

5 ответов

  • Подключение к серверу TCP/IP через скрипт php

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

Я не знаю, с чего начать. Я объясню на картинке ниже, что я хочу сделать. Как и вы, поэтому у вас есть 2 части. Локальная часть и часть azure. Часть azure — это моя часть. Локальная сеть может быть клиентом, . То, что я хотел сделать, это запустить службу на ПК и отправить эти данные на.

Вариант 1: Используйте переадресацию портов

Это сработало для меня:

Команды брандмауэра в этом сценарии не работали в моей системе. Поэтому я полностью отключил брандмауэр Windows и использую следующую разделенную версию. (Конечные пользователи в любом случае будут использовать брандмауэр 3d, так что все в порядке).

Возможно, вам потребуется «apt установить net-tools» для ifconfig в сценарии. Есть также решение с «ip addr» где-то в Интернете, которое не нуждается в ifconfig» в отличной теме, у меня нет ссылки здесь и сейчас.

Предостережение

Это работает только для трафика TCP. интерфейс netsh portproxy не поддерживает порт для передачи трафика UDP.

Вариант 2: Режим моста

Решение: Переключитесь с NAT в режим моста

WSL2 по умолчанию поставляется в режиме NAT. Там система wsl2 имеет другой ip-адрес в другой подсети, чем хост. PC от внешних одноранговых узлов виден только windows IP, а wsl2 ip/net-hidden/internal., поэтому весь трафик должен быть принят windows IP, а затем перенаправлен на wsl2 ip (переадресация портов).

Существует еще один режим, называемый режимом моста. В режиме моста ваша сетевая интерфейсная карта будет совместно использоваться с системой wsl2, и она получит свой собственный IP/Net в wsl2. Таким образом, фактически ваша сетевая карта является общей для обеих систем (windows / wsl2) и будет иметь две IPs, как если бы у вас было две системы с собственной сетевой картой каждая. Классная вещь: у вас никогда не будет конфликтов портов, когда Windows использует тот же порт, что и ваше приложение wsl2 (например, 111).

Включить режим моста

Откройте диспетчер Hyper-V от имени администратора

Выберите свой компьютер, откройте Диспетчер виртуальных коммутаторов

Установить во внешнюю сеть

Выберите сетевую карту, через которую проходит трафик

Затем войдите в wsl2 terminal и настройте адрес IP. E.g.

Вам нужно использовать другой бесплатный IP (не ваш Windows IP). Если в вашей сети есть сервер DHCP, ваш wsl может получить его с помощью:

Предостережение

Я еще не разработал, как заставить DNS работать в этом сценарии, если вы все еще хотите иметь доступ к Интернету (apt и т. Д.). Есть некоторая документация от MS, написанная в /etc/resolv.conf, и, возможно, выполнение того, что там написано, и установка resolvconf (до всех вышеперечисленных шагов, так как у вас нет Интернета, как только вы начнете мостить) может сделать трюк.

  • Существуют ли существенные накладные расходы при подключении к базе данных по доменному имени, а не по IP-адресу, через локальную сеть?

Существуют ли существенные накладные расходы при подключении к базе данных по доменному имени, а не по IP-адресу, через локальную сеть? У меня есть сервер приложений, который будет подключаться к серверу mongodb, работающему на отдельном экземпляре, но в той же локальной сети. Есть ли существенные.

Я начинаю свой ruby на rails сервере с: rails server -b 0.0.0.0 -p 80 А с моего локального компьютера я могу получить доступ к серверу как через http://localhost, так и через http://192.168.0.101 (IP-адрес localhost). Но когда я пытаюсь получить к нему доступ со смартфона, подключенного к той же.

установите сервер ssh на WSL

Найдите какого-нибудь клиента ssh на windows

Выполнить на windows: (Windows — е IP с 192.168.x.x и WSL ip с 172.28.x.x)

ssh -L 192.168.x.x:3000:172.28.x.x:3000 someuser@172.28.x.x

если это не сработает, попробуйте использовать другой локальный порт, например (192.168.x.x: 3001 :172.28.x.x:3000)

Что касается режима моста — Windows предотвратит изменение виртуального коммутатора WSL (ошибка отказа в доступе) при запуске любого дистрибутива Linux. С другой стороны, переключатель WSL создается при запуске первого дистрибутива Linux. Я сделал следующее:

  1. Начал wsl
  2. Оставьте wsl shell и убедитесь, что все дистрибутивы остановлены ( wsl -l -v)
  3. Модифицированный виртуальный коммутатор WSL
  4. Начал ВСЛ снова

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

  1. Существует список DNS — х — 8.8.8.8, 8.8.4.4, 9.9.9.9, которые поддерживают моего провайдера DNS. Это означает, что resolv.conf должен быть создан. nslookup отражает правильную конфигурацию.
  2. Можно настроить реле DHCP на внешнее DHCP
  3. Я могу определить и настроить, как устройства получают динамическую IP, включая статическую аренду. Предполагается, что устройство использует правильный IP-адрес DHCP.
  4. Конечно, я могу настроить переадресацию портов для известных маршрутизатору устройств.
Читать еще:  Если задом заезжать под кирпич

Попробуйте -b 0.0.0.0 вот что работает на других OSes

Похожие вопросы:

Когда я запускаю сервер на своем компьютере, он прослушивает любой ip-адрес и порт 105. Если клиент на другом компьютере хочет подключиться к серверу на моем компьютере, он использует локальный.

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

Я создаю приложение, которое подключается к серверу и отправляет какой-то текст. Если сеть (как wifi, так и 3g) есть, она немедленно отправит текст на сервер. Но если Сети нет, он продолжает.

Мне нужно реализовать скрипт php на моем сайте, который будет делать следующее: Подключение к удаленному серверу Отправить пакет на сервер Получение пакета с сервера Все уже настроено на стороне.

Я не знаю, с чего начать. Я объясню на картинке ниже, что я хочу сделать. Как и вы, поэтому у вас есть 2 части. Локальная часть и часть azure. Часть azure — это моя часть. Локальная сеть может быть.

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

Я начинаю свой ruby на rails сервере с: rails server -b 0.0.0.0 -p 80 А с моего локального компьютера я могу получить доступ к серверу как через http://localhost, так и через http://192.168.0.101.

Я установил сервер на своей машине Ubuntu VMware, которая подключена через мостовую сеть. Как я могу подключиться к своему серверу с Windows или с другого компьютера, работающего с Windows?

Я пытаюсь обернуть свою голову вокруг Kubernetes и в качестве упражнения я хочу .igrate свою установку docker-compose, которая состоит из nginx, php-fpm и mysql в кластер k8s.. Хотя я знаком с.

MySQL Workbench и MySQL сервер 8 установлен в Windows. В моем приглашении WSL2 я установил клиент MySQL 8. Я хочу подключиться к серверу MySQL с WSL2. Когда я пытаюсь mysql -u root -p -h 127.0.0.1 .

Ошибка 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 18.04 — настройка сети c Windows

Настройка сети

Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь — поддержите материально автора. Это легко сделать закинув денежек на Яндекс Кошелек № 410011416229354. Или на телефон +7 918-16-26-331.

Даже небольшая сумма может помочь написанию новых статей 🙂

Или поделитесь ссылкой на эту статью со своими друзьями.

Опубликовано: 02.06.2018 Последнее обновление этой статьи: 02.06.2018

Инструкция по настройке локальной сети между Ubuntu 18.04 и Windows.

Ранее я уже написал несколько статей на тему настройки гетерогенной локальной сети (гетерогенная это сеть между разными ОС).

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

Подключение Ubuntu 18.04 к локальной сети Windows

Уже несколько лет, с тех пор как в Ubuntu используется файловый менеджер Наутилус 3 версии (сейчас он называется «Файлы»), существует косяк в браузере локальной сети Наутилуса. Если открыть Наутилус и в нем открыть вкладку «Другие места» и затем «Сеть Windows», то будет пустая страница:

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

Тем не менее, Наутилус может подключаться к компьютерам Windows в локальной сети. Для этого нужно вручную, в адресной строке Наутилуса, вписать имя рабочей группы Windows или имя компьютера Windows. Для ввода текста, в адресной строке Наутилуса, нужно нажать клавиши Ctrl + L.

Адрес с именем рабочей группы (smb://workgroup):

После ввода адреса и нажатия Enter, Наутилус подключится к локальной сети Windows и выдаст запрос на авторизацию:

Запрос на авторизацию будет в любом случае, даже если на компьютере Windows настроен вход без пароля. В этом случае нужно вписать произвольные имя пользователя и пароль (например 1 и 1). Но если на компьютере Windows настроен вход по паролю, тогда конечно нужно вводить имя и пароль, которые существуют на компьютере Windows.

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

И после авторизации, Наутилус покажет список компьютеров в этой рабочей группе.

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

После подключения к компьютеру Windows, этот адрес можно добавить в закладки Избранное:

И впоследствии подключаться через закладку в Избранном.

Подключиться к компьютеру Windows можно не только по его имени, но и по его IP-адресу (smb://192.168.1.3).

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

Ubuntu 18.04 share folder в локальную сеть Windows

Раздача собственных ресурсов Ubuntu 18.04 (файлов и принтеров) в локальную сеть Windows выполняется так же как в предыдущих версиях.

Нужно открыть свойства папки в Наутилус (Файлы), и там открыть вкладку «Общедоступная папка локальной сети»:

И на этой вкладке включить опцию «Опубликовать эту папку».

Из коробки, в Ubuntu 18.04, Samba не установлена. И при расшаривании самой первой папки будет запрос на установку Samba:

Затем еще один запрос:

После установки Samba можно расшаривать папки:

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

И две опции, которые дают удаленным пользователям полный доступ к файлам в этой папке.

После установки опций, нужно нажать кнопку «Применить».

Если вы хотите дать полный доступ к файлам в этой папке, тогда нужно еще изменить права доступа к этой папке. Это вкладка «Права»:

Для группы «Остальные» нужно дать права «Создание и удаление». А также нажать кнопку «Изменить права на вложенные файлы» и там тоже дать права полного доступа:

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

Все расшаренные через Наутилус папки перечислены в папке /var/lib/samba/usershares.

Однако останется еще одна проблема. Если в этой папке будет создан файл с другого компьютера (через сеть), тогда этот файл получит владельца nobody и группу nogroup:

А это значит, что локальный пользователь Ubuntu не сможет редактировать или удалить этот файл!

Для предотвращения такой проблемы нужно вручную редактировать файл глобальных настроек Samba /etc/samba/smb.conf, например в терминале можно написать команду «sudo gedit /etc/samba/smb.conf«.

В этом файле, в конце, нужно создать секцию для расшаренной папки:

[pictures]
path = /home/user/Изображения
guest ok = yes
read only = no

И нужно выбрать вариант настроек для создания файлов и папок через сеть.

  • create mask = 0777
  • directory mask = 0777

В этом случае файл (папка) получат владельца nobody и группу nogroup, но для группы «Остальные» будут даны полные права доступа. То есть любой локальный пользователь Ubuntu будет иметь доступ к этому файлу.

Или другой вариант:

  • force user = user name
  • force group = user group

В этом случае файл (папка) получат владельца и группу указанного локального пользователя. То есть иметь доступ к этому файлу будет только тот локальный пользователь Ubuntu в домашней папке которого расположена сетевая (расшаренная) папка.

Выбор варианта зависит от конфигурации Ubuntu. Если есть лишь один локальный пользователь, тогда можно использовать второй вариант.

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

Сопутствующие статьи

  • Samba — как расшарить папку — в этой статье более подробно рассмотрен вопрос настройки Samba.
  • Настройка LAN между Ubuntu Linux и Windows — в этой статье, описана настройка сети Ubuntu и Windows с «обоих сторон».
  • Установка расширений GNOME Shell
  • Описание Gnome Shell

Другие статьи про Ubuntu 18.04

  • Настройка Ubuntu 18.04 и Gnome Shell
  • Как установить Ubuntu 18.04
  • Как установить Ubuntu 18.04 на шифрованный диск
  • Установка расширений GNOME Shell
  • Как установить Wine в Ubuntu 18.04
  • Установка VirtualBox на Ubuntu 18.04
  • Как установить Skype в Ubuntu 18.04

Если вы живете в г. Краснодар и вам необходимо настроить локальную сеть в Linux

Иван Сухов, 2018, 2019 г.

Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь — поддержите материально автора. Это легко сделать закинув денежек на Яндекс Кошелек № 410011416229354. Или на телефон +7 918-16-26-331.

Даже небольшая сумма может помочь написанию новых статей 🙂

Или поделитесь ссылкой на эту статью со своими друзьями.

голоса
Рейтинг статьи
Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector