Как проверить наличие сетевого адаптера в Linux

LinuxLinuxBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии (лабораторной работе) вы узнаете, как проверить, присутствует ли сетевая карта в вашей системе Linux. Мы рассмотрим три распространенных метода для этого.

Во - первых, вы будете использовать команду lshw с опцией -C network, чтобы вывести подробную информацию о вашем сетевом оборудовании. Затем вы проверите наличие сетевых интерфейсов, изучив содержимое каталога /sys/class/net. Наконец, вы будете использовать команду lspci, чтобы вывести список устройств PCI и отфильтровать сетевые контроллеры, что даст еще один способ определить ваши сетевые адаптеры. Завершив эти шаги, вы приобретете практические навыки диагностики наличия сетевого оборудования в системе Linux.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL linux(("Linux")) -.-> linux/RemoteAccessandNetworkingGroup(["Remote Access and Networking"]) linux(("Linux")) -.-> linux/BasicFileOperationsGroup(["Basic File Operations"]) linux(("Linux")) -.-> linux/FileandDirectoryManagementGroup(["File and Directory Management"]) linux(("Linux")) -.-> linux/SystemInformationandMonitoringGroup(["System Information and Monitoring"]) linux/BasicFileOperationsGroup -.-> linux/ls("Content Listing") linux/FileandDirectoryManagementGroup -.-> linux/whereis("File/Command Finding") linux/SystemInformationandMonitoringGroup -.-> linux/ps("Process Displaying") linux/RemoteAccessandNetworkingGroup -.-> linux/ifconfig("Network Configuring") linux/RemoteAccessandNetworkingGroup -.-> linux/netstat("Network Monitoring") linux/RemoteAccessandNetworkingGroup -.-> linux/ip("IP Managing") subgraph Lab Skills linux/ls -.-> lab-558732{{"Как проверить наличие сетевого адаптера в Linux"}} linux/whereis -.-> lab-558732{{"Как проверить наличие сетевого адаптера в Linux"}} linux/ps -.-> lab-558732{{"Как проверить наличие сетевого адаптера в Linux"}} linux/ifconfig -.-> lab-558732{{"Как проверить наличие сетевого адаптера в Linux"}} linux/netstat -.-> lab-558732{{"Как проверить наличие сетевого адаптера в Linux"}} linux/ip -.-> lab-558732{{"Как проверить наличие сетевого адаптера в Linux"}} end

Проверка адаптеров с помощью команды lshw -C network

На этом этапе мы узнаем, как определить сетевые адаптеры, подключенные к вашей системе, с использованием команды lshw. lshw расшифровывается как "list hardware" (список оборудования) и представляет собой мощный инструмент для получения подробной информации о конфигурации аппаратного обеспечения вашей системы.

Для вывода именно списка сетевых адаптеров мы используем опцию -C, за которой следует имя класса, в данном случае это network.

Если терминал еще не открыт, откройте его. Для этого нажмите на значок Xfce Terminal слева на рабочем столе.

Теперь введите следующую команду и нажмите Enter:

sudo lshw -C network

Разберем эту команду по частям:

  • sudo: Как мы уже знаем, эта команда позволяет запускать команду с привилегиями суперпользователя, которые часто необходимы для доступа к подробной информации об аппаратном обеспечении.
  • lshw: Команда для вывода списка оборудования.
  • -C network: Эта опция фильтрует вывод, показывая только устройства, относящиеся к классу "network".

Вы увидите вывод, похожий на следующий (точные детали могут отличаться в зависимости от конфигурации виртуальной машины):

  *-network
       description: Ethernet interface
       product: Ethernet controller
       vendor: Red Hat, Inc.
       physical id: 3
       bus info: pci@0000:00:03.0
       logical name: eth0
       version: 00
       serial: 52:54:00:xx:xx:xx
       size: 1Gbit/s
       capacity: 10Gbit/s
       width: 32 bits
       clock: 66MHz
       capabilities: pm bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autoneg negotiated
       configuration: autonegotiation=on broadcast=yes driver=virtio_net driverversion=1.0.0 ip=172.18.0.x latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s
       resources: irq:24 ioport:c040(size=32) memory:fe000000-fe000fff

Этот вывод содержит много информации о вашем сетевом адаптере, в том числе:

  • description: Что представляет собой устройство (сетевой интерфейс Ethernet).
  • product и vendor: Производитель и модель оборудования.
  • logical name: Имя, которое использует операционная система для этого интерфейса (например, eth0). Это важно для настройки сетевых параметров.
  • serial: MAC - адрес сетевого адаптера.
  • size и capacity: Текущая скорость и максимальная возможная скорость соединения.
  • configuration: Подробности о текущей настройке интерфейса, включая его IP - адрес, если он назначен.

Понимание этого вывода поможет вам определить свои сетевые интерфейсы и устранить сетевые проблемы.

Нажмите Continue (Продолжить), чтобы перейти к следующему шагу.

Проверка интерфейсов в /sys/class/net

В системе Linux файловая система /sys предоставляет доступ к модели устройств ядра. Это виртуальная файловая система, то есть файлы и каталоги в ней не хранятся на диске в традиционном смысле, а генерируются ядром для представления системной информации.

В частности, каталог /sys/class/net содержит символические ссылки на все сетевые интерфейсы, обнаруженные системой. Имена этих ссылок соответствуют логическим именам сетевых интерфейсов, например, eth0, которое мы видели на предыдущем этапе.

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

Введите следующую команду в терминале и нажмите Enter:

ls /sys/class/net/

Вы должны увидеть вывод, похожий на следующий:

eth0  lo
  • eth0: Это сетевой интерфейс Ethernet, который мы определили с помощью команды lshw на предыдущем этапе.
  • lo: Это сокращение от "loopback" (циклический возврат) интерфейса. Это специальный виртуальный интерфейс, который компьютер использует для общения с самим собой. Он необходим для корректной работы сетевого программного обеспечения, даже когда компьютер не подключен к физической сети.

Присутствие eth0 и lo в этом каталоге подтверждает, что система распознает эти сетевые интерфейсы. Этот каталог представляет собой быстрый способ узнать, какие сетевые интерфейсы доступны в вашей системе.

Нажмите Continue (Продолжить), чтобы перейти к следующему этапу.

Проверка аппаратного обеспечения с помощью lspci

На этом этапе мы будем использовать команду lspci для вывода информации о PCI-устройствах, подключенных к вашей системе. PCI (Peripheral Component Interconnect, интерконнектирование периферийных компонентов) представляет собой стандартный шину, которая подключает аппаратные устройства к материнской плате компьютера. Многие устройства, включая сетевые карты, видеокарты и контроллеры хранения, подключаются через PCI или его последователя, PCI Express (PCIe).

Команда lspci полезна для быстрого определения подключенного аппаратного обеспечения и его базовой информации.

Введите следующую команду в терминале и нажмите Enter:

lspci

Вы увидите список PCI-устройств. Вывод будет выглядеть приблизительно так:

00:00.0 Host bridge: Intel Corporation 440FX - 82441FX PMC [Natoma] (rev 02)
00:01.0 ISA bridge: Intel Corporation 82371SB PIIX3 ISA [Natoma/Triton II]
00:01.1 IDE controller: Intel Corporation 82371AB/EB/MB PIIX4 IDE (rev 01)
00:01.2 USB controller: Intel Corporation 82371AB/EB/MB PIIX4 USB (rev 01)
00:01.3 Bridge: Intel Corporation 82371AB/EB/MB PIIX4 ACPI (rev 03)
00:02.0 VGA compatible controller: Red Hat, Inc. QXL Paravirtual graphic driver
00:03.0 Ethernet controller: Red Hat, Inc. Virtio network device
00:04.0 Communication controller: Red Hat, Inc. Virtio console
00:05.0 SCSI storage controller: Red Hat, Inc. Virtio SCSI
00:06.0 Unclassified device [0000]: Red Hat, Inc. Virtio balloon
00:07.0 Audio device: Intel Corporation 82801AA AC'97 Audio Controller (rev 01)

Каждая строка представляет собой PCI-устройство. Формат обычно имеет вид Bus:Device.Function Class: Vendor Product.

  • Bus:Device.Function: Определяет местоположение устройства на PCI-шине.
  • Class: Описывает тип устройства (например, Host bridge - мост хоста, Ethernet controller - контроллер Ethernet, VGA compatible controller - совместимый с VGA контроллер).
  • Vendor и Product: Определяют производителя и конкретную модель устройства.

Обратите внимание на строку Ethernet controller: Red Hat, Inc. Virtio network device. Она соответствует сетевому адаптеру, который мы видели с помощью lshw и в /sys/class/net. Команда lspci дает другую перспективу на аппаратное обеспечение, сосредотачиваясь на PCI-шине.

Вы можете использовать lspci с опциями, такими как -v для более подробного вывода или -nn для отображения идентификаторов производителя и устройства в числовом формате, что полезно для поиска информации о аппаратном обеспечении в Интернете.

Например, попробуйте:

lspci -v

Это предоставит гораздо более подробную информацию о каждом устройстве. Нажмите q, чтобы выйти из подробного вывода, когда закончите его просмотр.

Нажмите Continue (Продолжить), чтобы завершить этот практический урок.

Резюме

В этом практическом занятии мы научились проверять наличие сетевых адаптеров в системе Linux с помощью различных инструментов командной строки. Мы начали с использования команды sudo lshw -C network для вывода подробной информации о сетевых интерфейсах, включая их описание, производителя, продукт и детали конфигурации. Эта команда дает всестороннее представление о аппаратном обеспечении.

Затем мы изучили каталог /sys/class/net, который содержит символическую ссылку для каждого сетевого интерфейса, присутствующего в системе, и представляет собой быстрый способ проверить их наличие. Наконец, мы использовали команду lspci для проверки PCI-шины и определения сетевых контроллеров путем фильтрации вывода по описанию "Ethernet controller" или аналогичным описаниям, что представляет собой еще один способ подтвердить наличие сетевого аппаратного обеспечения. Эти шаги в совокупности демонстрируют различные подходы к определению сетевых адаптеров в среде Linux.