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éé?
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.
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
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>
où <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.
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.
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
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.
Pour désactiver définitivement le réseau par défaut LibVirtD d'être créé au démarrage:
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