Відповіді:
$ 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-рівень.