Quelle est la différence entre tun / tap vs bridge + vnet vs macvtap? (Pour la virtualisation KVM)

26

Je viens juste de trouver différentes façons de faire du réseau KVM. Mais je suis coincé sur ce qui est la bonne façon de le faire. J'ai découvert qu'Openstack utilise macvtap pour faire des réseaux de neutrons. Et ça a l'air bien.

Mais quelle est la différence et pourquoi utiliser chaque moyen?

Way 1 [OLD? TUN / TAP]

lien

/--------\   /----\   /----\   /----\   /--------\
|Internet|---|eth0|---|br0 |---|tap0|---|Guest NIC
\--------/   \----/   \----/   \----/   \--------/

Déconseillé, non?

Way 2 [Bridge + Vnet] & lt; - C'est ce que fait virt-manager

lien

Fondamentalement, vous créez une interface de pont avec votre interface physique à l’intérieur et

auto br0
#iface br0 inet dhcp
iface br0 inet static
address 172.16.0.100
network 172.16.0.0
netmask 255.255.0.0
broadcast 172.16.255.255
gateway 172.16.0.1
   bridge_ports eth2
   bridge_stp off
    bridge_fd 0
    bridge_maxwait 0

Lorsque vous démarrez une machine virtuelle depuis virt-manager, une interface vnet est créée et ajoutée au pont. Au moins jusqu'à où je sais. Aucune interface tun / tap n'est nécessaire.

Cela a très bien fonctionné pendant longtemps, mais maintenant, avec la folie, j'ai trouvé des problèmes.

lien

Pourquoi pouvez-vous ajouter une nouvelle interface vnet au pont sans l’interface TAP?

Chemin 3 [MACVTAP]

Last est l'interface macvtap.

lien

Il copie l’interface du logiciel TUN / TAP mais cela se fait mieux. Je ne sais pas comment, mais cela semble être mieux.

Quel est l’avantage de macvtap par rapport à la seconde?

Quoi de mieux?

Une aide à ce sujet?

    
posée Gonzalo Aguilar Delgado 27.11.2013 - 21:22
la source

2 réponses

4

Cela dépend vraiment de ce que vous voulez réaliser

  • Tap / Tun

Peu importe la machine virtuelle ou physique. TUN vous apporte un réseau en tunnel et TAP un périphérique. En bref, vous passez par un réseau en tunnel pour atteindre un autre réseau.

Par exemple, lorsque vous configurez un réseau OpenVPN, vous recevrez le 10.8.0.6 sur votre client. Le serveur VPN 10.8.0.1 achemine votre requête vers un autre réseau (par exemple 192.168.x.x) situé derrière. Lorsque vous utilisez TAP, vous recevez une adresse IP (192.168.10.10/24) directement depuis votre réseau cible (192.168.10.x / 24). Simple.

  • Bridge

"Linux Bridge" relie VNET (de la VM) à Ethernet physique. Si vous voulez une VM (basée sur KVM), bridge est un must entre vnet et ethernet sur l'hôte

    
réponse donnée j3ffyang 23.01.2014 - 15:42
la source
1

Je dirais que cela dépend de votre cas d'utilisation.

Ajout / suppression automatique d’hôtes virtuels?

Essayez macvtap. Devrait être aussi performant que macvlan (ce qui revient à ajouter un autre MAC à un périphérique physique, les infos qui y sont traitées sont gérées par la pile réseau) ou un pont supplémentaire, macvtap ignorant la pile réseau exporte directement un périphérique de caractère de tapotement. Mais ne me cogne pas là-dessus. En outre, les deux modes (macvlan / macvtap) partagent les mêmes modes disponibles (VEPA / épingle à cheveux, pontage, privé), l'épinglage ne fonctionne que si votre commutateur prend en charge le mode de relais par réflexion. (Les paquets arrivant au commutateur physique sur le port x doivent être autorisés à quitter le commutateur sur le même port x.)

Etant donné que le eth0 (ou l’autre que vous utilisez) est mis en mode espion lors de l’utilisation d’un pont, les modes macvXXX sont considérés comme ayant un débit plus élevé.

Les modes définissent également la "quantité" d'isolement (les hôtes virtuels peuvent-ils voir le trafic des uns et des autres? Comment cela fonctionne sous le capot, je ne sais pas encore.

veth (paires Ethernet virtuelles) sont assez similaires pour l'isolation, vous définissez deux interfaces virtuelles, l'une est attachée à un pont, l'autre à votre machine virtuelle. Là, l'isolement se fait en plaçant l'interface vm dans son propre espace de noms afin que les périphériques soient quelque peu isolés. Tout le trafic se réunit au pont, mais un hôte ne peut pas voir les autres cartes réseau.

Dans le cas où vous travaillez avec un pont, vous avez une configuration supplémentaire à effectuer, et lorsque le pont est arrêté, toutes vos connexions le sont également. Lors de la restauration du pont, vous devrez peut-être reconnecter toutes les interfaces virtuelles au pont (ou simplement redémarrer le hv complet ...).

Résultat: Si vous ne changez pas souvent votre topologie, optez pour le pontage lorsque vous trouvez le plus d'informations en ligne, ce qui est mieux que de lire le code du noyau. Hé, même le paquet iproute2-doc lui-même est dépourvu de la plupart des informations dont dispose iproute2, même lorsque vous exécutez des versions novatrices. Essayez de trouver man ip-tcp_metrics dans les pages de manuel disponibles ou ip-crefs.ps ...

    
réponse donnée sjas 21.12.2016 - 09:40
la source

Lire d'autres questions sur les étiquettes