Saya ingin memeriksa apakah ethX tertentu secara fisik naik atau turun. Bagaimana saya melakukannya dengan baris perintah?
Saya ingin memeriksa apakah ethX tertentu secara fisik naik atau turun. Bagaimana saya melakukannya dengan baris perintah?
Jawaban:
$ 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
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 sys
sistem file ini dapat ditemukan di sini:
https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-net
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 / Half 10baseT / Full 100baseT / Setengah 100baseT / Penuh 1000baseT / Penuh Negosiasi otomatis yang diiklankan: Ya Kecepatan: 1000Mb / s Dupleks: Penuh Port: Twisted Pair PHYAD: 0 Transceiver: internal Negosiasi otomatis: aktif Mendukung Wake-on: g Bangun: d Level pesan saat ini: 0x00000037 (55) Tautan terdeteksi: ya
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 mereka dapat menunjukkan informasi yang ketinggalan zaman tentang keadaan tautan.
Link detected: no
alih-alih Link detected: yes
, dan show ip menunjukkan, <NO-CARRIER,BROADCAST,MULTICAST,UP>
bukan <BROADCAST,MULTICAST,UP,LOWER_UP>
, tetapi ifconfig -a menunjukkan UP BROADCAST MULTICAST MTU:1500 Metric:1
, yang sama dengan ketika NIC terhubung.
dmesg | grep eth
Anda akan melihat semua perubahan status
eth0
perangkat, tetapi tidak di eth2
perangkat.
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
# mii-tool eth0: negotiated 1000baseT-FD flow-control, link ok
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
netplugd adalah layanan yang dapat menjalankan program ketika kabel dicolokkan atau kabel dicabut. Jadi baris perintahnya adalah untuk grep / var / log / messages atau dmesg untuk output netplugd.
Untuk menambahkan jawaban @ goo dengan cepat , Anda dapat menginterpretasikan 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
Anda dapat melihat bahwa sistem dikonfigurasikan untuk mencoba dan menggunakan NIC untuk jaringan. Di NO-CARRIER
sini, Anda diberi tahu apa masalah yang mencegah jaringan bekerja.
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 berfungsi normal:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq state UP mode DEFAULT group default qlen 1000
Secara administratif UP
, LOWER_UP
menunjukkan lapisan fisik berfungsi (yaitu ada pembawa), dan yang kedua UP
mengkonfirmasi (pada dasarnya) lapisan IP naik.