Как знать, является ли сетевой интерфейс касанием, бочкой, мостом или физический?

Ваш iPod должен работать с gtkpod, который пользуется libgpod библиотекой, как почти каждое приложение Linux.

Взгляните на http://gtkpod.wikispaces.com/Supported+iPods для своей модели. После этого взгляните на "Начинающего" Page gtkpod проекта: http://www.gtkpod.org/wiki/Getting_started

19
28.01.2018, 04:30
5 ответов

Я не думаю, что существует простой способ отличить их. Ввод по абсолютному адресу вокруг в /sys/class/net Я нашел следующие различия:

  • Физические устройства имеют a /sys/class/net/eth0/device символьная ссылка
  • Мосты имеют a /sys/class/net/br0/bridge каталог
  • БОЧКА и устройства TAP имеют a /sys/class/net/tap0/tun_flags файл
  • Мосты и петлевые интерфейсы имеют 00:00:00:00:00:00 в /sys/class/net/lo/address
18
27.01.2020, 19:44
  • 1
    Хорошая идея посмотреть в/sys/ –  user368507 17.06.2012, 18:43
  • 2
    могут также иметь такой device символьная ссылка: ls -l /sys/class/net/lan1/device Шоу /sys/class/net/lan1/device -> ../../../dsa.0 на выполнении маршрутизатора OpenWrt (встроил Linux). Я нашел, что физические интерфейсы имеют запись Прерывания в выводе ifconfig. Странно, что такой простой вопрос об Интерфейсе кажется настолько трудным ответить. Расследование продолжается... –  Lumi 01.12.2012, 13:53
  • 3
    Как насчет ppp виртуального устройства? –  Mâtt Frëëman 07.10.2016, 05:42

Относительно БОЧКИ и устройств TAP: недостаточно осуществить проверку выше.

Причина состоит в том, что могут быть случаи, когда мы создаем устройство БОЧКИ, и (ошибкой) называют это tap10; или создайте устройство TAP и назовите его tun10. Так, как я могу знать, является ли это устройство бочки или устройство касания, так как у обоих, конечно, будут "tun_flags" записи?

Ответ должен работать ethtool -i tunOrTapDeviceName.

  • В случае устройства TAP мы доберемся: "информация шины: коснитесь".
  • В случае устройства БОЧКИ мы доберемся: "информация шины: бочка".

Пример

$ ethtool -i tapfffb93e9-6a
driver: tun
version: 1.6
firmware-version:
bus-info: tap
supports-statistics: no
supports-test: no
supports-eeprom-access: no
supports-register-dump: no
supports-priv-flags: no
23
27.01.2020, 19:44
  • 1
    Нет ли команда ethtool, чтобы найти если интерфейс это физический или мост? –  madCode 03.09.2013, 17:49
  • 2
    Этот ответ является более кратким и решением общего назначения. –  Joshua Miller 15.11.2015, 21:07
  • 3
    @madcode В общем случае Вы хотите driver поле. мосты покажут driver: bridge. К сожалению, бочка/касание оба обнаруживается как driver: tun, повреждение шаблона :). –  sourcejedi 17.01.2016, 14:21
  • 4
    Да это - ответ. Другой одно единственное говорит Вам, если intf является виртуальным из нет! Можно назвать интерфейс касания с именем, которое не дает признака природы интерфейса –  MiniMe 16.03.2016, 03:49

Эта команда выполнит задание:

ip tuntap

Пример результата:

vnet0: tap

или с подробностями:

ip -подробности tuntap

Пример результата:

vnet0: tap
    Attached to processes: qemu-system-x86(2225)
5
27.01.2020, 19:44

nmcli device showбудет отображаться в GENERAL.TYPE

GENERAL.DEVICE:                         as0t0
GENERAL.TYPE:                           tun
GENERAL.HWADDR:                         (unknown)
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     as0t0
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/6
IP4.ADDRESS[1]:                         172.27.224.1/24
IP4.GATEWAY:                            --
IP4.ROUTE[1]:                           dst = 172.27.224.0/24, nh = 0.0.0.0, mt = 0
IP6.ADDRESS[1]:                         fe80::36f0:2ea:69db:490/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 256

GENERAL.DEVICE:                         as0t1
GENERAL.TYPE:                           tun
GENERAL.HWADDR:                         (unknown)
GENERAL.MTU:                            1500
GENERAL.STATE:                          100 (connected)
GENERAL.CONNECTION:                     as0t1
GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveConnection/7
IP4.ADDRESS[1]:                         172.27.225.1/24
IP4.GATEWAY:                            --
IP4.ROUTE[1]:                           dst = 172.27.225.0/24, nh = 0.0.0.0, mt = 0
IP6.ADDRESS[1]:                         fe80::abfe:7b9c:4ab2:ea70/64
IP6.GATEWAY:                            --
IP6.ROUTE[1]:                           dst = fe80::/64, nh = ::, mt = 256
0
10.06.2021, 04:38

Я подозреваю, что это сильно зависит от того, какую операционную систему вы имеете в виду.

Например, в FreeBSD устройства по умолчанию для:

  • tun (4 )устройства являются tun[0 -9]+ (и, вероятно, имеют атрибут «группы :tun», если они не удалены с помощьюifconfig tunX -group tun)
  • tap (4 )устройства являются tap[0 -9]+ (и, вероятно, имеют атрибут «группы :tap», если они не удалены с помощьюifconfig tapX -group tap)
  • мост (4 )устройства являются мостами [0 -9]+ (и, вероятно, имеют атрибут «группы :мост», если они не удалены с помощьюifconfig bridgeX -group bridge))
  • физические устройства не являются

Если случайное упоминание Linux имеет решающее значение для вопроса, добавление его в качестве тега может помочь определить область вашего запроса. Конкретное распределение интересов также может быть полезным.

0
10.06.2021, 06:13

Теги

Похожие вопросы