Ich habe einen kleinen Heimrouter, auf dem OpenWrt ausgeführt wird (eine Art eingebettetes Linux für Router). Es verfügt über fünf Ethernet-Ports, einen WAN-Port und vier Labeld LAN-Ports (1 bis 4). Die folgenden Netzwerkschnittstellen sind wie folgt definiert 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
Wie Sie sehen, eine ganze Reihe von Geräten, aber nur eine MAC-Adresse.
Ich verstehe, dass einige dieser Geräte virtuell sind. Lassen Sie uns beiseite legen lo
und pppoe-wan
das ist das Loopback-Gerät und meine PPPoE-Verbindung. Aber wie soll ich für die anderen feststellen können, ob sie physisch oder virtuell sind? Ich verstehe, dass es eine Namenskonvention für die Kennzeichnung virtueller Schnittstellen gibt eth0.1
, die hier jedoch offensichtlich nicht eingehalten wird. Sehen wir uns die Ausgabe von ifconfig
für zwei dieser Schnittstellen an:
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
Abgesehen von dem obskuren Detail txqueuelen
einer Nicht-Null für eth0
, ist der einzige auffällige Unterschied, dass eth0
es einen Interrupt
Eintrag gibt, der meines Wissens ein Hardware-Feature ist. Stellen Sie also fest, dass eine Netzwerkschnittstelle physisch ist oder nicht, indem Sie nach einem Interrupt
Eintrag in suchen ifconfig
? Oder gibt es einen besseren Weg? Eine einfache und unkomplizierte Methode, um herauszufinden, ob ein Netzwerkgerät physisch oder virtuell ist?
Beachten Sie, dass es eine verwandte Frage gibt, die zwar eine akzeptierte Antwort enthält, jedoch nicht abschließend ist.
Aktualisieren
Als Antwort auf die Antwort von derobert finden Sie hier Informationen, die abgeleitet wurden von 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
[Nachtrag zu dieser Liste: wlan0
wäre auch aufgetaucht wlan0 -> ../../devices/platform/ath9k/net/wlan0
, aber als ich die obige Liste kopierte, hatte ich WLAN deaktiviert, weshalb es nicht aufgetaucht ist.]
Ich würde sagen, eth0
ist das einzige Gerät. Unklar was dsa.0
ist.
Und als Antwort auf Bryan Agees Antwort:
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
nicht in der Paketliste. Ein sachkundiger und entschlossener Kerl könnte erfolgreich Entwickler-Tools installieren tmpfs
, aber würde es sich lohnen? Ich werde mein Verständnis von Linux-Netzwerken mithilfe eines Standard-PCs vertiefen. Das wird einfacher. Obwohl ich diese Routerkonfiguration nicht richtig verstehe, funktioniert sie einwandfrei. Danke für Ihre Hilfe.