Линукс не видит сеть windows. Локальная сеть между Ubuntu Linux и Windows

В этой статье будет рассмотрен простейший случай локальной сети - одноранговая полностью доверенная сеть. Или, если проще выражаться, соединены несколько равноценных компьютеров и доступ разрешен всем ко всем. Именно такие простые сети наиболее актуальны. В наибольшей степени такие гетерогенные (Windows - Linux) сети интересны для маленьких и небольших компаний, которые все более активно переходят на использование ОС GNU/Linux.

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

Первое, что нужно сделать это выбрать каким образом компьютерам в сети будут присваиваться 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 доступными через сеть на компьютерах с ОС 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.

Гостевой полный доступ к сетевой папке на Линукс

Секция

  1. security = user
  2. map to guest = Bad Password

Примечание : параметр map to guest определяет поведение самбы в случае неправильного логина или пароля. В этом случае самба подключит сетевого пользователя под эккаунтом Гость. В этом параметре можно указывать и другое значение - bad user.

Секция

  • 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 должны совпадать с именем и группой локального пользователя Линукс.

После расшаривании папки через Наутилус, нужные параметры в секциях записываются автоматически. Но параметры 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 .

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

процесс настройки соединения по сетевому кабелю двух компьютеров на линукс можно разделить на две условные части: вначале мы установим связь между ПК, чтобы они могли пинговать друг друга, а потом уже непосредственно настраиваем програмное обеспечение для обмена данными. В данном случае NFS сервер будем делать. Чтобы подружить компьтеры на ubuntu необходимо присвоить одному ip 192.168.0.1, а второму пк ip 192.168.0.2. Соответственно сетевую маску для обеих машин 255.0.0.0 В терминале можно написать: sudo eth0 192.168.0.1 netmask 255.0.0.0 up или же, если у вас есть Network Manager - то в его настройках это легко сделать. Стоит отметить, что когда я прописывал айпи и маску через консоль,а потом подключение устанавливал через network manager - то ничего не работало. Нужно или отключить его, или же присваивать ручками айпишник и маску. Итак, прописав всё на обеих машинах, подсоединив их по сетевому кабелю в терминале пробуем пропинговать другой пк. для этого пишем ping 192.168.0.2 Если идёт обмен пакетами, значит всё хорошо и переходим к другому этапу. Тут следует определиться какая машина будет в роли сервера, а какая в роли клиента. Я ПК с 192.168.0.1 решил сделать сервером. Устанавливаем на серверный ПК необходимые пакеты: sudo apt-get install -y nfs-kernel-server nfs-common portmap Запускаем переконфигурирование portmap и перезапускаем процесс sudo dpkg-reconfigure portmap sudo /etc/init.d/portmap restart Теперь пришло время создать папку с шарой (share folder) на NFS сервере Открываем любиым текстовым редактором, я использую nano файл /etc/exports sudo nano /etc/exports и туда добавить строчку, примерно такого содержания /home/user/music 192.168.0.2 (rw,sync,no_subtree_check) где вначале мы задаём адрес к шаровой папке, а потом указываем сразу IP клиента. Ну и сохраняем конфиг после манипуляций Пишем на последок: sudo exportfs -a Настройка Клиентской ubuntu Все проделанные нами действия осуществлялись на Серверной машине, теперь переходим на клиентскую Ubuntu. И начинаем с установки новеньких пакетов: sudo apt-get install portmap nfs-common Теперь осталось только примонтировать серверную папку у себя. Создадим в домашнем каталоге простого пользователя пустую директорию: mkdir share монтируем sudo mount 192.168.0.1:/home/user/music /home/user/share Объяснять тут нечего, указываем что и куда монтировать. Можно сделать монтирование папки при запуске системы, для этого будем использовать fstab sudo nano /etc/fstab и вставим туда: 192.168.0.1:/home/user/music /home/user/share nfs rsize=8192,wsize=8192,timeo=14,intr Теперь, чтобы примонтировать папку всего навсего нужно написать mount /home/user/share Вот так легко и просто при помощи сетевого кабеля я соединил в локальную сеть две машины под управлением ubuntu для нехитрого перекидывания важных файлов

Все манипуляции, по открытию общего доступа в локальной сети к папке, я проводил в Ubuntu 14.04 LTS.

  1. Для начала, щелкните правой кнопкой мыши на папке, которую вы хотите предоставить в сеть и выберите опцию «Общедоступная папка локальной сети». Если данная опция не доступна из контекстно меню по щелчку мышки, то Вам необходимо открыть Ubuntu Software Center — найти и устанавливать nautilus-share . После перезапустить Nautilus, командой:
    nautilus -q

    или просто выйти и зайти снова в систему.

  2. Когда откроется диалоговое окно «Общий доступ к папке», выберете «Опубликовать эту папку». Нажмите кнопку «Установить службу», если система этого попросит.
    После финиша процесса установки, придется снова выйти и зайти в систему.
  3. После всех инсталляций, по настройке папки для общего доступа, откроются дополнительные опции. В зависимости от ваших потребностей, Вы можете включить: «Разрешить другим пользователям изменять содержимое папки», «Гостевой доступ (для пользователей без локальной учетной записи)». На этом этапе можно применить все настройки. Данная папка будет доступна по локальной сети для всех пользователей .
  4. Но если вы хотите, чтобы клиентские машины, могли получать доступ к этой папке только по имени пользователя и паролю, то нужно выполнить следующие условия:
  • Открыть Ubuntu Software Center, найти и установить system-config-samba .
  • Запустить из меню, установленный графический инструмент настройки службы Samba.
  • Настройки -> Пользователи Samba.
  • Нажмите кнопку «Добавить пользователя».

Затем выберите имя пользователя, введите имя в «Имя пользователя Windows» и «Пароль Samba» -> OK.

Теперь, вы можете получить доступ к этой папке из локальной сети другой «машины», используя имя пользователя и пароль.

Перед тем, как приступать к настройке сетевого подключения в Линукс, надо начать с того, что посмотреть — какие настройки сети используются сейчас. Для этого надо воспользоваться командой ifconfig . В информационном режиме она доступна и без прав ROOT, хотя для её полноценного использования лучше получить привилегии суперпользователя, введя команду sudo ifconfig . Результатом её работы будет список имеющихся в системе сетевых подключений и их параметров.

В разных версиях Линукс имя сетевого интерфейса может быть сокращением от Ethernet — eth0, eth1, eth2 и т.п.

На интерфейс lo — сокращение от loopback — то есть локальная петля с адресом 127.0.0.1 .
Для примера рассмотрим интерфейс Eth0.
В строке inet addr отображается текущий IP-адрес компьютера в локальной сети, подключенной к этой сетевой карте. В примере это: 192.168.1.144
Bcast — это широковещательный адрес в сети, так называемый Бродкаст(Broadcast).
Mask — это маска сети.
HWaddr — это аппаратный адрес сетевой карты, он же MAC-адрес, используемый на канальном уровне.

Информацию о текущих подключения узнали, теперь рассмотрим настройку локальной сети в Linux. Сделать это можно тремя способами:
1 — Через графическую оболочку
2 — через команду ifconfig или инструмент Network Manager
3 — через конфигурационные файлы сетевого сервиса Netork или Networking.

На мой взгляд, последний способ — самый удобный и надёжный, а значит — правильный. Чтобы настроить сеть в Линукс надо открыть файл, содержащий конфиг интерфейса. Тут всё зависит от того, какой дистрибутив Linux используется.

Вариант 1. В дистрибутивах, основанных на Debian (Ubuntu, Kubuntu и т.п.)

Файл с параметрами сетевого подключения:

/etc/network/interfaces

Для того, чтобы изменить в linux настройки сети, файл его надо с правами root любым текстовым редактором. Например, через nano:

Sudo nano /etc/network/interfaces

Для автоматического получения адресов от DHCP-сервера надо пописать следующее:

Allow-hotplug eth0 iface eth0 inet dhcp

Если адрес надо прописать статически, то указываем следующее:

Allow-hotplug eth0 iface eth0 inet static address 192.168.1.2 netmask 255.255.255.0 network 192.168.1.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 192.168.1.1

В этом конфиге рассмотрен пример обычной домашней сети, где адрес компьютера будет 192.168.1.2, адрес шлюза и DNS-сервера (их фукнции обычно выполняет wifi-роутер)- .

Вариант 2. RedHat-based дистрибутивы (Fedora, OpenSuse, CentOS)

Файл с настройками сети Linux:

/etc/sysconfig/network-scripts/ifcfg-eth0

Открываем его так же через nano или vim:

Vim /etc/sysconfig/network-scripts/ifcfg-eth0

В случае автоматического получения настроек от DHCP-сервера:

DEVICE=eth0 BOOTPROTO=dhcp HWADDR=00-1C-1B-11-F6-07 ONBOOT=yes

Статический IP-адрес:

DEVICE=eth0 HWADDR=00-1C-1B-11-F6-07 IPADDR=192.168.1.2 NETMASK=255.255.255.0 BROADCAST=192.168.1.255 GATEWAY=192.168.1.1 ONBOOT=yes

IP-адреса DNS-серверов в этом случае прописываются в файле

/etc/resolv.conf

вот пример для публичных DNS-серверов от Google:

Nameserver 8.8.8.8 nameserver 8.8.4.4

Настройка сети в Линукс завершена. Остаётся только перезапустить сеть командой:

Service network restart

Собственно всё.

В качестве постскриптума расскажу как включить и выключить сеть в Linux. Делается это через всё ту же команду ifconfig. Выключить сетевую карту eth0:

Sudo ifconfig eth0 down

Включить сетевую плату в Линуксе обратно:

Sudo ifconfig eth0 up

Полностью остановить работу всех сетевых интерфейсов.

Service network stop

/etc/init.d/network stop

Включить всё назад:

Service network start

/etc/init.d/network restart

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

Рассматривается частный вопрос о работе в домашней сети Linux с общей папкой Windows XP с целью изменения в ней данных, то есть записи и удаления. Содержание публикации не раскрывает работу с более поздними версиями Windows (хотя ситуация с ними может быть похожей), а также работу в доменных сетях, то есть в сетях с централизованным управлением политикой паролей и базой данных пользователей, например, Windows Active Directory.

Итак, на Windows открывается папка общего доступа. Но при обращении пользователя Linux к этой папке через сетевое окружение оказывается, что "достучаться" невозможно даже к узлу.

В самом начале можно столкнуться с проблемой отсутствия доступа даже к рабочей группе.


Это может объясняется небольшой инерционностью при первом обращении по протоколу SMB, который используется для доступа к папкам и файлам Windows из сети. Подождите немного, хотя бы несколько секунд, и повторите попытку. В конечном счёте Вы компьютер "увидите".


При дальнейшем обращении высветится форма запроса полномочий доступа, например:


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

Причина в том, что как в Linux, так и в Windows, в целях обеспечения безопасности на уровне файловой системы действуют так называемые права на файлы и папки. А в данном случае пользователь Linux пытается обратиться к папке Windows под своим именем и паролем, о котором Windows не имеет никакого представления. Обращаться к ресурсу необходимо с использованием тех данных, о которых "знает" Windows. То есть, используя какие-то имя пользователя и пароль Windows, которые Windows известны.

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


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

Права на предоставляемую в доступ папку нуждаются в некоторой корректировке, так как по умолчанию для пользователей назначаются права "только чтение".

Пояснение. Чтобы увидеть полное содержание вкладки "Безопасность" на системе Windows откройте Проводник и в разделе "Сервис – Свойства папки – Вид" снимите галочку в поле "Использовать простой общий доступ к файлам".




Не нужно выставлять "Полный доступ" ни на вкладке "Доступ – Разрешения", ни на вкладке "Безопасность", хотя очень многие поступают именно так. Полный доступ подразумевает разрешение на смену как разрешений на объект, так и его владельца. И если в какой-то мере это может быть допустимо в рамках домашней сети из 2-3 компьютеров, то в других случаях лучше так не делать.

Лучше поставить галочку в поле "Изменение" (Все – это активные, то есть не отключенные, учётные записи пользователей на компьютере Windows).


Далее необходимо перейти к вкладке "Безопасность" и для пользователей компьютера Windows поставить галочку в поле "Запись".



Но и это ещё не всё. Нужно нажать на кнопку "Дополнительно" и для строки с внесённым изменением (столбец "Разрешение – Запись") добавить галочки в полях "Обзор папок", "Содержание папки", "Удаление подпапок и файлов", "Удаление".




При этом установить галочку в поле "Применять эти разрешения к объектам и контейнерам только внутри этого контейнера" (см. рисунок выше).

Ого, сколько всего. Прямо страсти какие-то мексиканские. И всё это надо сделать на Windows.


Теперь вернёмся к вопросу обращения к папке из Linux. Вводим правильные значения. Вместо


укажем имя пользователя в формате компьютер\пользователь. Так как компьютер, к которому осуществляется обращение называется H-38, а функционирующий в моей маленькой сети сервер DHCP назначает имя домена vot, то ввожу необходимые данные и, наконец-то, получаю перечень общих ресурсов компьютера H-38.



Как видно из рисунка, клиент Samba отобразил не только папку Data, но и скрытые ресурсы ADMIN и C, используемые системой Windows для целей администрирования (скрытые ресурсы Windows отображаются значком $ после имени ресурса).

Однако при попытке обращения к папке Data система снова выдаёт запроc на введение учётных данных. При этом по умолчанию предлагается подключиться анонимно.


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

Если пароль пользователя Windows никогда меняться не будет (а в самом начале рекомендовалось создать на Windows пользователя с неизменяемым паролем), то можно выбирать "Запомнить навсегда" и тогда пароль при обращении к папке общего доступа в дальнейшем запрашиваться не будет. Это же справедливо и для обращения к компьютеру. В приводимых примерах пароль не сохраняется.

Компьютер