pengembangan-web-mp-pd.com

Bagaimana cara memeriksa status fisik port ethernet di Linux?

Saya ingin memeriksa apakah ethX tertentu secara fisik naik atau turun. Bagaimana saya melakukannya dengan baris perintah?

67
Jader Dias

$ ethtool <eth?>

Sebagai contoh:

$ ethtool eth0

menyediakan:

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
70
Brooks

Periksa /sys/class/net/eth0/operstate dan file lain dalam direktori ini.

Sejauh yang saya tahu ini khusus untuk Linux 2.6+, tetapi ia menyediakan antarmuka yang bersih untuk driver kernel.

Dokumentasi lengkap untuk bagian dari sistem file sys ini dapat ditemukan di sini:

https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net

48
Linuxtraveler

ethtool [interface]

baris terakhir menunjukkan apa yang Anda inginkan:

 # ethtool eth0 
 Pengaturan untuk eth0: 
 Port yang didukung: [TP] 
 Mode tautan yang didukung: 10baseT/Half 10baseT/Full 
 100baseT/Setengah 100baseT/Penuh 
 1000baseT/Penuh 
 Mendukung negosiasi otomatis: Ya 
 Mode tautan yang diiklankan: 10baseT/Setengah 10baseT/Penuh 
 100baseT/Setengah 100baseT/Penuh 
 1000baseT/Full 
 Perundingan otomatis yang diiklankan: Ya 
 Kecepatan: 1000Mb/s 
 Dupleks: Penuh 
 Port: Twisted Pair 
 PHYAD: 0 
 Transceiver: internal 
 Negosiasi otomatis: pada 
 Mendukung Wake-on: g 
 Wake-on: d 
 Level pesan saat ini : 0x00000037 (55) 
 Tautan terdeteksi: yes 
34
Kurt
ip link show

adalah yang lain. Bagus tua

ifconfig dev_name

atau

ifconfig -a

juga akan memberi tahu Anda jika antarmuka sudah habis. CATATAN: Berhati-hatilah dengan metode ini karena metode tersebut dapat menampilkan informasi yang ketinggalan zaman tentang keadaan tautan.

25
goo
dmesg | grep eth

anda akan melihat semua perubahan status

16
lepole

Anda juga dapat menggunakan mii-tool untuk melihat apakah tautannya sudah habis dan memeriksa kecepatan yang dinegosiasikan.

# mii-tool
eth0: negosiasi 100baseTx-FD, tautan ok

9
Alakdae

Untuk menambahkan dengan cepat ke @ goo jawaban, Anda akan menafsirkan ip link atau ip link show INTERFACE sebagai berikut.

Ini adalah port yang secara administratif naik, tetapi secara fisik turun:

2: eth0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT group default qlen 1000

Dengan kata lain, UP yang Anda lihat menunjukkan sistem dikonfigurasikan untuk mencoba dan menggunakan NIC untuk jaringan. NO-CARRIER di sini memberitahu Anda apa masalah yang mencegah jaringan berfungsi.

Ini adalah port yang secara administratif turun (lapisan fisiknya 'naik', secara teknis - ini adalah VM):

3: eth1: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT group default qlen 1000

Akhirnya, port ini bekerja secara normal:

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq state UP mode DEFAULT group default qlen 1000

Secara administratif UP, the LOWER_UP menunjukkan lapisan fisik berfungsi (mis. ada pembawa), dan yang kedua UP mengkonfirmasi (pada dasarnya) lapisan IP naik.

4

Anda dapat memiliki detail lengkap dengan perintah di bawah ini

ethtool eth0

Dan jika Anda hanya ingin melihat status tautan, berikan perintah di bawah ini

mii-tool eth0
3
Nikunj Ranpura

netplugd adalah layanan yang dapat menjalankan program ketika kabel dicolokkan atau kabel dicabut. Jadi baris perintahnya adalah grep/var/log/messages atau dmesg untuk output netplugd.

2
rjt

Jika sistem Anda menggunakan ifplugd (mis. Pada Raspberry Pi dengan Raspbian) maka Anda dapat menggunakan alat status terkait ifplugstatus untuk mendapatkan status tautan semua antarmuka:

ifplugstatus

atau antarmuka spesifik (mis. eth0):

ifplugstatus eth0
2
Pierz