Настройка сети в Linux, диагностика и мониторинг
Содержание
Доброго времени, уважаемые читатели. Публикую вторую часть статьи о сетевой подсистеме Linux. В текущей части основной упор сделан на реализацию сети в Linux (как настроить сеть в Linux, как продиагностировать сеть в Linux и поддерживать в рабочем состоянии сетевую подсистему в Linux).
Настройка TCP/IP в Linux для работы в сети Ethernet
Для работы с сетевыми протоколами TCP/IP в Linux достаточно наличие только петлевого интерфейса, но если необходимо объединить хосты между собой, естественно, необходимо наличие сетевого интерфейса, каналов передачи данных (например витая пара), возможно, какого-либо сетевого оборудования. Так же, необходимо наличие установленных утилит для настройки сети (/sbin/ifconfig, /sbin/route и др.), обычно поставляемые в пакете net-tools. Так же необходимо наличие конфигурационных файлов для сети (например /etc/hosts) и поддержку сети ядром Linux.
Параметры сети
Начнем понимание сетевых механизмов Linux с ручного конфигурирования сети, то есть со случая, когда IP адрес сетевого интерфейса статичен. Итак, при настройке сети, необходимо учесть и настроить следующие параметры:
Файлы настроек сети в Linux (конфигурационные файлы)
Соответственно, прочитав man interfaces (rus) или man interfaces (eng), становиться ясно, как же в Debian/Ubuntu настроить какой-либо сетевой интерфейс с помощью конфига /etc/network/interfaces. Ниже, пример данного конфигурационного файла для 3х интерфейсов: петлевой (lo), со статичным IP (eth2) и IP получаемым по dhcp (eth0):
/etc/hosts
Данный файл хранит перечень IP адресов и соответствующих им (адресам) имен хостов.Формат файла ничем не отличается от мастдайного:
/etc/networks
Данный файл хранит имена и адреса локальной и других сетей. Пример:
При использовании данного файла, сетями можно управлять по имени. Например добавить маршрут не route add 192.168.1.12, а route add home-network.
/etc/nsswitch.conf
Файл определяет порядок поиска имени хоста/сети, за данную настройку отвечают строки:
Параметр files указывает использовать указанные файлы (/etc/hosts и /etc/networks соответственно), параметр dns указывает использовать службу dns.
/etc/resolv.conf
Этот файл определяет параметры механизма преобразования сетевых имен в IP адреса. Пример:
Настройка сети
Настройка сети подробно разобрана в отдельной статье.
Диагностика сети Linux
Существует большое количество инструментов диагностики сети в Linux, зачастую, они очень похожи на утилиты от Microsoft. Я рассмотрю 3 основные утилиты диагностики сети, без которых выявить неполадки будет проблематично.
Думаю, что данная утилита знакома чуть ли не каждому. Работа этой утилиты заключается в отправке т.н. пакетов ICMP удаленному серверу, который будет указан в параметрах команды, сервер возвращает отправленные команды, а ping подсчитывает время требуемое отправленному пакету, чтобы дойти до сервера и вернуться. Например:
Следует отметить, что данная утилита не всегда надежный инструмент для диагностики. Удаленный сервер может блокировать ответы на ICMP запросы.
traceroute
Источник
Как настроить локальную сеть в Убунту
В процессе работы с компьютером возникают самые разные задачи, одной из которых является настройка локальной сети. В этой статье детально рассмотрим, как производить настройку локальной сети в операционной системе 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, синтаксис этого файла конфигурации предельно прост, и выглядит так
После внесения изменений в эти конфигурационные файлы выполните перезапуск сетевой службы при помощи команды:
Если вам нужно, чтобы компьютер получал настройки сети динамически (через DHCP), пропишите в файле /etc/network/interfaces следующие строки:
iface eth0 inet auto
Для динамического обновления параметров сети пропишите:
Чтобы остановить или запустить сетевую службу, воспользуйтесь командами:
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
update-rc.d mynetconfig defaults 99,
где mynetconfig — имя скрипта;
defaults — выполнять на всех режимах загрузки от второго до пятого;
99 — порядок загрузки.
Чтобы удалить скрипт из автозагрузки, откройте каталог /etc/init.d/ и пропишите:
Существует ещё один способ добавления скрипта в автозагрузку. Достаточно просто вписать имя скрипта в файл /etc/rc.local либо удалить его, если хотите убрать скрипт. Первый способ несколько сложнее, но стоит отдать предпочтение именно ему, так как в этом случае можно будет выбрать порядок и режим загрузки, что может быть важно в некоторых ситуациях.
Теперь рассмотрим, как подключить сетевой диск в Ubuntu. Делается это довольно просто. Сначала откройте меню «Переход» и выберите пункт «Соединиться с сервером». В открывшемся окне необходимо будет указать тип сервиса и другие общие данные. Нажмите кнопку «Соединиться». Далее нужно будет ввести свой пароль и кликнуть по кнопке «Подключиться». Готово. Всё достаточно легко и быстро.
Теперь вы будете знать, как самостоятельно настроить сеть через консоль в Ubuntu, а также как подключить сетевой диск. Пишите в комментариях получилось ли у вас справиться с этой задачей, делитесь своим опытом с другими юзерами, и задавайте любые вопросы, которые вас интересуют по теме этой статьи.
Источник
Локальная сеть между Ubuntu Linux и Windows
Настройка сети
Даже небольшая сумма может помочь написанию новых статей 🙂
Или поделитесь ссылкой на эту статью со своими друзьями.
В этой статье не будет рассмотрен аппаратный аспект такой сети поскольку нет ничего сложного в том, чтобы при помощи свитча и кабелей соединить компьютеры между собой. В дальнейшем подразумевается, что на физическом уровне сеть установлена и функционирует правильно, то есть будет описана лишь программная настройка сети.
Первое, что нужно сделать это выбрать каким образом компьютерам в сети будут присваиваться IP-адреса. Есть два способа, у каждого из которых есть достоинства и недостатки.
Динамическое присвоение адресов
Недостаток в том, что нужно будет на одном из компьютеров устанавливать DHCP сервер, либо использовать устройство типа роутера со встроенным DHCP сервером. При этом сеть на компьютерах будет недоступна, если этот компьютер или роутер будет выключен или выйдет из строя.
Статическое присвоение адресов
В этом случае IP-адреса на каждом компьютере указываются вручную. Достоинства:
Недостаток в том, что нужно будет помнить какие адреса уже используются в сети, чтобы при включении нового компьютера не дать ему уже используемый адрес. Впрочем в небольшой сети не трудно посмотреть адрес на каждом компьютере.
Лично я сторонник статических адресов в тех сетях где состав сети небольшой (до 7-8 компьютеров) и при этом если в эту сеть не добавляются постоянно новые компьютеры (например ноутбуки). Далее в этой статье будет подразумеваться именно статический способ присвоения IP-адресов.
Настройка сетевых интерфейсов
Windows
Кроме этого сетевому интерфейсу нужно присвоить 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 доступными через сеть нужно в Наутилусе найти нужную папку, затем нажать правую кнопку мыши и затем открыть апплет «Свойства», а на нем вкладку «Общий доступ»:
Теперь эта локальная (для Линукс) папка будет доступна по сети.
Дополнительные настройки Самба (Samba)
Samba это программа, которая предоставляет доступ к файловым ресурсам Linux для компьютеров Windows. Таким образом что компьютер Linux в локальной сети выглядит так же как и компьютер Windows. На Ubuntu Samba устанавливается и запускается автоматически, если вы включили общий доступ к какой-либо папке через Наутилус (как это описано выше).
Для того, чтобы обеспечить более удобный доступ к сетевой папке Линукс со стороны Windows, без запросов паролей и проблем доступа, нужно еще дополнительно настроить Самбу. Для этого редактируется файл /etc/samba/smb.conf.
Гостевой полный доступ к сетевой папке на Линукс
Секция [shared resource name]
Примечание: параметры directory mask и create mask «заставляют» самбу давать полные права для всех на те файлы, которые будут созданы в этой папке через сеть. Это необходимо для тог, чтобы обеспечить доступность файлов и папок для всех пользователей локальной сети.
Такие параметры позволят «спокойно» работать с расшаренными на Linux файлами через сеть не мучаясь с авторизацией.
Можно здесь добавить еще два параметра: «force user = username» и «force group = usergroup«. В этом случае, для всех созданных по сети файлов и папок будет установлен владелец username и группа владельца usergroup. Значения username и usergroup должны совпадать с именем и группой локального пользователя Линукс.
После расшаривании папки через Наутилус, нужные параметры в секциях [global] записываются автоматически. Но параметры directory mask и create mask нужно добавлять вручную.
Проблемы с доступом на локальной расшаренной папке Linux
После всех этих настроек тем не менее возможна проблема с доступом к некоторым файлам в этой папке через сеть. Такая проблема может возникнуть если локальный пользователь Линукс, локально откроет эту папку и создаст в ней новый файл. Этот файл другие пользователи сети не смогут редактировать. Поскольку права на него будут установлены не такие как все остальные файлы в папке (не 666).
То же самое произойдет если локальный пользователь Линукс скопирует в эту папку файлы из другой папки на компьютере Линукс, либо например с внешнего устройства.
Есть разные способы решения этой проблемы.
Самый технически простой заключается в том, что локальный пользователь Линукс открывал эту папку тоже через сеть. Дело в том, что графические файловые менеджеры (Проводники) позволяют через сетевое окружение открывать не только папки на других компьютерах сети, но и расшаренные папки на своем собственно компьютере!
Если локальный пользователь Линукс откроет свою расшаренную папку через сетевое окружение, то все его операции в папке будут «сетевыми», то есть при создании новых файлов эти файлы получат атрибуты доступа в соответствии с настройками Самба.
Рабочая группа Windows
Если название рабочей группы на компьютерах Windows отличается от «WORKGROUP», тогда нужно изменить значение параметра workgroup в файле /etc/samba/smb.conf. Вместо значения «WORKGROUP» там нужно записать то имя группы, которое используется на компьютерах Windows. По умолчанию для самбы значение параметра workgroup = WORKGROUP.
Как расшарить папку и задать разрешения и права доступа в Linux
Еще одна статья в которой подробно рассмотрен вопрос о том как в Linux настроить разрешения и права доступа для того чтобы расшарить папку для анонимного доступа по локальной сети (доступ без пароля).
Доступ к сетевым принтерам
Windows
Если принтер подключен к компьютеру с ОС Windows, нужно разрешить сетевой доступ к нему. Это делается точно так же как и в случае с файлами, через апплет «Свойства».
Ubuntu Linux
Поиск такого принтера выполняется нажатием кнопки «Browse».
Иван Сухов, 2011, 2015, 2017 г.
Даже небольшая сумма может помочь написанию новых статей 🙂
Или поделитесь ссылкой на эту статью со своими друзьями.
Источник