Как вывести список всех физически установленных сетевых карт (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.