Tôi muốn kiểm tra xem một ethX được chỉ định là lên hay xuống. Làm thế nào để tôi làm điều đó với dòng lệnh?
Tôi muốn kiểm tra xem một ethX được chỉ định là lên hay xuống. Làm thế nào để tôi làm điều đó với dòng lệnh?
Câu trả lời:
$ ethtool <eth?>
Ví dụ:
$ ethtool eth0
cung cấp:
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
Kiểm tra /sys/class/net/eth0/operstate
và các tập tin khác trong thư mục này.
Theo tôi biết điều này là dành riêng cho Linux 2.6+, nhưng nó cung cấp giao diện sạch cho trình điều khiển kernel.
Tài liệu đầy đủ cho phần này của sys
hệ thống tập tin có thể được tìm thấy ở đây:
https://www.kernel.org/doc/Documentation/ABI/testing/sysfs- class-net
ethtool [interface]
dòng cuối cùng cho thấy những gì bạn muốn:
# ethtool eth0 Cài đặt cho eth0: Các cổng được hỗ trợ: [TP] Các chế độ liên kết được hỗ trợ: 10baseT / Nửa 10baseT / Full 100baseT / Nửa 100baseT / Đầy đủ 1000baseT / Đầy đủ Hỗ trợ tự động đàm phán: Có Chế độ liên kết được quảng cáo: 10baseT / Half 10baseT / Full 100baseT / Nửa 100baseT / Đầy đủ 1000baseT / Đầy đủ Quảng cáo tự động đàm phán: Có Tốc độ: 1000Mb / giây Hai mặt: Đầy đủ Cổng: Cặp xoắn PHONG: 0 Bộ thu phát: nội bộ Tự động đàm phán: trên Hỗ trợ Wake-on: g Thức dậy: d Cấp độ tin nhắn hiện tại: 0x00000037 (55) Liên kết được phát hiện: có
ip link show
là một cái khác. Tốt tuổi
ifconfig dev_name
hoặc là
ifconfig -a
cũng sẽ cho bạn biết nếu giao diện được bật lên. LƯU Ý: Hãy thận trọng với các phương pháp này vì chúng có thể hiển thị thông tin lỗi thời liên quan đến trạng thái của liên kết.
Link detected: no
thay vì Link detected: yes
, và ip liên kết hiển thị cho thấy <NO-CARRIER,BROADCAST,MULTICAST,UP>
thay vì <BROADCAST,MULTICAST,UP,LOWER_UP>
, nhưng ifconfig -a chương trình UP BROADCAST MULTICAST MTU:1500 Metric:1
, đó là giống như khi NIC được kết nối.
dmesg | grep eth
bạn sẽ thấy tất cả các trao đổi trạng thái
eth0
thiết bị, nhưng nó không hoạt động trên eth2
thiết bị.
Bạn cũng có thể sử dụng mii-tool để xem liên kết có hoạt động không và kiểm tra tốc độ thương lượng.
# mii-tool
eth0: đã đàm phán 100baseTx-FD, liên kết ok
# mii-tool eth0: negotiated 1000baseT-FD flow-control, link ok
Bạn có thể có đầy đủ chi tiết với lệnh dưới đây
ethtool eth0
Và nếu bạn chỉ muốn xem trạng thái liên kết, lệnh đưa ra bên dưới
mii-tool eth0
netplugd là một dịch vụ có thể chạy (các) chương trình khi cắm cáp hoặc rút cáp ra. Vì vậy, dòng lệnh sẽ là grep / var / log / message hoặc dmesg cho đầu ra netplugd.
Để nhanh chóng thêm vào câu trả lời của @ goo , bạn sẽ diễn giải ip link
hoặc ip link show INTERFACE
như sau.
Đây là một cổng được quản lý lên, nhưng về thể chất:
2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000
Nói cách khác, UP
bạn có thể thấy hệ thống được cấu hình để thử và sử dụng NIC để kết nối mạng. Ở NO-CARRIER
đây cho bạn biết vấn đề ngăn chặn mạng hoạt động là gì.
Đây là một cổng bị quản lý xuống (lớp vật lý của nó là 'lên', về mặt kỹ thuật - đó là một VM):
3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000
Cuối cùng, cổng này hoạt động bình thường:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq state UP mode DEFAULT group default qlen 1000
Về mặt hành chính UP
, lớp LOWER_UP
biểu thị lớp vật lý đang hoạt động (tức là có sóng mang) và lớp thứ hai UP
xác nhận (có hiệu lực) lớp IP đang hoạt động.