Open
Close

Локальная сеть между Ubuntu Linux и Windows. Настройка локальной сети Linux - Linux и Linux - Windows Локальная сеть между windows 7 и linux

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

Общие сведения.

Для создания общих сетевых ресурсов в среде Windows, применяется протокол CIFS (ранее известный как SMB), поддержка которого в UNIX-подобных системах обеспечивается программным обеспечением Samba . Samba работает по протоколам TCP и UDP , соединение шифруется. С помощью Samba возможно обеспечить не только общий доступ к файлам и принтерам, но и, например, построить контроллер домена с поддержкой Active Directory (об этом в следующий раз). С помощью Samba можно открыть общий доступ не только между Windows и Linux, но и между Linux и Linux. Однако есть некоторые ограничения. Во первых, SMB - это "виндовый" протокол, со всеми вытекающими. Он не слишком хорошо интегрируется с UNIX-системами. Не вдаваясь в сложные технические описания, скажу лишь что скорость передачи данных по Samba медленнее, зачастую значительно, она нестабильна, как и загрузка сетевого канала, а также даёт весьма ощутимую нагрузку на процессор. Поэтому если в вашей домашней сети нет Windows-машин, то предпочтительнее использовать протокол сетевой файловой системы - NFS .

Суть работы NFS весьма проста. Удалённый ресурс встраивается в общее дерево файловой системы, и в результате каталог, который находится на файловом сервере или другом компьютере, отображается в вашей системе как локальный, будто находится на диске. NFS работает по протоколу TCP . NFS весьма полезна при создании так называемых тонких клиентов (бездисковые рабочие станции, в которых система загружается по сети). Скорость передачи данных по NFS в 2 раза выше , чем через Samba, загрузка сети равномерная, а нагрузка на центральный процессор минимальная. Однако у NFS есть два недостатка. Первый - довольно фиговая поддержка в Windows (реализуется через подсистему UNIX и отдельное приложение). Второй - отсутствие шифрования (c версии NFSv4 , для шифрования может использоваться протокол Kerberos). Тем не менее, для Линуксовой сети, NFS - идеальный вариант.

Внимание : на обеих системах должны быть настроены статические IP адреса.В Windows кликнете правой кнопкой на значке сетевых подключений и выберите "Центр управления сетями и общим доступом" , далее "Изменение параметров адаптера" , выберите нужный адаптер (вашу сетевую карту) и зайдите в её свойства. Перейдите в пункт "Протокол Интернета версии 4" и выберите "Использовать следующий IP адрес" :

Если ваши компьютеры соединены напрямую, поле "Основной шлюз" можете оставить пустым. Если через роутер - укажите IP адрес роутера (тот, через который осуществляется доступ к его вэб-интерфейсу, обычно 192.168.0.1). В Linux аналогичную операцию можно провести в Network Manager (настройка сетевых подключений, вкладка IPv4):

Если вы используете фаерволл (брандмауэр Windows либо другое аналогичное ПО, а также iptables в Linux или фаерволл в вашем роутере), убедитесь что открыты нужные порты (Для SAMBA : 135, 139, 445/ TCP ; 137, 138 /UDP . Для NFS : 2049 /TCP ).

Linux => Windows

Представим ситуацию: у вас есть второй компьютер (или файловый сервер), под управлением Ubuntu 14.04 , на котором находится большая коллекция ваших видео, фото и так далее, расположенная на отдельном диске, который монтируется в /media/MyDATA . Этот диск нужно расшарить на компьютер под управлением Windows 8.1 . Первым делом, установим необходимые пакеты:

sudo apt install samba samba-common smbclient

Теперь необходимо сконфигурировать Самбу. У вас есть два пути: консольный и графический .

Консольный.

Открываем файл /etc/samba/smb.conf :

sudo nano /etc/samba/smb.conf

Полностью удаляем всё содержимое и вписываем такие настройки:


workgroup = WORKGROUP
netbios name = Ubuntu-PC
server string = Ubuntu PC
map to guest = bad user
guest account = nobody
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192

#Следовать по симлинкам
unix extensions = no
wide links = yes
follow symlinks = yes

log level = 1

# UTF кодировка
unix charset = UTF-8
dos charset = cp1251
store dos attributes = yes

max log size = 10


path = /media/MyDATA
writeable = yes
available = yes
public = yes
guest ok = yes
force user = nobody
force group = nobody

В секции global описываются общие параметры: WORKGROUP - имя рабочей группы (должно быть одинаково для всех машин в локальной сети), Ubuntu-PC - имя компьютера, с которого расшариваются каталоги (укажите своё), вход без пароля, гостевой доступ и оптимизации для соединения. В секции MyDATA описывается доступ к диску, смонтированному в /media/MyDATA . При желании вы можете указать доступ к отдельным каталогам на этом диске, аналогичным способом. Сохраните файл и выполните команду:

testparm -s

Эта команда проверит конфиг на наличие ошибок и в случае их обнаружения, укажет где что исправить.

Теперь запустите сервер Samba:

sudo service start smbd

Графический.

Для настройки параметров Samba в графическом интерфейсе, существует 2 замечательные утилиты - system-config-samba (есть только в Ubuntu и производных) и gadmin-samba (есть везде). Эти утилиты представляют собой весь конфиг Самбы, выполненный в графическом режиме. Для Ubuntu установим первую утилиту:

sudo apt install syste-config-samba

Здесь всё предельно понятно и в настройках разберётся любой:)

Для других дистрибутивов (например Debian), установите пакет gadmin-samba:

sudo apt install gadmin-samba


После настройки, перезапустите демон Samba. Для Ubuntu:

sudo service restart smbd

sudo systemctl restart smbd.service

Также можно открыть доступ к нужному каталогу из файлового менеджера, открыв свойства каталога:


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


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

Linux => Linux

А теперь представим, что у нас есть компьютер с Debian 8 (IP адрес 192.168.0.2 ), и ноутбук с Ubuntu 14.04 (IP адрес 192.168.0.3 ). С ноутбука нужно расшарить раздел диска, который смонтирован в /media/DATA (это раздел для торрентов и прочей файлопомойки). Для этого мы используем NFS :

sudo apt install nfs-kernel-server nfs-common rpcbind

Укажем что нужно расшаривать:

sudo nano /etc/exports

/media/DATA 192.168.0.0/255.255.255.0(rw,no_root_squash,no_subtree_check,crossmnt,fsid=0)


/media/DATA - то, что нужно расшарить.
192.168.0.0/255.255.255.0 - только компьютерам в этой подсети будет обеспечен доступ к общему ресурсу (можете указать конкретный IP адрес).
rw - поддержка чтения и записи.
no_root_squash - Позволяет пользователю root (на стороне клиента) иметь доверенный полный доступ к разделу.
no_subtree_check - Если монтируется только часть тома, то сервер будет выполнять проверку принадлежности файла запрошенного клиентом, именно к той части тома, которая примонтирована. Это замедляет передачу данных, по этому зачастую данная опция включена в список параметров.
crossmnt - Этот параметр похож на nohide он дает возможности видеть каталоги смонтированные на основной системе. Таким образом, когда дочерняя файловая система «B» установлена на основной «А», установив crossmnt на «А» имеет тот же эффект, что и установка «nohide» на B.
fsid=0 - NFS-сервер должен быть в состоянии идентифицировать каждую файловую систему, которую экспортирует. Для сервера NFSv4, существует выделенная файловая система, которая является корнем всей экспортируемой файловой системе. fsid = root или fsid = 0 означают одно и то же.

Применяем настройки:

sudo nano /etc/hosts.allow

Указываем доступ для всех машин, находящихся в подсети 192.168.0.0/255.255.255.0 :

nfsd: 192.168.0.0/255.255.255.0
rpcbind: 192.168.0.0/255.255.255.0
mountd: 192.168.0.0/255.255.255.0

Если вы указали в файле exports только IP адрес нужной машины, то соответственно, указывайте его.

Теперь запустите сервис:

sudo service nfs-kernel-server start

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

sudo apt install nfs-common rpcbind

Создайте директорию для монтирования общего ресурса:

sudo mkdir /media/Share

Монтирование вручную.

sudo mount -t nfs4 192.168.0.3:/ /media/Share

В результате всё содержимое диска /media/DATA (на ноутбуке) окажется доступным на компьютере в каталоге /media/Share , как если бы эти данные хранились на нём. Для того чтобы ресурс монтировался автоматически после загрузки системы, есть два способа.

Монтирование через fstab.

Файл /etc/fstab содержит в себе информацию о присутствующих файловых системах, точках монтирования и параметрах монтирования. Чтобы ресурс /media/DATA монтировался на ваш компьютер автоматически, добавьте в конец файла /etc/fstab следуюущую строку:

192.168.0.3:/ /media/Share nfs user,rw,noauto 0 0

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

Монтирование с помощью AutoFS.

AutoFS - это пакет для обеспечения монтирования съёмных и сетевых накопителей, только при обращении к ним. При отсутствии обращения к сетевому ресурсу или съёмному устройству в течении определённого времени, он автоматически размонтируется, и мгновенно монтируется при первом же обращении к нему. Устанавливаем:

sudo apt install autofs

Настраиваем:

sudo nano /etc/auto.master

В конец файла добавляем строку:

/mnt /etc/auto.nfs --timeout=60

/mnt - каталог для монтирования сетевого ресурса.
/etc/auto.nfs - путь к файлу, в котором описаны параметры монтирования.
--timeout=60 - время в секундах, после которого произойдёт размонтирование ресурса (можете указать своё).

Сохраняем и переходим к следующему файлу:

sudo nano /etc/auto.nfs

Добавляем строку:

Share -fstype=nfs,rw,noatime,noexec,nosuid,tcp,async,rsize=32768,wsize=32768,intr,nolock,soft,noauto 192.168.0.3:/

Создадим директорию Share в каталоге /mnt , куда будет монтироваться ресурс:

sudo mkdir /mnt/Share

Вот и всё. Теперь в каталоге /mnt/Share , при первом же обращении к нему, будет появляться содержимое удалённого ресурса /media/DATA . Кнопка подключения сетевого диска появится в файловом менеджере.

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

Для систематизирования информации по настройке сети в ОС Linux было решено написать эту заметку. Здесь в доступной форме описан процесс настройки сетевого интерфейса на примере ОС Ubuntu. Также данное руководство поможет «поднять» локальную сеть и на любом другом дистрибутиве Linux.

Для просмотра текущих параметров сети и состояния сетевых интерфейсов в ОС Линукс существует команда:

Пример вывода:

eth0 Link encap:Ethernet HWaddr 00:11:5b:91:25:3e

inet addr:192.168.1.18 Bcast:192.168.255.255 Mask:255.255.0.0
inet6 addr: fe80::211:5bff:fe91:253e/64 Диапазон:Ссылка
ВВЕРХ BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:648009 errors:0 dropped:0 overruns:0 frame:0
TX packets:1075413 errors:0 dropped:0 overruns:0 carrier:0
коллизии:0 txqueuelen:1000
RX bytes:70177943 (70.1 MB) TX bytes:1536487024 (1.5 GB)
Прервано:19 Base address:0xd000

lo Link encap:Локальная петля (Loopback)

inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Диапазон:Узел
ВВЕРХ LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:106 errors:0 dropped:0 overruns:0 frame:0
TX packets:106 errors:0 dropped:0 overruns:0 carrier:0
коллизии:0 txqueuelen:0
RX bytes:13776 (13.7 KB) TX bytes:13776 (13.7 KB)

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

# sudo ifconfig -a

Из приведенного примера видно, что на компьютере используется два сетевых интерфейса: eth0 и lo .

Интерфейс lo - это локальная петля, которая имеет IP-адрес 127.0.0.1 и предназначена для сетевого доступа к своему же компьютеру. Далее этот интерфейс рассматриваться не будет, так как для эффективной работы не требует дополнительной настройки.

Интерфейс eth0 - это Ethernet сетевая карта, которая имеет сетевые параметры: IP-адрес - 192.168.1.18 , маску сети - 255.255.0.0 и MAC-адрес - 00:11:5b:91:25:3e . Значение RUNNING показывает, что в данный момент сетевой интерфейс eth0 работает.

Для просмотра типа соединения, скорости и поддерживаемых параметров сетевым интерфейсом eth0 набираем команду:

# sudo ethtool eth0

Вывод:

Supported ports: [ TP MII ]
Supported link modes:10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full

100baseT/Half 100baseT/Full

Advertised auto-negotiation: Yes
Speed: 100Mb/s
Duplex: Full
Port: MII
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
Supports Wake-on: pg
Wake-on: d
Current message level: 0x000000c5 (197)
Link detected: yes

Из вывода видно, что сетевой интерфейс eth0 работает на скорости 100Мб/с с включенным полным дуплексом (Full Duplex). Полный дуплекс от полудуплекса (Half Duplex) отличается тем, что первый обеспечивает передачу данных в обе стороны одновременно, а второй осуществляет передачу входящих и исходящих данных поочередно.

2. Как остановить/запустить или перезагрузить сетевой интерфейс?

Для остановки сетевого интерфейса eth0 существует команда:

# sudo ifconfig eth0 down

Команду легко запомнить, так как после названия самой команды идет имя интерфейса и после действие, которое нужно произвести над ним (down или up).

Для возобновления работы сетевого интерфейса eth0:

# sudo ifconfig eth0 up

Чтобы перезапустить все сетевые интерфейсы ОС вводим команду:

# sudo /etc/init.d/networking restart

Эта строка запускает bash-скрипт networking, перезапускающий сетевые интерфейсы системы.

Так же по аналогии производится остановка всех интерфейсов:

# sudo /etc/init.d/networking stop

И их запуск:

# sudo /etc/init.d/networking start

3. Как изменить сетевые настройки?

Чтобы изменить сетевые настройки в ОС Linux можно пойти двумя путями:
  1. использовать команды для присвоения параметров сетевых интерфейсов;
  2. отредактировать конфигурационный файл, содержащий параметры сетевых интерфейсов.

Настроить сеть можно одним из вышеприведенных способов. Эти два способа абсолютно взаимозаменяемые. Кому как привычнее.

  1. Настройка сети с помощью команд.

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

    Чтобы задать основной IP-адрес и маску сети для интерфейса eth0:

    # sudo ifconfig eth0 192.168.0.1 netmask 255.255.255.0

    Для присвоения дополнительного IP-адреса интерфейсу eth0:

    # sudo ifconfig eth0:0 10.10.0.1 netmask 255.255.255.0

  2. Настройка сети с помощью редактирования конфигурационного файла.

    Редактировать будем конфигурационный файл /etc/network/interfaces . Чтобы вывести на экран содержимое конфига, набираем команду:

    # sudo nano /etc/network/interfaces

    Если локальная сеть, к которой подключаемся, подразумевает ручную настройку IP-адреса, то содержимое конфигурационного файла должно выглядеть примерно так:

    iface lo inet loopback

    auto eth0
    iface eth0 inet static
    address 192.168.1.18
    netmask 255.255.0.0
    gateway 192.168.1.253

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

    Строка auto eth0 говорит, что сетевой интерфейс eth0 должен стартовать при загрузке ОС.

    Вторая строка iface eth0 inet static говорит, что сетевому интерфейсу eth0 IP-адрес задается вручную.

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

    Строка netmask 255.255.0.0 говорит, что маска сети является 255.255.0.0.

    Последняя строчка gateway 192.168.1.253 показывает, что сетевым шлюзом является компьютер с IP-адресом 192.168.1.253. Эта строка может отсутствовать, так как ее наличие в конфигурационном файле зависит от параметров локальной сети, к которой подключается настраиваемый компьютер.

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

    iface lo inet loopback

    auto eth0
    iface eth0 inet dhcp

4. Дополнительные сетевые настройки: DNS-сервера, MAC-адреса и скорость сетевого интерфейса.

Настройка DNS-сервера.

Так же во многих случаях для правильной работы локальной сети на настраиваемом компьютере потребуется ввести IP-адрес используемого DNS-сервера.

Для этого нужно открыть конфигурационный файл командой:

# sudo nano /etc/resolv.conf

Вывод:

# Generated by NetworkManager
nameserver 192.168.1.253

Строка nameserver 192.168.1.253 говорит, что в качестве DNS-сервера используется компьютер с IP-адресом 192.168.1.253.

Смена MAC-адреса сетевой карты.

Чтобы временно поменять MAC-адрес сетевой карты eth0 нужно воспользоваться командой:

# sudo ifconfig eth0 hw ether 00:01:02:03:04:05

Последнее число - это новый MAC-адрес.

Для смена MAC-адреса навсегда нужно в конфигурационном файле /etc/network/interfaces к настройкам сетевого интерфейса добавить строку с новым MAC-адресом:

iface eth0 inet dhcp

pre-up ifconfig eth0 hw ether 00:01:02:03:04:05

Смены скорости сетевого интерфейса.

Для строгого задания скорости сетевой карты:

# sudo ethtool -s eth0 speed 100 duplex full autoneg off

# Принудительно задать скорость сетевому интерфейсу 100Mbit и режим Full Duplex и отключить автоматическое определение

# sudo ethtool -s eth0 speed 10 duplex half autoneg off

# Принудительно задать скорость сетевому интерфейсу 10Mbit и режим Half Duplex и отключить автоматическое определение

Случайные 7 статей:

Комментарии

  1. sergo
    1 Ноябрь, 23:27

    огромное спасибо за статью! в линукс недавно, оч помогло, не подскажете, если сетевых в компьютере две, у одной сетевой dns-server 192.168.0.9, а у другой например 192.168.1.9, корректно будет в одном файле resolv.conf написать
    nameserver 192.168.0.9
    nameserver 192.168.1.9
    Поймут сетевухи кому какой dns?
    И можно ли в линукс назначить сетевой карточке какое-то имя, например eth0 это loc, а eth1 это prov?

  2. Mut@NT
    2 Ноябрь, 00:07

    1. DNS можно указать оба, но сетевым следует указать маски сети 255.255.255.0. Тогда они будут ходить по своим DNS `ам.

    2. Про названия сетевых не знаю. Думаю, что можно, это же Linux!!

  3. sergo
    2 Ноябрь, 03:44

    выключаем интерфейс
    ifconfig eth0 down
    даем команду
    ifrename -i eth0 -n новое_имя (например local)
    ifconfig local up
    потом в вашем линуксе наверно надо будет в файле /etc/network/interfaces некоторые eth0 поменять на local, у меня просто альт, и этого файла вообще нет, у меня /etc/net/ifaces/папки_с_интерфейсами, и вот у меня надо папку eth0 переименовать в local, ну и потом
    service network restart:)

  4. Mut@NT
    2 Ноябрь, 08:45

    Нужно будет добавить в статью, спасибо))

  5. gpns
    14 Май, 17:36

    Думаю стоит попровить строку: sudo ifconfig eth0:0 10.10.0.1 netmask 255.255.255.0
    у алиаса не может быть маски /24 (255.255.255.0), это не ошибка, т.к. в любом случае интерфейсу eth0:0 будет присвоена маска /32 (255.255.255.255)
    В вашем случае будет: sudo ifconfig eth0:0 10.10.0.1/32

  6. Mut@NT
    16 Май, 12:02

    gpns: Думаю стоит попровить строку: sudo ifconfig eth0:0 10.10.0.1 netmask 255.255.255.0 у алиаса не может быть маски /24 (255.255.255.0), это не ошибка, т.к. в любом случае интерфейсу eth0:0 будет присвоена маска /32 (255.255.255.255) В вашем случае будет: sudo ifconfig eth0:0 10.10.0.1/32

    Черт, Вы перевернули все мое сознание. Придется переделывать настройки сетевого интерфейса на компьютере, которые работали уже почти 2 года.
    Почему тогда командой ifconfig показывается та маска, которую я установил?

  7. GydruS
    13 Сентябрь, 23:32

    Простым языком! Ясно и понятно! Огромное спасибо!
    P.S. Только в листингах ввода команд хорошо бы шрифт сделать такой, где 0 от О визуально отличается.

  8. Mut@NT
    14 Сентябрь, 18:34

    GydruS: P.S. Только в листингах ввода команд хорошо бы шрифт сделать такой, где 0 от О визуально отличается.

    Спасибо, приму к сведенью. Хотя вроде отличие есть, в точке)

  9. andrey
    18 Сентябрь, 23:50

    спасибо за ваш сайт. мне нравится! все доходчиво и понятно
    у меня к вам такой вопрос. если можно подскажите пожалуйста как настроить сеть чтобы работала локалка и DSL соединение одновременно.
    не могу понять как это сделать???!!

  10. Mut@NT
    20 Сентябрь, 07:18

    andrey: спасибо за ваш сайт. мне нравится! все доходчиво и понятно у меня к вам такой вопрос. если можно подскажите пожалуйста как настроить сеть чтобы работала локалка и DSL соединение одновременно.

    Если честно давно не сталкивался с DSL -соединениями. Расскажите по потробнее:
    1. Какая локальная сеть? За модемом или на другой сетевой?

  11. andrey
    20 Сентябрь, 18:38

    соединение самое обычное – городская сеть
    компьютер подключен через сетевую карту
    выход в интернет подключается через соединение DSL

  12. Mut@NT
    21 Сентябрь, 17:22

    andrey: соединение самое обычное – городская сеть компьютер подключен через сетевую карту выход в интернет подключается через соединение DSL

    По-моему Вам нужно настраивать сам модем. Посмотрите в сторону Dual PPPOE
    Я что-то подобное делал на роутере D-Link DIR -320, но на модеме не разу.

  13. andrey
    21 Сентябрь, 18:22

    спасибо!!! буду искать!

  14. Serpent22
    3 Ноябрь, 06:21

    К словам о DSL через локальную сеть: очень много парился, перерыл кучу манов (у меня Debian Lenny) и чтобы избавить других людей от тех же граблей скажу – pppoeconf помогает не всем, у меня например, инет появлялся на пару секунд и пропадал чудным образом. Конфиги, логи не помогли. Но спустя две недели и нару клочьев вырванных волос, наткнулся на простенькую команду ifconfig ppp0 mtu 1372. Надеюсь комуто это поможет. Выговорился, аж легче стало)))

  15. nick
    7 Декабрь, 09:17

    Добрый день,у меня в папке etc нет ни папки network,ни папки net,стоит centos 5.7,что делать подскажите

  16. Марина
    27 Декабрь, 21:12

    Здравствуйте, такая проблема случилась. К интернету комп подключен через роутер.. Проблема в том, что некоторые сайты не открываются- пишет ошибка преобразования dns .. Что нужно сделать. чтобы все нормально работало?? Заранее спасибо!!

  17. papick
    30 Июль, 17:05

    Артем: 2 сетевые карты. по одной виндовая сеть с доменом. во второй воткнут адсл модем с подключением PPPoE. как сделать так, чтоб и в сети работать можно было и в инете?!

    например прописать правила маршрутизации на машине таким образом чтобы пакеты предназначенные для локальной сети отправлялись в етн0 , а все остальные в етн1
    но эта тема выходит за рамки данной статьи.

  18. Комполюбитель
    29 Август, 03:01

    Вполне годная статья. Спасибо огромное

  19. valera
    21 Январь, 07:20

    я всего 3-й мес на linux но уже штук 17 перепробовал но никто не хочет dsl подкл\сразу обрывает локалку\ оставил zorin и вот поставил ALT -работаю как домашние а для сети ХРюша\7 -снес как и все остальные\.если-бы сеть на ALT то до конца жизни… я всего лет 7 как освоил комп – стар ужо.

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

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

Перед тем, как приступать к настройке сетевого подключения в Линукс, надо начать с того, что посмотреть — какие настройки сети используются сейчас. Для этого надо воспользоваться командой 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