Saya mencoba mengidentifikasi NIC di ~ 20 server jarak jauh (2-6 NIC di setiap server). Untuk mulai dengan, saya ingin mengidentifikasi yang siap digunakan dan yang gratis. Bagaimana saya bisa mengecek keadaan media fisik? Saya tahu beberapa cara, termasuk ifconfig|grep RUNNING
, ethtool
, cat /sys/class/net/eth0/carrier
, tapi semua mereka mengharuskan antarmuka telah menyala. Saya tidak ingin menampilkan SEMUA antarmuka. Tidak yakin mengapa, tapi saya tidak suka telah mengaktifkan, tetapi tidak mengkonfigurasi antarmuka dalam jaringan. Apakah ada cara saya bisa menghindari ini?
Atau apakah saya hanya salah dan tidak ada yang buruk tentang semua antarmuka sedang (dan tidak dikonfigurasi)? Bahkan jika mereka terhubung?
sumber
ip addr show
bahkan menambahkan alamat IP ke output.ip link show
menunjukkan tidak lebih dari "BAWAH".ip
melaporkan informasi yang sama sepertiifconfig
dan/sys/class/net/
dalam hal apa pun, bukan? Apakah Anda mendapatkan informasi status tautanip
yang berbeda dengan apa yang Anda dapatkan di bawah/sys/class/net
atau dariifconfig
mesin Anda? Atau apakah Anda mendapatkan status tautan tentang antarmuka yang tidak aktif/sys/class/net
(saya mengerti/sys/class/net/eth0/carrier: Invalid argument
)?Berikut ini skrip saya untuk memperbarui rute default berdasarkan kondisi koneksi secara realtime . (berjalan di latar belakang) bekerja dengan banyak antarmuka, saya menentukan prioritas dalam
/tmp/${iface}.metric
file, antarmuka terhubung 'terbaik' akan digunakan untuk merutekan lalu lintas default.sumber
ip link show menampilkan bendera "LOWER_UP" untuk menunjukkan kabel terpasang. Anda juga dapat memeriksa / sys / class / net / eth * / operstate atau carrier. Namun, semua ini hanya berfungsi untuk antarmuka dengan alamat IP yang terikat padanya.
sumber