настройка сетевых интерфейсов linux

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

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

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

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

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

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

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

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

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

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

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

sudo apt install ethtool

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

sudo yum install ethtool

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

sudo zypper install ethtool

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

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

sudo ethtool enp24s0

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

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

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

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

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

А режим дуплекса в half:

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

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

sudo ip link set dev enp24s0 up

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

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

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

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

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

sudo ip link set dev enp24s0 down

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

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

sudo modprobe r8169

sudo ip link set dev enp24s0 up

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

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

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

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

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

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

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

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

ETHTOOL_OPTS=»speed 10 duplex half autoneg off»

Выводы

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

Источник

Ручная настройка сети в Linux

Привязка интерфейса к карте

Конфигурационный файл переименования интерфейсов обновляется автоматически при первом обнаружении очередной сетевой карты и находится в файле /etc/udev/rules.d/70-persistent-net.rules. Файл состоит из строк такого содержания:

Видно, что нумерация опирается на аппаратный (MAC) адрес карты. Если в компьютере заменить карту, то интерфейс eth0 станет недоступным, а новая карта получит имя eth1. Если есть желание вручную назначить имена картам, то можно отредактировать этот файл, выставив желаемые соответствия между MAC адресами именами интерфейсов (возможно потребуется перезагрузка).

ifcfg

Классическая утилита конфигурации сетевых интерфейсов ifcfg

route

Настройка таблицы маршрутизации route

В современных дистрибутивах линукса на смену ifconfig и route приходит универсальная утилита ip

Адреса серверов DNS и имя локального домена вписываются в файл /etc/resolv.conf

Ручная настройка сети в ArchLinux

Для просмотра доступных сетевых интерфейсов используется команда ip link

Содержимое enp1s0-work после редактирования

Базовые команды netctl

Ручная настройка сети в Ubuntu

Ручная настройка сети в CentOS 6

Общие настройки сети

Конфигурация интерфейса

Файлы в каталоге /etc/sysconfig/network-scripts с именами вида ifcfg-eth0

Интерфейс, получающий адрес по DHCP

Дополнительный IP адрес на интерфейсе eth1

Инициализация VLAN на eth1

Читайте также:  как удалить все установленные приложения windows 10

Настройка DNS

Файл /etc/resolv.conf

Ручная настройка имен хостов файл /etc/hosts

Настройка брандмауэра

Файл /etc/sysconfig/system-config-firewall правила для настройки программой system-config-firewall

Файл /etc/sysconfig/iptables текущие правила, сохраненные на случай перезагрузки.

После ручного изменения правил их можно сохранить командой service iptables save

Источник

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

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

В разных версиях Линукс имя сетевого интерфейса может быть сокращением от Ethernet — eth0, eth1, eth2 и т.п.

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

На мой взгляд, последний способ — самый удобный и надёжный, а значит — правильный. Чтобы настроить сеть в Линукс надо открыть файл, содержащий конфиг интерфейса. Тут всё зависит от того, какой дистрибутив Linux используется.

Вариант 1. В дистрибутивах, основанных на Debian (Ubuntu, Kubuntu и т.п.)

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

Для того, чтобы изменить в linux настройки сети, файл его надо с правами root любым текстовым редактором. Например, через nano:

Для автоматического получения адресов от DHCP-сервера надо пописать следующее:

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

В этом конфиге рассмотрен пример обычной домашней сети, где адрес компьютера будет 192.168.1.2, адрес шлюза и DNS-сервера (их фукнции обычно выполняет wifi-роутер)- 192.168.1.1.

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

Файл с настройками сети Linux:

Открываем его так же через nano или vim:

В случае автоматического получения настроек от DHCP-сервера:

IP-адреса DNS-серверов в этом случае прописываются в файле

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

Настройка сети в Линукс завершена. Остаётся только перезапустить сеть командой:

В качестве постскриптума расскажу как включить и выключить сеть в Linux. Делается это через всё ту же команду ifconfig. Выключить сетевую карту eth0:

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

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

Включить всё назад:

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

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

Не настраивается, Линукс минт 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)

Какие настройки Вы делаете — опишите подробно!

Сергей, может вы мне ответите? В общем, настраивал подключение к сети через «Менеджер сети», встроенный по умолчанию в 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?

Михаил — Здравствуйте. начните с того, что укажите правильно маску — 255.255.255.0. Та, что Вы указали — 250.250.250.0 — неверная.

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

Источник

Администрирование систем Linux. Настройка сетевых интерфейсов

Оригинал: Interface configuration
Автор: Paul Cobbaut
Дата публикации: 12 марта 2015 г.
Перевод: A. Панин
Дата перевода: 1 апреля 2015 г.

Глава 22. Настройка сетевых интерфейсов

22.1. Следует ли использовать для настройки инструменты с графическим интерфейсом

В данной главе рассматриваются исключительно вопросы использования инструментов с интерфейсом командной строки для настройки сетевых интерфейсов системы!

22.2. Настройка сетевых интерфейсов в дистрибутивах Debain/Ubuntu

22.2.1. Файл конфигурации /etc/network/interfaces

Файл /etc/network/interfaces является основным файлом настроек сетевых интерфейсов, соответствующих сетевым картам, в дистрибутивах Debain/Ubuntu.

В примере ниже показано, что наша текущая система Ubuntu 11.04 настроена таким образом, что клиент DHCP используется для сетевого интерфейса eth0 (соответствующего первой сетевой карте).

22.2.2. Утилита /sbin/ifdown

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

22.2.3. Утилита /sbin/ifup

Ниже приведен вывод утилиты ifup при активации сетевого интерфейса eth0 с использованием клиента DHCP. (Обратите внимание на то, что данный вывод был получен в дистрибутиве Ubuntu 10.10, при этом в дистрибутиве Ubuntu 11.04 утилита ifup не генерирует вывода по умолчанию).

22.3. Настройка сетевых интерфейсов в дистрибутивах Red Hat/Fedora

22.3.1. Файл конфигурации /etc/sysconfig/network

Файл /etc/sysconfig/network является глобальным файлом конфигурации (для всех сетевых карт). Он позволяет установить, хотим ли мы использовать сетевое соединение (NETWORKING=yes|no), желаемое имя узла (HOSTNAME=), а также адрес шлюза (GATEWAY=).

22.3.2. Файлы конфигурации /etc/sysconfig/network-scripts/ifcfg-*

Параметры BROADCAST= и NETWORK= из предыдущих версий дистрибутивов RHEL/Fedora являются устаревшими.

22.3.3. Утилиты /sbin/ifup и /sbin/ifdown

Утилиты ifup и ifdown позволяют активировать или деактивировать сетевой интерфейс с использованием описанных выше файлов конфигурации. Данные утилиты ведут себя аналогично соответствующим утилитам из состава дистрибутивов Debian и Ubuntu.

22.4. Утилита ifconfig

При использовании утилиты /sbin/ifconfig без аргументов будет выведен список всех активных сетевых интерфейсов, включая интерфейсы адаптеров беспроводных сетей и петлевой интерфейс. В примере ниже IP-адрес сетевого интерфейса eth0 не установлен.

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

22.4.1. Активация и деактивация сетевых интерфейсов

Вы можете использовать утилиту ifconfig также для активации и деактивации сетевых интерфейсов. Главное отличие данной утилиты от утилиты ifup состоит в том, что в случае использования команды ifconfig eth0 up сетевой интерфейс будет повторно активирован с сохранением (текущей) конфигурации, в то время, как в случае использования утилиты ifup будет осуществляться чтение соответствующего файла конфигурации, который содержит (возможно обновленные) значения параметров конфигурации, с последующим использованием прочитанных значений параметров конфигурации в процессе активации сетевого интерфейса.

22.4.2. Установка IP-адреса

22.4.3. Установка MAC-адреса

Кроме того, вы также можете использовать утилиту ifconfig для установки MAC-адреса сетевого интерфейса, отличного от того, который был установлен при изготовлении вашей сетевой карты. В примере ниже показан процесс его установки.

22.4.4. Демон dhclient

22.5. Имя узла

В данном примере показана методика установки имени узла и его проверки с помощью утилиты hostname в случае работы с дистрибутивами Red Hat/Fedora.

В любой системе Linux вы также можете использовать утилиту sysctl для вывода и изменения имени узла.

22.6. Утилита arp

22.7. Утилита route

22.8. Утилита ping

22.9. Дополнительная информация: утилита ethtool

А в данном примере показана методика использования утилиты ethtool с целью перевода сетевой карты с режима работы с пропускной способностью в 1000МБит к режиму работы с пропускной способностью в 100МБит и назад. Учтите, что для возврата сетевой карты в режим работы с пропускной способностью в 1000Мбит потребуется некоторое время.

22.10. Практическое задание: настройка сетевых интерфейсов

2. Выведите информацию о вашем текущем IP-адресе (или адресах).

5. Установили ли вы корректный адрес шлюза при выполнении предыдущего задания? Если нет, сделайте это сейчас.

6. Проверьте корректность установки адреса шлюза.

7. Проверьте возможность соединения с адресом шлюза, а также корректность работы шлюза.

8. Измените два последних символа в MAC-адресе вашей сетевой карты.

9. Какие порты используются приложениями, работающими по протоколам http, pop3, ssh, telnet, nntp и ftp?

11. Выведите имя узла вашего компьютера.

12. Выведите список IP-адресов узлов, с которыми ваш компьютер недавно обменивался данными.

22.11. Корректная процедура выполнения практического задания: настройка сетевых интерфейсов

2. Выведите информацию о вашем текущем IP-адресе (или адресах).

В дистрибутивах Ubuntu/Debian: cat /etc/network/interfaces

В дистрибутивах RedHat/Fedora: cat /etc/sysconfig/network-scripts/ifcfg-eth*

В дистрибутивах Ubuntu/Debian:

В дистрибутивах RedHat/Fedora:

5. Установили ли вы корректный адрес шлюза при выполнении предыдущего задания? Если нет, сделайте это сейчас.

6. Проверьте корректность установки адреса шлюза.

7. Проверьте возможность соединения с адресом шлюза, а также корректность работы шлюза.

8. Измените два последних символа в MAC-адресе вашей сетевой карты.

Читайте также:  как посмотреть что перегружает процессор на windows 10

9. Какие порты используются приложениями, работающими по протоколам http, pop3, ssh, telnet, nntp и ftp?

Так как протокол TCP является надежным, а протокол UDP не является таковым.

11. Выведите имя узла вашего компьютера.

12. Выведите список IP-адресов узлов, с которыми ваш компьютер недавно обменивался данными.

Источник

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

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

Владельцам VPS/VDS как правило не приходится проводить настройку сети, обычно там все уже настроено при создании, но тем не менее для новичков статья лишней не будет.

Как узнать свой ip-адрес

Чтобы узнать ip-адрес системы можно выполнить следующие команды:

На данный момент команда ifconfig является хоть и устаревшей, но еще работающей командой (В CentOS требуется установить пакет net-tools). Начиная с ядра версии 2.2 ей на смену пришел пакет iproute2, состоящий из утилит: ip, tc, ss.

Настройка сетевых интерфейсов в CentOS

Рассмотрим самые важные параметры и значения, чтобы понимать что к чему. Более подробно все параметры описаны в официальной документации Red Hat.

Подобная конфигурация означает получение динамического ip-адреса при каждом запуске. Для назначения статического адреса нужно изменить несколько параметров.

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

Перезапустим интерфейс для применения изменений.

Настройка сетевых интерфейсов в Debian & Ubuntu

Данная конфигурация обозначает получение динамического ip-адреса при загрузке системы.

Строки, начинающиеся со слов «allow-» используются для идентификации интерфейсов, которые должны быть подняты автоматически различными подсистемами.

Для задания интерфейса со статическим ip-адресом могут использоваться следующие опции.

Интерфейс настроенный на получение статического ip-адреса будет выглядеть так.

Для применения изменений перезапустим интерфейс.

Изменение hostname в CentOS

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

Текущее имя системы test. Я хочу изменить его на techlist, делаем следующее.

Изменение hostname в Debian

Например я хочу изменить имя системы на techlist

Как я уже говорил, оно действует только до первой перезагрузки системы, так как при загрузке системы идет считывание имени из файла /etc/hostname.

Чтобы изменить имя системы при помощи файла /etc/hostname, отредактируем его:

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

Настройка DNS в CentOS

За настройку DNS-серверов в CentOS отвечают два файла: сам файл сетевого интерфейса и файл resolv.conf в директории /etc.

Если править отдельно resolv.conf, то после перезапуска интерфейса изменения не сохранятся. Они будут автоматически заменены на значения указанные в файле ifcfg-enp0sX. Это из-за того что в файле интерфейса есть параметр «PEERDNS=yes«, когда он включен происходит замена адресов DNS в файле resolv.conf, на значения из файла интерфейса.

Чтобы изменить значения DNS серверов в CentOS, достаточно внести правку в файл интерфейса, при включенном параметре PEERDNS.

Настройка DNS в Debian

Назначить DNS сервера в Debian можно несколькими способами. Правкой файла /etc/resolv.conf и использованием утилиты resolvconf, только не путайте, это совершенно разные вещи.

Прежде чем настраивать DNS нужно узнать стоит ли пакет resolvconf или нет. Узнать можно так:

Если resolvconf не установлен, то можно добавить адреса DNS сразу в файл /etc/resolv.conf, сохранить изменения и перезапустить интерфейс.

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

После установки файл /etc/resolv.conf заменяется ссылкой на /etc/resolvconf/run/resolv.conf. Если понадобится внести свои значения DNS, то сделать это можно через файл интерфейсов.

После чего добавленные DNS адреса, пропишутся в файл resolv.conf автоматически.

Отключение IPv6 протокола

Если IPv6 не поддерживается вашим маршрутизатором или провайдером, то имеет смысл его отключить, поскольку замедляется общая работа сети; дольше определяются имена сайтов, выполняются ненужные попытки получения IPv6 адресов, это приводит к лишним задержкам.

Узнать свой IPv6 адрес можно следующим способом

Перед тем как отключить поддержку IPv6 протокола надо узнать какая из программ использует его на текущий момент.

В CentOS

Отключение поддержки IPv6 протокола в CentOS происходит следующим образом.

Также можно убрать все строки начинающиеся с IPV6 в конфигурационном файле интерфейса.

В Debian & Ubuntu

В Debian отключение поддержки IPv6 происходит правкой файла sysctl.conf или правкой файла grub.

Применить изменения в файле sysctl.conf

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

Теперь нужно обновить конфигурацию загрузчика.

Потом перезагрузить систему.

Тут тоже нет строк начинающихся с «inet6», значит порядок.

Источник

Образовательный портал