J'ai entendu dire qu'un système d'exploitation invité et un système d'exploitation hôte dans KVM peuvent communiquer via des interfaces réseau ou des adresses IP dans le même réseau privé. J'ai aussi entendu ça
Vous pouvez voir ses adresses IP et ses interfaces réseau dans les réseaux de conteneurs et de machines virtuelles dans la sortie d'ifconfig.
Je montre les sorties de ifconfig
dans un OS invité et un OS hôte ci-dessous. Pouvez-vous me dire quelle interface réseau ou adresse IP de l'OS invité correspond à laquelle de l'OS hôte et inversement? Merci.
Dans un système d'exploitation invité Debian via VMM / KVM,
user@debian:~$ /sbin/ifconfig
ens3: flags=4163<UP,BROADCAST,RUNNING,MULTICAS> mtu 1500
inet 192.168.122.202 netmask 255.255.255.0 broadcast 192.168.122.255
inet6 fe80::5054:ff:fe99:5eee prefixlen 64 scopeid 0x20<link>
ether 52:54:00:99:5e:ee txqueuelen 1000 (Ethernet)
RX packets 5504 bytes 4872073 (4.6 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 4199 bytes 559987 (546.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 20044
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 488 bytes 39360 (38.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 488 bytes 39360 (38.4 KiB)
TX errors 0 dropped 0 overruns 0 carries 0 collisions 0
Dans l'OS hôte Lubuntu:
$ ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.17.0.1 netmask 255.255.0.0 broadcast 172.17.255.255
ether 02:42:a6:79:a6:bc txqueuelen 0 (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
enp0s25: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 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
device interrupt 20 memory 0xfc400000-fc420000
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 3102389 bytes 174723039 (174.7 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 3102389 bytes 174723039 (174.7 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:b1:aa:1f txqueuelen 1000 (Ethernet)
RX packets 708 bytes 68468 (68.4 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 316 bytes 51806 (51.8 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
vnet0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::fc54:ff:fe99:5eee prefixlen 64 scopeid 0x20<link>
ether fe:54:00:99:5e:ee txqueuelen 1000 (Ethernet)
RX packets 257 bytes 28494 (28.4 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 23514 bytes 1240204 (1.2 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlx8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.97 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 prefixlen 64 scopeid 0x20<link>
ether 80:1f:02:b5:c3:89 txqueuelen 1000 (Ethernet)
RX packets 1269625 bytes 1045069752 (1.0 GB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 646600 bytes 101897054 (101.8 MB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ip route
De la page de manuel fine: linux.die.net/man/8/ipip route
montre l'adresse de passerelle pour Debian? @ 0xSheepdogRéponses:
Votre invité a une interface non-réalimentation,
ens3
; c'est l'interface qu'il utilise pour communiquer avec l'hôte. Sur l'hôte, l'interface correspondante est l'interface du même réseau, qui se trouvevirbr0
ici. Si vous voulez lister les interfaces qui font partie du pont, lancezsur l'hôte.
Vous pouvez également faire correspondre les itinéraires de l'invité à l'hôte: la passerelle de l'invité sera l'hôte. Pour voir les itinéraires, lancez
La passerelle par défaut est donnée sur la ligne «par défaut», quelque chose comme
la source
brctl run virbr0
ne fonctionne pasbrctl show virbr0
.