Как вывести список всех физически установленных сетевых карт (Debian)?


14

На моем «Выделенном сервере» должны быть установлены две сетевые карты, но я могу найти только одну.

Мой вопрос: Какие еще команды и методы доступны для проверки количества сетевых карт, установленных на моем сервере

lspci | grep Ethernet

Есть ли другие доступные команды / методы?


У вас есть физический доступ к хосту? Можете ли вы подтвердить, что карты расширения правильно установлены? Все сетевые карты от одного производителя?
— Ток

Привет Ток. Спасибо за ваш ответ. Нет, NIC не от одного производителя (один должен быть от intel, а другой от realtek). => Ваш вопрос звучит интересно. Каков может быть эффект / результат, если карты разных производителей? И у меня нет физического доступа к серверу и я не знаю, правильно ли они установлены. Благодарю. Jens.
— Дженс

Ответы:


14

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

lshw -class network

4
lshw не является частью установки Debian по умолчанию.
— Жан-Марк Лиотье

1
Я нахожу это слишком много, я скорее просто: ip link show
— Матиас

Это также отображает мостовые интерфейсы, которые не являются физическими.
— Ксоракс

11

Для Ethernet:

ls -d /sys/class/net/eth* | wc -l

1
Это не работает в общем, потому что имена устройств Ethernet не должны начинаться с eth. Многие (все?) Основные дистрибутивы Linux в настоящее время используют «предсказуемые имена интерфейсов Ethernet» с systemd, что приводит к именам проводных интерфейсов, таким как en0 или enp0s25, поэтому при поиске eth * их будет не хватать.
— rajb245

2
Дайте это попробовать $ ls -l /sys/class/net/ | grep -v virtual. Он фильтрует все виртуальные сетевые интерфейсы. Работа на Ubuntu работает в виртуальной коробке.
— kwarnke

11

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


10
find /sys/class/net -type l -not -lname '*virtual*' -printf '%f\n'

Показывает только интерфейсы, которые относятся к физическому NIC.

Пытался найти typeвариант, ip link showкоторый бы отображал нелогично, но увы:

ip link help 2>&1 | grep -A10 'TYPE :='
TYPE := { vlan | veth | vcan | dummy | ifb | macvlan | macvtap |
          bridge | bond | ipoib | ip6tnl | ipip | sit | vxlan |
          gre | gretap | ip6gre | ip6gretap | vti | nlmon |
          bond_slave | ipvlan | geneve | bridge_slave | vrf }

Кажется, это единственное, что ip link showне может сделать. По крайней мере, не прибегая к сценарию, который сначала перечисляет все вышеперечисленное, а затем делает grep -vокончательный запуск без typeуказания.


Это определенно кажется, что-то ip linkдолжно быть в состоянии справиться. Если используется много виртуальных интерфейсов (скажем, для мостов или vlan) и особенно если эти виртуальные интерфейсы были переименованы.
— Сентиман

7

/proc/net/devФайл содержит информацию обо всех интерфейсах. например

$ cat /proc/net/dev
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo:    3562      60    0    0    0     0          0         0     3562      60    0    0    0     0       0          0
 wlan0: 2491781197 2034240    0    0    0     0          0         0 261797069 1502752    0    0    0     0       0          0
  eth0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0

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

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

/sbin/ifconfig -a

который покажет вам ненастроенные / отключенные сетевые интерфейсы, а также настроенные и активные интерфейсы , прочитанные из/proc/net/dev


1
modprobe -c |grep 'eth[0-9]'

показывает реальный драйвер устройства, используемый для каждого устройства Ethernet


... но устройства Ethernet могут быть названы по-разному
— Joril
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.