Aș dori să analizez rețelele virtuale ale KVM-QEMU. În acest scop, conectez două servere (server 1 și server 2) cu un singur fir. Folosesc serverul 1 pentru a rula QEMU VM și vreau să accesez acest VM de pe serverul 2.
Iată o prezentare generală a configurației.
           o ens5f0 (ip 192.168.11.12/24)
           |
           | (server 2)
 ------------------------- (limită gazdă/rețea)
           "
           "
 ------------------------- (limită gazdă/rețea)
           | (server 1)
           |
           o ens5f0 
           |
           o br0. (ip 192.168.11.11/24)
           |
 ------------------------- (limită VM/gazdă)
           | (oaspete)
           |
           o (enp0s2) în interiorul VM
             (ip 192.168.11.77/24 (de la dhcp))
Am urmarit documentatia Aici. Configurez un bridge pe serverul 1 și adaug interfața ens5f0 la el.
server 1
---------------------
link ip adaugă punte de tip br0
set de legături ip ens5f0 master br0
ip addr flush dev ens5f0
ip addr add 192.168.11.11/24 dev br0
link ip set dev br0 up
dnsmasq --interface=br0 --bind-interfaces --dhcp-range=192.168.11.12,192.168.11.254
legătura ip setată dev ens5f0 sus
Apoi lansez QEMU folosind următoarea comandă.
server 1
---------------------
qemu-system-x86_64 \                                                                                                         
   -initrd initrd.img-5.4.0-84-generic \                                                                                     
   -kernel vmlinuz-5.4.0-84-generic \                                                                                        
   -nographic -monitor nici unul -serial stdio\                                                                                   
   -append 'root=/dev/vda1 console=ttyS0' \                                                                                  
   -mașină q35 -gazdă cpu \                                                                                                  
   -drive „fișier=${disk_img_snapshot},format=qcow2,if=virtio” \                                                               
   -nic bridge,br=br0,model=virtio-net-pci \                                                                                 
   -enable-kvm \                                                                                                             
   -m 2G \                                                                                                                  
   -smp 4 \                                                                                                                 
;  
În interiorul VM, interfață enp0s2 primește adresa ip 192.168.11.77/24.
VM
--------------------
~$ sudo ip addr show enp0s2
2: enp0s2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000                                  
    link/ether 52:54:00:12:34:56 brd ff:ff:ff:ff:ff:ff
    inet 192.168.11.77/24 brd 192.168.11.255 scope global dynamic noprefixroute enp0s2                                                 
       valid_lft 3531sec preferred_lft 3531sec
The ping comanda are acces la această adresă IP de pe serverul 1 și adresa IP 192.168.11.11 este accesibilă și de pe VM.
Pe al doilea server, configurez adresa IP să fie statică și egală cu 192.168.11.12/24.
serverul 2
------------------------
$ ip addr add 192.168.11.12/24 dev ens5f0
$ ping 192.168.11.11
PING 192.168.11.11 (192.168.11.11) 56(84) octeți de date.
64 de octeți de la 192.168.11.11: icmp_seq=1 ttl=64 time=0,327 ms
64 de octeți de la 192.168.11.11: icmp_seq=2 ttl=64 time=0,153 ms
Problema este că adresa IP 192.168.11.77 nu a putut fi accesată de la serverul 2, iar VM-ul nu poate ping serverul 2. Cum aș putea activa accesul extern la VM pe acest link?