Файл настройки интерфейсов linux

Настройка сетевого интерфейса Linux

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

Мы разберемся как установить утилиту в популярных дистрибутивах, как её использовать и какие опции она поддерживает, а потом рассмотрим примеры работы.

Настройка сетевого интерфейса Linux

1. Синтаксис и опции ethtool

Синтаксис ethtool довольно простой, утилите достаточно передать опции и имя сетевого интерфейса, с которым вы хотите работать:

$ ethtool опции интерфейс параметры

Вот основные опции утилиты, которые мы будем использовать в этой статье:

  • —version — выводит версию утилиты;
  • -g, —show-ring — позволяет посмотреть информацию о буфере RX и TX пакетов;
  • -G, —set-ring — позволяет установить размер буфера RX и TX пакетов, работает только для беспроводного интерфейса;
  • -i, —driver — выводит имя используемого драйвера;
  • -P, —show-permaddr — выводит постоянный MAC адрес устройства;
  • -r, —negotiate — выполняет повторное согласование скорости передачи данных, если включено автоматическое согласование;
  • -S, —statistics — выводит статистику;
  • -s, —change — позволяет менять настройки сетевого интерфейса;
  • -k, —show-offload — позволяет посмотреть какие технологии offload включены;
  • —reset — позволяет сбросить настройки различных компонентов сетевой карты, для сброса всех настроек используйте значение параметра all;

Это далеко не все опции программы, все вы можете посмотреть выполнив такую команду в терминале, если программа установлена:

2. Установка ethtool

Обычно, утилита не поставляется по умолчанию вместе с дистрибутивом, но она есть в официальных репозиториях. Для установки утилиты в Ubuntu или Debian выполните:

Для установки ethtool linux в Fedora, CentOS или REHL выполните:

А для OpenSUSE команда будет выглядеть вот так:

sudo zypper install ethtool

3. Информация про сетевые интерфейсы

Сначала надо посмотреть список сетевых интерфейсов в системе. Для этого выполните такую команду:

Читайте также:  Get swap size linux

В данном примере, я использовал фильтр egrep чтобы отсеять все интерфейсы, созданные контейнерами Docker, вам этого делать не обязательно. Здесь enp24s0 — это сетевой интерфейс Ethernet, который мы и будем использовать дальше. Выполнив утилиту ethtool без опций можно посмотреть текущие настройки сетевого интерфейса:

Обратите внимание на пункт Supported link modes, здесь перечислены поддерживаемые скорости передачи данных и режимы дуплекса для них. Скорость измеряется в мегабитах и обычно доступны значения 10, 100 и 1000.

Режим дуплекса, выводимый в параметре Duplex отвечает за приём и передачу данных. При значении full сетевая карта может одновременно принимать и отправлять данные, а режиме half только принимать или отправлять данные. Текущая скорость передачи данных выводится немного ниже параметра Duplex.

Ещё есть параметр Advertised auto negotiation. Он отвечает за то будет ли скорость передачи данных и режим дуплекса настраиваться автоматически в зависимости от возможностей обоих соединённых устройств. По умолчанию этот параметр включён и рекомендуется его таким и оставить.

4. Изменение настроек интерфейса

Менять все эти настройки и многие другие можно с помощью опции -s. Например чтобы отключить автоматическое согласование параметров работы выполните:

sudo ethtool -s enp24s0 autoneg off

Затем можно вручную установить скорость передачи данных:

sudo ethtool -s enp24s0 speed 10

sudo ethtool -s enp24s0 duplex half

Всё это можно объединить в одну команду:

sudo ethtool -s enp24s0 speed 10 duplex half autoneg off

После изменения скорости передачи данных надо снова поднять сетевой интерфейс:

sudo ip link set dev enp24s0 up

Теперь при просмотре настроек сетевой карты вы увидите новые значения:

5. Просмотр драйвера

Чтобы посмотреть используемый драйвер используйте опцию -i:

6. Статистика интерфейса

Посмотреть статистику по переданных и полученных данных можно с помощью опции -S:

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

sudo ip link set dev enp24s0 down

Затем выгрузите модуль ядра с драйвером:

Верните драйвер обратно и запустите устройство:

sudo ip link set dev enp24s0 up

После этого статистика будет сброшена:

7. Управление светодиодом

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

Читайте также:  Kali linux hacker tools

sudo ethtool enp24s0 -p 100

Таким образом вы можете подсветить интерфейс ethtool.

8. Сохранение настроек

Все выполненные с помощью ethtool настройки актуальны только до перезагрузки. Чтобы их сохранить после перезагрузки надо создать скрипт, выполняющий нужные команды после старта системы или же использовать возможности network-scripts. Например в Ubuntu или Debian можно добавить команду, которая выполняет нужные настройки в файл /etc/network/if-pre-up.d/ethtool. Например:

sudo vi /etc/network/if-pre-up.d/ethtool

/sbin/ethtool -s enp24s0 speed 10 duplex half

Для CentOS следует добавить параметр ETHTOOL_OPTS в файл настройки сетевого интерфейса, Например:

sudo vi /etc/sysconfig/network-scripts/ifcfg-enp24s0

ETHTOOL_OPTS=»speed 10 duplex half autoneg off»

Выводы

В этой небольшой статье мы рассмотрели как выполняется настройка сетевого интерфейса Linux с помощью утилиты ethtool. Если вы знаете другие полезные способы настройки, пишите в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Сетевые настройки Linux

В этой статье поговорим о настройках сетевого подключения в Linux. Расскажем про команду ifconfig. Посмотрим, как настраивать дистрибутивы Ubuntu, CentOS и прочие).

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

1-20219-e7d956.png

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

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

Что касается интерфейса eth0, то это не что иное, как Ethernet — сетевая карта, имеющая следующие сетевые параметры: — 192.168.1.18 — это IP-адрес; — 255.255.0.0 — маска сети; — 00:11:5b:91:25:3e — MAC-адрес.

При этом значение RUNNING показывает нам, что в данный момент наш сетевой интерфейс eth0 работает. Кстати, нужно понимать, что в различных версиях Linux имя сетевого интерфейса может быть разным — eth0, eth1, eth2 и т. д.

Если хотим посмотреть тип соединения, скорость и поддерживаемые параметры, набираем:

2-20219-fd19e6.png

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

Читайте также:  Canon mf4010 драйвер linux

Переходим к сетевым настройкам Linux

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

В принципе, последний способ считается одним из самых удобных и надёжных. Чтобы настроить сеть в Linux, нужно открыть файл, который содержит конфигурацию интерфейса. Здесь всё будет зависеть от того, какой именно Linux-дистрибутив используется.

LinusSpec_Welcome_800x450-20219-35881a.png

Вариант № 1. Сетевые настройки дистрибутивов, основанных на Debian (Ubuntu, Kubuntu и прочие)

Файл с параметрами сетевых подключений здесь:

Чтобы поменять в 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-роутер) — 192.168.1.1.

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

Наш файл с настройками сети 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-серверов прописываются в файле:

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

 
nameserver 8.8.8.8 nameserver 8.8.4.4

В принципе, это всё, и настройка сети в Linux завершилась. Осталось лишь выполнить перезапуск сети:

Вместо поскриптума

Если нужно выключить и включить сеть в операционной системе Linux, используем всё ту же известную нам команду ifconfig.

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

А вот команда, включающая сетевую плату в Linux:

Также мы можем полностью остановить работу сетевых интерфейсов:

Теперь включаем всё обратно:

На этом всё. Если хотите получить более профессиональные навыки Linux-администрирования, добро пожаловать на специальный курс в OTUS:

Источник

Оцените статью
Adblock
detector