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. Информация про сетевые интерфейсы

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

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

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

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

Читайте также:  Linux find empty folders

Ещё есть параметр 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. Ей надо передать количество секунд на протяжении которых светодиод на разъёме должен гореть:

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 ubuntu fedora centos

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

Читайте также:  Файловая система ядра linux какая

linux настройка локальной домашней сети линукс

В разных версиях Линукс имя сетевого интерфейса может быть сокращением от 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 и т.п.)

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

Для того, чтобы изменить в 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 дистрибутивы (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
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. Делается это через всё ту же команду ifconfig. Выключить сетевую карту eth0:

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

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

Интересное по теме:

7 thoughts on “ Настройка сети в Linux ”

  1. Михаил06.12.2017 в 16:35 Не настраивается, Линукс минт 18.3 в чём засада?
    enp2s0 Link encap:Ethernet HWaddr 00:16:d3:48:1d:91
    UP BROADCAST MULTICAST MTU:1500 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) lo Link encap:Локальная петля (Loopback)
    inet addr:127.0.0.1 Mask:255.0.0.0
    inet6 addr: ::1/128 Scope:Host
    UP LOOPBACK RUNNING MTU:65536 Metric:1
    RX packets:886 errors:0 dropped:0 overruns:0 frame:0
    TX packets:886 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:82987 (82.9 KB) TX bytes:82987 (82.9 KB) wlp5s0 Link encap:Ethernet HWaddr 00:13:02:70:76:47
    UP BROADCAST MULTICAST MTU:1500 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B) wlxf46d048b327f Link encap:Ethernet HWaddr f4:6d:04:8b:32:7f
    inet addr:192.168.1.72 Bcast:192.168.1.255 Mask:255.255.255.0
    inet6 addr: fe80::99f4:be38:665a:3b0d/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:39068 errors:0 dropped:2423 overruns:0 frame:0
    TX packets:24703 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:48902729 (48.9 MB) TX bytes:3037797 (3.0 MB)
  1. Михаил21.04.2018 в 17:08 Сергей, может вы мне ответите? В общем, настраивал подключение к сети через «Менеджер сети», встроенный по умолчанию в Linux mint 18.3 Cinnamon. Настройки ставил следующие: IPv6 совсем выключил (Method: ignore). IPv4 Method:manual; Address:192.168.1.250; Netmask:250.250.250.0; Gateway 192.168.1.1; DNS servers 8.8.8.8
    (Не понял где программа сохраняет эти настройки. В файле interfaces, находящемуся по адресу Файловая система/etc/network/interfaces ничего не поменялось.) IP адрес роутера определил командой ip route show. В качестве роутера стоит Asus RTN-10U. Wi-fi свисток Asus N13. Вот данные lsusb (0b05:17ab ASUSTek Computer, Inc. USB-N13 802.11n Network Adapter (rev. B1) [Realtek RTL8192CU]).
    Сеть распозналась корректно и работает, но через 5 минут пропадает. Т.е. Менеджер сетей утверждает, что сеть есть и подключение хорошее, но браузер Firefox не может найти соединение. Проверил соединение с роутером коммандой Ping 192.168.1.1. Соединение отсутствует. Выключил сеть и включил через Менеджер сетей и сразу запустил проверку соединения Ping 192.168.1.1. Лазил в Интернете минут 15. Сеть держится. Возникает предположение, что Linux в определённый момент считает, что устройство бездействует и отключает сеть, если я его не спамлю ping’ом. Как это можно отрегулировать или решения нет и придётся спамить ping?
  1. Сергей Автор публикации 23.04.2018 в 09:04 Михаил — Здравствуйте. начните с того, что укажите правильно маску — 255.255.255.0. Та, что Вы указали — 250.250.250.0 — неверная.
  1. Михаил24.04.2018 в 10:44 Сергей, спасибо, но вопрос решён на сайте, откуда Linux mint скачивал. Маска указана верно — его принял интерфейс. Автоматом мне Linux «24» поставил в строке маска. Проблема не в настройках была. Два модуля kernel, а именно rtl8xxxu и rtl8192cu в Linux посчитали, что это их устройства и пытались одним устройством рулить. Вот мой топик (forums.linuxmint.com/viewtopic.php?p=1461156#p1461156).
    В результате один нужно было отключить, а именно rtl8192cu, который давал ошибки. Отключение модуля осуществляется командой из терминала:
    echo «blacklist rtl8192cu» | sudo tee /etc/modprobe.d/rtl8192cu.conf
    Далее перезагружаемся и всё работает.
  1. CHAYNIK28.11.2021 в 04:01 na pochtu zahozhu — vyyti ne poluchaetsya…………inet namertvo zavisaet………NEIZVESTNOE USTROYSTVO!……..stiraet otvety
Читайте также:  Amd linux drivers ubuntu

Источник

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