Ho un piccolo router domestico che esegue OpenWrt (tipo di Linux incorporato per router). Ha cinque porte Ethernet, una etichettata WAN e quattro etichettate LAN da 1 a 4. Ha le seguenti interfacce di rete definite come ifconfig
:
root@TIBERIUS: ~ > ifconfig | grep Link
br-lan Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0
eth0 Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0
lan1 Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0
lan2 Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0
lan3 Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0
lan4 Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0
lo Link encap:Local Loopback
pppoe-wan Link encap:Point-to-Point Protocol
wan Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0
wlan0 Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0
Come puoi vedere, un certo numero di dispositivi, ma solo un indirizzo MAC.
Capisco che alcuni di quei dispositivi sono virtuali. Mettiamo da parte lo
e pppoe-wan
, questo è il dispositivo di loopback e la mia connessione PPPoE. Ma per il resto, come potrei essere in grado di dire se sono fisici o virtuali? Capisco che esiste una convenzione di denominazione per l'etichettatura di interfacce virtuali come eth0.1
, ma ovviamente non è rispettata qui. Vediamo l'output di ifconfig
per due di queste interfacce:
root@TIBERIUS: ~ > ifconfig wan
wan Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:15007 errors:0 dropped:0 overruns:0 frame:0
TX packets:12055 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:13341276 (12.7 MiB) TX bytes:1831757 (1.7 MiB)
root@TIBERIUS: ~ > ifconfig eth0
eth0 Link encap:Ethernet HWaddr 00:23:CD:20:C3:B0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:25799 errors:0 dropped:0 overruns:23 frame:0
TX packets:25294 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:15481996 (14.7 MiB) TX bytes:15160380 (14.4 MiB)
Interrupt:4
A parte l'oscuro dettaglio di txqueuelen
avere un valore diverso da zero eth0
, l'unica notevole differenza è che eth0
ha una Interrupt
voce, che per quanto ne so è una funzionalità hardware. Quindi è così che dici che un'interfaccia di rete è fisica o no, cercando una Interrupt
voce ifconfig
? O c'è un modo migliore? Un modo semplice e diretto per scoprire se un dispositivo di rete è fisico o virtuale?
Nota che c'è una domanda correlata ma sebbene abbia una risposta accettata, non è conclusiva.
Aggiornare
In risposta alla risposta di Derobert, ecco le informazioni derivate da ls -l /sys/class/net
:
br-lan -> ../../devices/virtual/net/br-lan
eth0 -> ../../devices/platform/ag71xx.0/net/eth0
lan1 -> ../../devices/platform/dsa.0/net/lan1
lan2 -> ../../devices/platform/dsa.0/net/lan2
lan3 -> ../../devices/platform/dsa.0/net/lan3
lan4 -> ../../devices/platform/dsa.0/net/lan4
lo -> ../../devices/virtual/net/lo
pppoe-wan -> ../../devices/virtual/net/pppoe-wan
wan -> ../../devices/platform/dsa.0/net/wan
[Addendum a questo elenco: wlan0
sarebbe comparso così come wlan0 -> ../../devices/platform/ath9k/net/wlan0
, ma quando ho copiato l'elenco sopra avevo WLAN disabilitato, motivo per cui non è stato visualizzato.]
Direi che eth0
è l'unico dispositivo. Non è chiaro cosa dsa.0
sia.
E in risposta alla risposta di Bryan Agee:
root@TIBERIUS: ~ > cat /etc/config/network
config interface 'loopback'
option ifname 'lo'
option proto 'static'
option ipaddr '127.0.0.1'
option netmask '255.0.0.0'
config interface 'eth'
option ifname 'eth0'
option proto 'none'
config interface 'lan'
option ifname 'lan1 lan2 lan3 lan4'
option type 'bridge'
option proto 'static'
option ipaddr '192.168.33.1'
option netmask '255.255.255.0'
config interface 'wan'
option ifname 'wan'
option proto 'pppoe'
option username '…'
option password '…'
lshw -class network
lshw
non è nell'elenco dei pacchetti. Un ragazzo esperto e determinato potrebbe riuscire a installare gli strumenti di sviluppo tmpfs
, ma varrebbe la pena? Ho intenzione di approfondire la mia comprensione della rete Linux tramite un PC standard. Questo sarà più facile. Anche se non capisco correttamente questa configurazione del router, funziona benissimo. Grazie per l'aiuto.