Відповіді:
$ ethtool <eth?>
Наприклад:
$ ethtool eth0
забезпечує:
Settings for eth0:
Supported ports: [ TP ]
Supported link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Supports auto-negotiation: Yes
Advertised link modes: 10baseT/Half 10baseT/Full
100baseT/Half 100baseT/Full
1000baseT/Full
Advertised pause frame use: No
Advertised auto-negotiation: Yes
Speed: 1000Mb/s
Duplex: Full
Port: Twisted Pair
PHYAD: 1
Transceiver: internal
Auto-negotiation: on
MDI-X: on
Supports Wake-on: pumbg
Wake-on: g
Current message level: 0x00000001 (1)
Link detected: yes
Перевірте /sys/class/net/eth0/operstate
та інші файли в цьому каталозі.
Наскільки я знаю, це характерно для Linux 2.6+, але він забезпечує чистий інтерфейс до драйвера ядра.
Повну документацію для цієї частини sys
файлової системи можна знайти тут:
https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net
ethtool [interface]
останній рядок показує, що ви хочете:
# ethtool eth0 Налаштування eth0: Підтримувані порти: [TP] Підтримувані режими посилань: 10baseT / Половина 10baseT / Full 100baseT / Половина 100baseT / Повна 1000baseT / Повна Підтримує автоматичні переговори: Так Рекламовані режими посилань: 10baseT / Половина 10baseT / Full 100baseT / Половина 100baseT / Повна 1000baseT / Повна Рекламовані автодомовини: Так Швидкість: 1000Mb / s Дуплекс: Повний Порт: кручена пара PHYAD: 0 Приймач: внутрішній Автомобільні переговори: на Підтримує пробудження: g Прокидання: буд Поточний рівень повідомлення: 0x00000037 (55) Виявлено посилання: так
ip link show
інша. Добрий старий
ifconfig dev_name
або
ifconfig -a
також підкаже, чи працює інтерфейс. ПРИМІТКА. Будьте обережні з цими методами, оскільки вони можуть відображати застарілу інформацію про стан посилання.
Link detected: no
замість Link detected: yes
, а ip link show показує <NO-CARRIER,BROADCAST,MULTICAST,UP>
замість <BROADCAST,MULTICAST,UP,LOWER_UP>
, але ifconfig -a показує UP BROADCAST MULTICAST MTU:1500 Metric:1
, що те саме, що і при підключенні NIC.
dmesg | grep eth
ви повинні побачити всі зміни статусу
eth0
пристрої, але він не працює на eth2
пристрої.
Ви також можете скористатися mii-інструментом, щоб перевірити, чи працює посилання та перевірити узгоджену швидкість.
# mii-інструмент
eth0: узгоджено 100baseTx-FD, посилання ок
# mii-tool eth0: negotiated 1000baseT-FD flow-control, link ok
Ви можете мати повну інформацію за допомогою команди нижче
ethtool eth0
І якщо ви просто хочете побачити статус посилання, дайте команду нижче
mii-tool eth0
netplugd - це послуга, яка може запускати програми, коли підключено кабель або виймається кабель. Таким чином, командним рядком було б grep / var / log / messages або dmesg для виведення netplugd.
Щоб швидко додати відповідь до @ goo , ви інтерпретували наступне ip link
чи ip link show INTERFACE
наступне.
Це порт, який знаходиться в адміністративному плані, але фізично знижений:
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
Іншими словами, UP
ви можете бачити, що система налаштована на спробу використання NIC для роботи в мережі. NO-CARRIER
Тут говорить вам , що проблема запобігання мережі від роботи є.
Це порт, який знаходиться в адміністративному плані (його фізичний рівень "вгору", технічно - це VM):
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
Нарешті, цей порт працює нормально:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq state UP mode DEFAULT group default qlen 1000
Це адміністративно UP
, LOWER_UP
вказує, що фізичний рівень працює (тобто є носій), а другий UP
підтверджує (фактично) IP-рівень.