据我所知,Linux中有四种主要类型的网络接口: tun、tap、bridge和物理。
当我在运行KVM的机器上执行sys管理时,我通常会在同一台机器上遇到tap、桥接和物理接口,而无法区分它们。我看不出ifconfig
结果与ip
结果有任何显著差异。
如何知道接口是tun、tap、桥接器还是物理接口?
注意:我并不认为Linux中没有其他类型的网络接口,但我只知道这4种。
发布于 2012-06-12 01:10:44
我不认为有一个容易的方法来区分他们。在/sys/class/net
中,我发现了以下的区别:
/sys/class/net/eth0/device
符号链接/sys/class/net/br0/bridge
目录/sys/class/net/tap0/tun_flags
文件00:00:00:00:00:00
中有/sys/class/net/lo/address
发布于 2012-11-27 20:13:05
关于TUN和TAP设备:做上面的检查是不够的。
原因是,我们可能会创建一个TUN设备,并(错误地)将其称为tap10;或者创建一个点击设备并将其命名为tun10。那么,我如何知道它是tun设备还是tap设备,因为两者都有"tun_flags“条目?
答案是运行ethtool -i tunOrTapDeviceName
。
$ 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
发布于 2018-04-03 09:14:42
此命令将完成以下工作:
结果示例:
vnet0: tap
或提供详细资料:
结果示例:
vnet0: tap
Attached to processes: qemu-system-x86(2225)
https://unix.stackexchange.com/questions/40560
复制相似问题