Pour autant que je sache, il existe 4 principaux types d'interfaces réseau sous Linux: tun, tap, bridge et physique.
Lorsque je fais de l'administrateur système sur des machines exécutant KVM, je rencontre généralement des interfaces tap, bridge et physiques sur la même machine, sans pouvoir les distinguer. Je ne vois aucune différence significative dans les ifconfig
résultats, comme dans les ip
résultats.
Comment savoir si une interface est un tun, tap, bridge ou physique?
note: je ne prétends pas qu'il n'y a pas d'autres types d'interfaces réseau sous Linux, mais je ne connais que ces 4.
device
lien symbolique:ls -l /sys/class/net/lan1/device
s'affiche/sys/class/net/lan1/device -> ../../../dsa.0
sur un routeur exécutant OpenWrt (Linux embarqué). J'ai trouvé que les interfaces physiques ont une entrée d'interruption dans la sortie deifconfig
. Il est étrange qu'une question aussi simple sur une interface semble si difficile à répondre. L'enquête continue ...Concernant les appareils TUN et TAP: il ne suffit pas de vérifier ci-dessus.
La raison en est qu'il peut y avoir des cas où nous créons un périphérique TUN et (par erreur) l'appelons tap10; ou créez un appareil TAP et nommez-le tun10. Alors, comment puis-je savoir s'il s'agit d'un périphérique tun ou d'un périphérique tap, car les deux auront bien sûr des entrées "tun_flags"?
La réponse est de courir
ethtool -i tunOrTapDeviceName
.Exemple
la source
driver
champ. les ponts montrerontdriver: bridge
. Malheureusement, les touches tun / tap apparaissent toutes les deuxdriver: tun
, cassant le schéma :).Vous pouvez utiliser l'
-d
option plus ou moins non documentée pourip(8)
, qui vous indique le type de certains appareils, y compris tun, tap & veth:par exemple
... note
tun
sur la dernière ligne.Vous pouvez également utiliser
-d
avecip l
.la source
Cette commande fera le travail:
ip tuntap
Exemple de résultat:
ou avec des détails:
ip -détails tuntap
Exemple de résultat:
la source