Локальная сеть ubuntu. Настройка локальной сети в Linux

Несмотря на кажущуюся простоту доступа к общей папке 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 пользователя с неизменяемым паролем), то можно выбирать "Запомнить навсегда" и тогда пароль при обращении к папке общего доступа в дальнейшем запрашиваться не будет. Это же справедливо и для обращения к компьютеру. В приводимых примерах пароль не сохраняется.

Все манипуляции, по открытию общего доступа в локальной сети к папке, я проводил в 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.

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

Задача вроде бы и простая, но, тем не менее, некоторые моменты лучше знать.

Наверное, можно и как то проще и правильней, но я сделал так.

Итак, задача такая – есть десяток пользователей anna, andy, olya, nataly.. и т.д. У каждого в качестве операционки Ubuntu 10.04. Нужно организовать файловый сервер на отдельной машине Ubuntu 10.04 с папками для данных каждого пользователя с доступом только для этого пользователя и для админа, и папки для обмена файлами для каждой пары пользователей типа anna-andy, anna-olya, andy-olya.. с доступом только для двух пользователей из названия папки и админа. Организуем описанный примитивный файловый сервер!

Захожу на компьютер файлового сервера под учеткой администратора, создаю каталог, скажем «111» и внутри него создаю нужные каталоги:

Чтобы разрешения Samba на запись работали нужно разрешить запись пользователям в каждом нужном ему каталоге. Я не стал долго заморачиваться – все равно через samba будут видны для каждого пользователя с разрешениями необходимыми только те каталоги, которые я в samba открою, поэтому я в терминале выполнил команду

Sudo chmod -R 777 /home/alex/111

дав тем самым всем все права на каталог «111» и все каталоги из него. А в нем у меня все каталоги для файлового сервера и лежат.

Потом зашел в «Система» — «Администрирование» — «Пользователи и группы», создал пользователей. Имена, пароли и ID пользователей должны совпадать на файловом сервере и на компах самих пользователей. О том, что ID должен совпадать, я узнал уже после того, как создал пользователей, поэтому пришлось на компьютерах пользователей его менять для соответствия ID этих пользователей на файловом сервере. Имя и пароль через графическую утилиту задавать понятно как, чтоб задать ID нужно выбрать пользователя, зайти в «Дополнительные параметры» на вкладку «Дополнительно». При этом пользователь, ID которого я меняю должен полностью выйти из системы – если завершение сеанса этого пользователя не помогло – лучше перезагрузиться. У меня почему то не получалось из графического интерфейса поменять ID – он вроде как бы менялся, но при повторном заходе пользователя оказывался старым, поэтому я менял его из терминала. Чтобы посмотреть ID пользователя заходим в файл /etc/passwd и ищем строку с его именем:

vi /etc/passwd
...
andy:x:1008:1009:andy,:/home/andy:/bin/bash
...

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

Sudo usermod --uid 1005 andy

Всех этих манипуляций можно избежать, если создавать пользователя командой useradd с параметрами -u (тот самый uid) и — p (пароль), например:

sudo useradd -u 1005 -p userpassword username

Так, каталоги и пользователей я создал, теперь организую общий доступ, для этого мне понадобятся из «Центра приложений Ubuntu» два приложения, которые можно найти, задав для поиска «samba» — это «Samba» и «SMB/CIFS file,print, and login server of Unix»

Установив их, набираю в терминале

Sudo system-config-samba

или иду в «Система» «Администрирование» «Samba».
Потом «Настройка» «Пользователи Samba» «Добавить пользователя»

Выбираю первого пользователя, которому нужен файловый сервер из выпадающего меню «Имя пользователя Unix», ввожу точно такое же имя в графе «Имя пользователя Windows» затем пароль, «ok», «ok». И таким образом добавляю всех пользователей файлового сервера, созданных ранее в «Пользователи и группы». Эти же действия можно выполнить в терминале, к примеру добавление системного пользователя andy в список пользователей samba выглядит так:

smbpasswd -a andy

Smbpasswd -e andy

После добавления пользователей нажимаю зеленый плюсик в окне system-config-samba, в открывшемся окне нажимаю кнопку «Обзор», в открывшемся обзоре нахожу необходимый каталог, скажем «Anna-Andy», выбираю его, ставлю галочки «Запись разрешена» и «Виден»,

на вкладке «Доступ» ставлю галочки напротив пользователей andy и anna. Повторяю эту операцию для всех каталогов. После этого необходимо перезапустить сервис samba, для чего в терминале выполнить

Sudo service smbd restart

Теперь если нажать в главном меню «Переход» «Соединиться с сервером», выбрать в выпадающем меню «Тип сервиса» пункт «Ресурс ОС Windows», ввести в поле «Сервер» его IP адрес, то открывается список каталогов файлового сервера. Далее клацаем по нужному каталогу, вводим имя пользователя и пароль, и если на сервере самба с такими учетными данными ранее я разрешил ходить в этот каталог – он откроется с правами для чтения и записи). Но мне ведь нужно чтобы файлы созданные одним пользователем были доступны для чтения и записи другому пользователю, с которым у первого пользователя этот каталог общий. В графической утилите этот пункт пропущен, поэтому поправим из терминала созданный ранее нами на сервере файл /etc/samba/smb.conf . Чтобы файлы и каталоги, создаваемые пользователем andy в расшаренной папке andy-anna были доступны для чтения и записи пользователю anna, нужно в файле /etc/samba/smb.conf найти пункт и вставить строки create mask = 0777 и directory mask = 0777 , получится так.

процесс настройки соединения по сетевому кабелю двух компьютеров на линукс можно разделить на две условные части: вначале мы установим связь между ПК, чтобы они могли пинговать друг друга, а потом уже непосредственно настраиваем програмное обеспечение для обмена данными. В данном случае 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 . Итак, приступим.

Настройка локальной сети в Ubuntu выполняется с помощью команд.

Консольная настройка сети во всех Линукс-подобных операционных системах , в том числе и Ubuntu, осуществляется при помощи специальной команды ifconfig. Если просто прописать эту команду в терминале, то консоль покажет все сетевые интерфейсы, которые запущены на ПК в этот момент. Выглядит это следующим образом:

eth0 Link encap:Ethernet HWaddr 00:04:75:c1:e2:ab
inet addr:10.2.10.32 Bcast:10.2.10.255 Mask:255.255.255.0
….
….
eth1 Link encap:Ethernet HWaddr 00:04:75:c1:e2:6b
inet addr:192.168.140.1 Bcast:192.168.140.255 Mask:255.255.255.0
….
….
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
….
….

Первый столбец содержит имена интерфейсов, а второй - настройки этих самых интерфейсов. Команда ifconfig eth0 выводит настройки только интерфейса eth0. Для отключения либо включения интерфейса eth0 введите команды:

sudo ifconfig eth0 down
sudo ifconfig eth0 up

Обратите внимание, что для управления интерфейсами необходимы так называемые права суперпользователя.

Для изменения настроек интерфейсов пропишите команды следующего вида:

sudo ifconfig eth1 inet 192.168.140.1

поменять IP-адрес интерфейса eth1 на 192.168.140.1

sudo ifconfig eth0 hw ether 00:12:34:56:78:90

поменяет МАС-адрес на 00:12:34:56:78:90

sudo ifconfig eth0 netmask 255.255.255.0

поменять маску подсети интерфейса eth0 на 255.255.255.0

Однако, установленные подобным образом параметры сбрасываются после перезапуска компьютера. Во избежание этого следует изменить параметры в файле конфигурации сетевых интерфейсов, который находится в /etc/network/interfaces. Выглядит этот файл подобным образом:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet static
address 10.2.10.32
#hwaddress ether 12:34:56:78:90:12
netmask 255.255.255.0
network 10.2.10.0
broadcast 10.2.10.255
gateway 10.2.10.1
dns-nameservers 212.212.45.174
# The secondary network interface
auto eth1
iface eth1 inet static
address 192.168.140.1
netmask 255.255.255.0

Чтобы установить адрес DNS-сервера , перейдите к файлу /etc/network/interfaces, но обратите внимание, что обычно управление адресами DNS-серверов в Ubuntu происходит через файл /etc/resolv.conf, синтаксис этого файла конфигурации предельно прост, и выглядит так

nameserver 80.227.64.17

nameserver 80.231.56.1

После внесения изменений в эти конфигурационные файлы выполните перезапуск сетевой службы при помощи команды:

Если вам нужно, чтобы компьютер получал настройки сети динамически (через DHCP), пропишите в файле /etc/network/interfaces следующие строки:

Для динамического обновления параметров сети пропишите:

Чтобы остановить или запустить сетевую службу, воспользуйтесь командами:

sudo /etc/init.d/networking stop
sudo /etc/init.d/networking start

Если посмотреть рассматриваемый файл конфигурации, в настройках интерфейса eth0 строка, которая изменяет MAC-адрес закомментирована. Это сделано потому, что если её не закомментировать, то сетевая служба может не запуститься, и для изменения MAC-адреса может понадобиться прописать:

sudo ifconfig eth0 down
sudo ifconfig eth0 hw ether 12:34:56:78:90:12
sudo ifconfig eth0 up
sudo /etc/init.d/networking restart

Как вариант, можно написать bash-скрипт.

В папке /home/user создайте файл под названием mynetconfig и скопируйте в него код:

echo “########OTKLYCHENIE eth0#######”
sudo ifconfig eth0 down
echo “#####MENYAEM MAC ADRES#####”
sudo ifconfig eth0 hw ether 00:13:8f:cb:10:21
echo “########VKLUCHAEM eth0#########”
sudo ifconfig eth0 up
echo “####PEREZAGRYGAEM NETWORKING####”
sudo /etc/init.d/networking restart
echo “KONEC”

Теперь вместо этих строк вам придётся писать только одну команду: /home/user/mynetconfig

Далее скопируйте файл mynetconfig в каталог /use/local/bin. Теперь запускать скрипт можно будет просто с помощью команды mynetconfig. Чтобы скрипт запускался сразу при загрузке системы, скопируйте его в /etc/init.d/, а затем откройте консоль и перейдите в /etc/init.d/ , после чего выполните команду:

update-rc.d mynetconfig defaults 99,

где mynetconfig - имя скрипта;

defaults - выполнять на всех режимах загрузки от второго до пятого;

99 - порядок загрузки.

Чтобы удалить скрипт из автозагрузки , откройте каталог /etc/init.d/ и пропишите:

update-rc.d -f mynetconfig remove

Существует ещё один способ добавления скрипта в автозагрузку. Достаточно просто вписать имя скрипта в файл /etc/rc.local либо удалить его, если хотите убрать скрипт. Первый способ несколько сложнее, но стоит отдать предпочтение именно ему, так как в этом случае можно будет выбрать порядок и режим загрузки, что может быть важно в некоторых ситуациях.

Теперь рассмотрим, как подключить сетевой диск в Ubuntu. Делается это довольно просто. Сначала откройте меню «Переход» и выберите пункт «Соединиться с сервером». В открывшемся окне необходимо будет указать тип сервиса и другие общие данные. Нажмите кнопку «Соединиться». Далее нужно будет ввести свой пароль и кликнуть по кнопке «Подключиться». Готово. Всё достаточно легко и быстро.

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



В продолжение темы:
Android

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