У меня есть небольшой домашний маршрутизатор под управлением OpenWrt (вид встроенного Linux для маршрутизаторов). Он имеет пять портов Ethernet, один с меткой WAN и четыре с меткой LAN от 1 до 4. Он имеет следующие сетевые интерфейсы, определенные в соответствии с 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
Как видите, довольно много устройств, но только один MAC-адрес.
Я понимаю, что некоторые из этих устройств являются виртуальными. Давайте отложим в сторону lo
и pppoe-wan
это устройство loopback и мое соединение PPPoE. Но для остальных из них, как я могу сказать, физические они или виртуальные? Я понимаю, что существует соглашение об именовании для обозначения виртуальных интерфейсов eth0.1
, но это явно не соблюдается. Давайте посмотрим на вывод ifconfig
для двух из этих интерфейсов:
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
Помимо непонятной детализации txqueuelen
ненулевого значения eth0
, единственное различие заключается в том, что в нем eth0
есть Interrupt
запись, которая, насколько я знаю, является аппаратной функцией. Так вот как вы говорите, что сетевой интерфейс является физическим или нет, ища Interrupt
вход в ifconfig
? Или есть лучший способ? Простой и понятный способ узнать, является ли сетевое устройство физическим или виртуальным?
Обратите внимание, что есть связанный вопрос, но, хотя он и имеет принятый ответ, он не является окончательным.
Обновить
В ответ на ответ Дероберта вот информация, полученная из 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
[Приложение к этому списку: wlan0
показалось бы так же хорошо wlan0 -> ../../devices/platform/ath9k/net/wlan0
, но когда я скопировал приведенный выше список, у меня была отключена WLAN, поэтому он не появился.]
Я бы сказал, eth0
это единственное устройство. Не понятно что это dsa.0
такое.
И в ответ на ответ Брайана Эйджи:
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
отсутствует в списке пакетов. Знающий и целеустремленный парень может успешно установить инструменты разработки tmpfs
, но стоит ли это того? Я собираюсь углубить свое понимание работы с сетью Linux с помощью стандартного ПК. Это будет проще. Хотя я не совсем понимаю эту конфигурацию маршрутизатора, она работает нормально. Спасибо за вашу помощь.