Ini adalah dalam hal linux, tapi jika ada yang tahu dari umum *nix metode yang akan baik.
Aku boot sistem kemarin dengan kabel ethernet yang terpasang di. "NetworkManager" tidak diinstal, sehingga setelah itu mulai aku pergi untuk mencari nama interface ethernet dengan ifconfig
untuk memulai sebuah DHCP client secara manual, tetapi hal itu tidak menunjukkan apa-apa selain lo
.
NIC terdaftar melalui lspci
, dan sesuai driver kernel dimuat. Sistem ini biasanya menggunakan wi-fi, dan aku bisa ingat nama antarmuka untuk itu adalah wlan0
. Ketika saya mencoba ifconfig wlan0 up
, wlan0
muncul. Tapi hanya nama interface ethernet yang bisa saya ingat adalah eth[N]
dan em[N]
-- baik yang bekerja.
Dokumen ini mengacu pada "dapat diprediksi interface nama-nama" tetapi tidak melakukan pekerjaan yang baik untuk menjelaskan apa yang mereka mungkin dalam hal sederhana. Itu tidak merujuk ke bagian dari source code yang berarti nama dalam hal ini bisa disimpulkan dari bus PCI dan slot nomor, yang sepertinya tidak perlu rumit kerumitan.
Lainnya mencari di sekitar membuat saya percaya bahwa ini mungkin akan ditentukan oleh systemd
dalam hubungannya dengan udev
, tetapi ada hampir 100 file /usr/lib/udev/rules.d
dan menghabiskan satu jam mencoba untuk menentukan di mana (dan jika) ada's systemd config file untuk ini juga tampaknya konyol.
Ini juga akan bagus untuk tahu pasti bahwa mereka yang tersedia, tidak hanya bagaimana mereka mungkin bernama jika mereka, sehingga saya bisa mengesampingkan masalah hardware, dll. Isn't ada cara sederhana untuk menemukan nama yang tersedia antarmuka jaringan di linux?
Metode yang paling sederhana yang saya tahu untuk daftar semua interface adalah
ifconfig -a
EDIT
Jika anda're pada sistem mana yang telah dibuat usang, anda dapat menggunakan
ip link show
Kernel daftar nama-nama mereka di /sys
, baik secara terpisah (misalnya) pohon dari perangkat PCI-meskipun menemukan mereka di sana jika anda don't tahu di mana mereka berada untuk memulai dengan adalah tidak sederhana, dan bersama-sama melalui symlink di /sys/class/net
. E. g.:
> ls /sys/class/net
em1 lo wlp6so
Contoh lain:
> ls /sys/class/net
lo p6s1 wlan0
Jika anda tidak yakin yang mana, anda hanya bisa menempatkan mereka semua dengan baik:
ifconfig [name] up
Atau:
ip link set [name] up
Dan kemudian melihat (cukup jelas) petunjuk terdaftar oleh ifconfig
(tanpa argumen). Systemd source code linked dari Freedesktop.org dokumen juga mengacu pada:
Two character prefixes based on the type of interface:
* en -- ethernet
* sl -- serial line IP (slip)
* wl -- wlan
* ww -- wwan
Meskipun dalam salah satu kasus di atas (p6s1
) tidak ada awalan.
ifconfig
= Solaris
ipconfig
= Windows
ip
= Linux
Yang saya tahu, tapi saya pasti terbuka untuk penambahan dan koreksi.