Sejauh yang saya tahu, ada 4 jenis utama antarmuka jaringan di Linux: tun, ketuk, jembatan dan fisik.
Ketika saya melakukan sys admin pada mesin yang menjalankan KVM, saya biasanya menemukan tap, jembatan dan antarmuka fisik pada mesin yang sama, tanpa bisa membedakan mereka. Saya tidak dapat melihat perbedaan yang signifikan dalam ifconfig
hasil, seperti dalam ip
hasil.
Bagaimana saya bisa tahu jika antarmuka adalah tun, ketuk, jembatan, atau fisik?
Catatan: Saya tidak mengklaim bahwa tidak ada jenis antarmuka jaringan lain di Linux, tetapi saya hanya tahu 4 ini.
device
symlink:ls -l /sys/class/net/lan1/device
Menunjukkan/sys/class/net/lan1/device -> ../../../dsa.0
pada router yang menjalankan OpenWrt (Linux tertanam). Saya menemukan bahwa Antarmuka fisik memiliki entri Interupsi dalam output dariifconfig
. Sungguh aneh bahwa pertanyaan sederhana tentang Antarmuka tampaknya sangat sulit untuk dijawab. Investigasi berlanjut ...Mengenai perangkat TUN dan TAP: tidak cukup untuk melakukan pemeriksaan di atas.
Alasannya adalah bahwa mungkin ada kasus ketika kita membuat perangkat TUN dan (secara tidak sengaja) menyebutnya tap10; atau buat perangkat TAP dan beri nama tun10. Jadi, bagaimana saya bisa tahu apakah itu perangkat tun atau perangkat tap, karena keduanya tentu saja akan memiliki entri "tun_flags"?
Jawabannya adalah berlari
ethtool -i tunOrTapDeviceName
.Contoh
sumber
driver
bidang. jembatan akan ditampilkandriver: bridge
. Sayangnya tun / ketuk keduanya muncul sebagaidriver: tun
, melanggar pola :).Anda dapat menggunakan opsi lebih atau kurang tidak terdokumentasi
-d
untukip(8)
, yang memberitahu Anda jenis perangkat tertentu termasuk tun, ketuk & veth:misalnya
... perhatikan
tun
di baris terakhir.Anda juga bisa menggunakannya
-d
bersamaip l
.sumber
Perintah ini akan melakukan pekerjaan:
ip tuntap
Contoh hasil:
atau dengan detail:
ip -detail tuntap
Contoh hasil:
sumber