web-dev-qa-db-fra.com

Comment Virbr0-Nic est créé?

Comment créer une interface réseau virtuelle comme virbr0-nic? J'essaie de trouver un moyen de créer un NIC J'aime virbr0-nic Mais tout ce que je peux trouver sur Internet est de créer une interface attachée à l'interface physique comme eth0:0. Quand j'écris

# brctl show
bridge name bridge id       STP enabled interfaces
virbr0      8000.525400e0af01   yes virbr0-nic
virbr1      8000.525400e8a6b1   yes virbr1-nic
                            vnet1

Donc virbr0 est le pont sur lequel virbr0-nic est attaché. Alors, comment vont virbr0-nic et vnet1 créé?

10
cosimo

Ce sont des appareils factices. Tu peux courir

modprobe dummy

Pour créer une interface réseau appelée dummy0.

Si vous voulez plus d'un appareil, vous pouvez créer 5 avec

modprobe dummy numdummies=5

Vous pouvez ensuite contrôler ces périphériques comme n'importe quel autre périphérique réseau.

Donnez-lui une adresse MAC avec

ip link set dummy0 address aa:aa:aa:bb:bb:bb

Donnez-lui une adresse IP avec

ip addr add 10.0.0.1/24 dev dummy0

Ajoutez-le à votre pont existant avec

brctl addif virbr0 dummy0

Configurez-le, définissez-le, NAT OFF IT, et ainsi de suite.

10
suprjami

Le LibVirt utilise-t-il un appareil TUN à cette fin. Vous pouvez créer manuellement cet appareil en suivant la commande suivante:

# /usr/bin/tunctl -t virbr0-nic
5
Max A.

virbr0-nic représente une carte réseau de pont virtuel.

Il s'agit essentiellement d'un pont entre votre carte réseau physique et votre carte réseau virtuelle de votre machine virtuelle.

Pour gérer l'interface pontée, vous pouvez utiliser la commande brctl. Vous pouvez répertorier toutes vos interfaces pontées avec

brctl show 

et ajouter ou modifier des ponts en conséquence à vos besoins. Pour créer une nouvelle utilisation du pont

brctl addbr <name>

<name> Sera le nom de votre nouveau pont (comme Virbr0-Nic). Pour que vous puissiez ajouter des interfaces au pont avec

brctl addif <brname> <ifname>

Vous pouvez vous référer à la page Homme pour plus d'informations.

3
Giorgio Previtera

Ce n'est pas clair que les types d'appareils virbr0-nic et vnet1 sont dans votre configuration. Il existe quelques types de dispositifs virtuels qui peuvent être utiles à inclure dans un pont, dont certains peuvent être créés à l'aide de la commande ip.

Un type de périphériques virtuels est veth qui crée des paires d'interfaces Ethernet virtuelles connectées.

ip link add veth0 type veth peer name veth1

Dans cet exemple veth0 et veth1 Sont des noms d'interface arbitraires que j'ai proposés pour l'exemple. Cette méthode peut par exemple être utile si vous souhaitez déplacer l'une des deux interfaces à un espace de noms de réseau différent.

Un autre type d'interface virtuelle est vlan où vous créez une seule interface Ethernet virtuelle connectée à une étiquette spécifique 802.1q sur une interface physique:

ip link add link eth0 name eth0.10 type vlan id 10

Il existe une page d'homme avec des informations sur encore plus de types d'interfaces virtuelles pouvant être créées avec la commande ip. Le nom de la page Man dépend de la version que vous avez installée, je l'ai vue nommée ip-link ou juste ip.

De plus, si vous utilisez une virtualisation, il existe des interfaces virtuelles Connexion hôte et VM. Les spécificités de ceux-ci dépendent de la solution de virtualisation que vous utilisez.

1
kasperd

mais je n'ai pas cette/usr/bin/tunctl -t Virbr0-Nic i chose installée à partir de cockpit et je ne trouve pas une option de suppression lorsque je vais utiliser une machine virtuelle, c'est bien quand il existe mais pour la mise en réseau Avec SystemD-Networkd, j'ai beaucoup de problèmes avec cela. Cockpit utilisera Network-Manager et les fichiers de configuration de celui-ci. Après l'installation, mon réseau descend tous les appareils et les applications monte avec de nombreux échecs.

Si vous cochez la case "ifconfig -a" après une nouvelle installation de système RHEL/CENTOS 6,7, vous trouverez le nom des interfaces Virbr0. Voici un exemple du système CENTOS 7 fraîchement installé.

ifconfig -a

....

virbr0: flags=4099[UP,BROADCAST,MULTICAST]  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:d5:f2:0c  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0-nic: flags=4098[BROADCAST,MULTICAST]  mtu 1500
        ether 52:54:00:d5:f2:0c  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Quelle est l'interface VIRBR0 L'interface de pont VIRBR0 est créée par la configuration réseau par défaut de libvirtD. LibVirtd est le service qui fournit une base à l'hôte d'agir en tant qu'hyperviseur. Donc, au cas où vous n'utilisez pas de la virtualisation Xen, vous pouvez empêcher l'activation du réseau par défaut de LibVirtDD au démarrage, soit vous pouvez empêcher que LibVirtD lui-même d'activer le démarrage. Le premier empêchera tout type de VM attaché au réseau par défaut de LibvirtD à partir de la connectivité réseau et que ce dernier empêcherait la machine virtuelle de courir du tout. Qui va bien si vous ne l'utilisez pas. Désactiver le réseau par défaut libvirtd

  1. Vous pouvez désactiver temporairement le réseau par défaut de libvirtd à l'aide de la commande VIRSH. Cela ne persiste pas à travers le redémarrage.

    vIRSH NET-détruire par défaut

  2. Pour désactiver définitivement le réseau par défaut LibVirtD d'être créé au démarrage:

    vIRSH NET-Autostart par défaut --Disable

Supprimer le réseau par défaut de libvirtD pour supprimer définitivement le réseau par défaut LibVirtd:

virsh net-undefine default

Pour désactiver définitivement le service LibVirtD de commencer à démarrer sur RHEL5 et RHEL6:

chkconfig libvirtd off

Pour désactiver définitivement le service LibVirtD de partir à partir du démarrage sur RHEL7:

systemctl disable libvirtd.service
1
Aktony