- Как найти доступные сетевые интерфейсы в Linux
- Способ 1. Использование команды ifconfig
- Способ 2. Использование команды ip
- Способ 3. Просмотр каталога /sys/class/net
- Способ 4. Просмотр статистики сетевых интерфейсов
- Способ 5. Использование команды netstat
- Способ 6. Использование команды nmcli
- 6 способов просмотреть список сетевых интерфейсов в Debian
- Вывод списка сетевых интерфейсов в Debian
- Использование команды ip
- Использование команды netstat
- Список сетевых интерфейсов с помощью файловой системы /sys
- Использование команды ifconfig
- Использование команды nmcli для списка сетевых интерфейсов
- Использование /proc/net/dev
- Заключение
- Похожие записи:
- How can I find available network interfaces?
Как найти доступные сетевые интерфейсы в Linux
Одна из общих задач, которую мы выполняем после установки системы Linux, — настройка сети. Конечно, вы можете настроить сетевые интерфейсы во время установки. Но можно сделать это после установки или при изменении существующих настроек. Для начала мы должны сначала узнать, сколько интерфейсов доступно в системе, чтобы настроить параметры сети из командной строки. В этом кратком руководстве рассмотрим возможные способы поиска доступных сетевых интерфейсов в операционных системах Linux и Unix.
Мы можем найти доступные сетевые карты несколькими способами.
Способ 1. Использование команды ifconfig
Наиболее часто используемый метод поиска сведений о сетевом интерфейсе — это использование команды ifconfig. Я полагаю, что некоторые пользователи Linux все еще могут использовать эту команду.
enp5s0: flags=4098 mtu 1500 ether 24:b6:fd:37:8b:29 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000 (Local Loopback) RX packets 171420 bytes 303980988 (289.8 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 171420 bytes 303980988 (289.8 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlp9s0: flags=4163 mtu 1500 inet 192.168.225.37 netmask 255.255.255.0 broadcast 192.168.225.255 inet6 2409:4072:6183:c604:c218:85ff:fe50:474f prefixlen 64 scopeid 0x0 inet6 fe80::c218:85ff:fe50:474f prefixlen 64 scopeid 0x20 ether c0:18:85:50:47:4f txqueuelen 1000 (Ethernet) RX packets 564574 bytes 628671925 (599.5 MiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 299706 bytes 60535732 (57.7 MiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
Как вы видите в приведенном выше выводе, здесь есть два сетевых интерфейса, а именно enp5s0 (проводной адаптер Ethernet) и wlp9s0 (адаптер беспроводной сети) на компьютере с Linux. Здесь lo — это петлевой интерфейс, который используется для локального доступа ко всем сетевым сервисам. Он имеет IP-адрес 127.0.0.1.
Способ 2. Использование команды ip
Команда ifconfig устарела и не используется в последних версиях Linux. В новых версиях вы можете использовать команду ip для отображения сетевых интерфейсов, как показано ниже:
1: lo: mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: enp5s0: mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000 link/ether 24:b6:fd:37:8b:29 brd ff:ff:ff:ff:ff:ff 3: wlp9s0: mtu 1500 qdisc noqueue state UP mode DORMANT group default qlen 1000 link/ether c0:18:85:50:47:4f brd ff:ff:ff:ff:ff:ff
Вы также можете использовать следующие команды:
Вы заметили, что эти команды также показывают состояние подключения сетевых интерфейсов? Если вы внимательно посмотрите на вышеприведенный вывод, вы заметите, что карта Ethernet не подключена с помощью сетевого кабеля (см. слово DOWN в вышеприведенном выводе). И беспроводная сетевая карта подключена к сети (см. слово UP).
Этих двух команд (ifconfig и ip) достаточно, чтобы найти доступные сетевые карты в ваших системах Linux.
Тем не менее, есть еще доступные методы для просмотра сетевых интерфейсов в Linux.
Способ 3. Просмотр каталога /sys/class/net
Ядро Linux сохраняет данные о сетевом интерфейсе в каталоге /sys/class/net. Вы можете проверить список доступных интерфейсов, заглянув в этот каталог.
Способ 4. Просмотр статистики сетевых интерфейсов
В операционных системах Linux файл /proc/net/dev содержит статистику о сетевых интерфейсах.
Чтобы просмотреть доступные сетевые карты, просто просмотрите их содержимое с помощью команды:
Inter-| Receive | Transmit face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed wlp9s0: 629189631 566078 0 0 0 0 0 0 60822472 300922 0 0 0 0 0 0 enp5s0: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 lo: 303980988 171420 0 0 0 0 0 0 303980988 171420 0 0 0 0 0 0
Способ 5. Использование команды netstat
Команда netstat отображает различные сведения, такие как сетевые подключения, таблицы маршрутизации, статистику интерфейса, маскарадные подключения и широковещательное членство.
Kernel Interface table Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg lo 65536 171420 0 0 0 171420 0 0 0 LRU wlp9s0 1500 565625 0 0 0 300543 0 0 0 BMRU
Только помните, что netstat устарел. Замена для netstat -i — ip -s link. Также обратите внимание, что этот метод будет отображать только активные интерфейсы, а не все доступные.
Способ 6. Использование команды nmcli
Nmcli — это инструмент командной строки для управления NetworkManager и создания отчетов о состоянии сети. Он используется для создания, отображения, редактирования, удаления, активации и деактивации сетевых подключений и отображения состояния сети.
Если у вас установлена система Linux с установленным Network Manager, вы можете получить список доступных сетевых интерфейсов с помощью инструмента nmcli, используя следующие команды:
Теперь вы знаете, как найти доступные сетевые интерфейсы в Linux.
6 способов просмотреть список сетевых интерфейсов в Debian
Сетевой менеджер часто оказывается в ситуациях, когда ему приходится изменять различные сетевые конфигурации. Для этого ему необходимо знать обо всех доступных сетевых интерфейсах в его системе. Поэтому в этой статье мы расскажем о методах, которые вы можете использовать для составления списка сетевых интерфейсов в Debian.
Вывод списка сетевых интерфейсов в Debian
Для вывода списка сетевых интерфейсов в Debian вы можете воспользоваться любым из шести методов, описанных ниже:
Использование команды ip
Чтобы составить список сетевых интерфейсов в Debian с помощью команды IP, вам нужно выполнить следующие шаги:
Запустите терминал в Debian 11 и введите в нём следующую команду, после чего нажмите клавишу Enter:
Как только эта команда будет успешно выполнена, вы сразу же сможете увидеть все ваши сетевые интерфейсы на терминале, как показано на следующем изображении:
Также вы можете ввести следующую команду в терминале и нажать клавишу Enter:
Вывод вышеупомянутой команды показан на рисунке ниже:
Использование команды netstat
Для получения списка сетевых интерфейсов с помощью команды netstat в Debian 11, вам нужно выполнить следующие шаги:
Прежде всего, вам нужно запустить терминал в Debian 11. После этого введите в терминале следующую команду и нажмите клавишу Enter:
Если при выполнении этой команды вы получите сообщение об ошибке, то, вероятно, вам нужно установить пакет net-tools перед выполнением этой команды. Это можно сделать, набрав в терминале следующую команду и нажав клавишу Enter:
sudo apt install net-tools
Как только команда netstat будет успешно выполнена, вы сможете увидеть все ваши сетевые интерфейсы на терминале, как показано на рисунке ниже:
Список сетевых интерфейсов с помощью файловой системы /sys
Чтобы составить список сетевых интерфейсов в Debian с помощью команды ls, вам нужно выполнить следующие шаги:
Запустите терминал в Debian и введите в нём следующую команду, после чего нажмите клавишу Enter:
В результате успешного выполнения этой команды на вашем терминале появится следующее сообщение:
Использование команды ifconfig
Для получения списка сетевых интерфейсов с помощью команды ifconfig в Debian, вам нужно выполнить следующие шаги:
Прежде всего, вам нужно запустить терминал в Debian. Затем введите в терминале следующую команду и нажмите клавишу Enter для её выполнения:
Как только эта команда будет успешно выполнена, вы сможете увидеть список всех ваших сетевых интерфейсов в терминале, как показано на рисунке ниже:
Использование команды nmcli для списка сетевых интерфейсов
Чтобы вывести список сетевых интерфейсов в Debian с помощью команды nmcli, вам нужно выполнить следующие шаги:
Запустите терминал в Debian и установите в нём Network Manager, набрав следующую команду и нажав клавишу Enter:
sudo apt install network-manager
Наконец, выполните следующую команду в терминале и нажмите клавишу Enter:
Как только эта команда будет успешно выполнена, вы сможете увидеть все ваши сетевые интерфейсы на терминале, как показано на рисунке ниже:
Использование /proc/net/dev
Чтобы получить список сетевых интерфейсов с помощью команды cat в Debian, вам нужно выполнить следующие шаги:
Прежде всего, вам нужно запустить терминал в Debian 11. Затем введите в терминале следующую команду и нажмите клавишу Enter:
Результат выполнения этой команды показан на рисунке ниже:
Заключение
Следуя любому из методов, рассмотренных в этой статье, вы можете легко узнать все ваши сетевые интерфейсы. Все эти методы довольно просты и удобны для выполнения. Более того, они будут отлично работать в системах Debian.
Похожие записи:
How can I find available network interfaces?
This is in regard to linux, but if anyone knows of a general *nix method that would be good. I booted a system yesterday with an ethernet cable plugged in. «NetworkManager» is not installed, so once it started I went to look for the name of the ethernet interface with ifconfig to start a DHCP client manually, but it did not show anything other than lo . The NIC was listed via lspci , and the appropriate kernel driver was loaded. The system normally uses wifi, and I could remember the interface name for that was wlan0 . When I tried ifconfig wlan0 up , wlan0 appeared. But the only ethernet interface names I could remember were eth[N] and em[N] — neither of which worked. This document refers to «predictable interface names» but does not do a good job of explaining what they might be in simple terms. It does refer to a piece of source code which implies the name in this case might be deduced from the the PCI bus and slot numbers, which seems like an unnecessarily complicated hassle. Other searching around led me to believe that this might be determined by systemd in conjunction with udev , but there are almost 100 files in /usr/lib/udev/rules.d and spending an hour trying to determine where (and if) there’s a systemd config file for this also seems ridiculous. It would also be nice to know for certain that they are available, not just how they might be named if they are, so I can rule out hardware problems, etc. Isn’t there a simple way to find the names of available network interfaces on linux?
In the question you state that you used ip link but then you accept an answer that suggests ip link show which does the exactly same thing. Why?
The manual pages for iproute2 are quite good nowadays, I guess you’re using and older version of the package.