Puncte:0

QEMU cu KVM: Nu se poate ping sau SSH între mașinile gazdă și oaspete

drapel kp

Edit: De când macvtap nu funcționează pentru comunicarea între gazdă și oaspete, am încercat să folosesc a pod, dar apoi nu există internet pe gazdă și ping sau ssh tot nu merge.

Așa am creat un pod:

conexiune nmcli adăugați tip bridge ifname br0

Ieșire:
Conexiunea „bridge-br0” (bf1406b0-4ea8-4338-9edc-0f58fd019bec) a fost adăugată cu succes.


nmcli con add type ethernet con-name br-slave-1 ifname enp0s25 master br0

nmcli con add type ethernet con-name br-slave-1 ifname enp0s25 master br0

nmcli con modify bridge-br0 bridge.stp nr

conexiune nmcli adăugați tip ethernet ifname bridge-br0 ipv4.method auto

Ieșire:
Conexiunea „ethernet-bridge-br0” (6c2c5495-6e43-4cd5-a574-014042987781) a fost adăugată cu succes.


După repornire:

nmcli con show

NUME UUID TIP DISPOZITIV  
pod-br0 bf1406b0-4ea8-4338-9edc-0f58fd019bec pod br0     
br-slave-1 a998c09f-5f46-4586-b654-cdfa6a21dca5 ethernet enp0s25 
ethernet-bridge-br0 6c2c5495-6e43-4cd5-a574-014042987781 ethernet --      
Conexiune prin cablu 1 8559f62b-0cb9-3935-ba65-b6d57c0043c8 ethernet --      

Acum dacă mă deconectez br-sclav-1:

nmcli con down br-slave-1

Primesc internetul înapoi pe gazdă, dar apoi nu există internet pe guest și ping-ul tot nu ar funcționa:

Deci, există o modalitate de utilizare ssh între gazdă și oaspete în timp ce utilizați qemu cu kvm, folosind nmcli sau GUI NetworkManager? Mulţumesc mult.

Notă: Deoarece trebuie să folosesc câteva rețele wireless diferite, pornit și oprit, îmi place să stau departe de netplan sau interfețe de rețea, prin urmare, încerc să configurez bridge-ul fie folosind nmcli sau GUI NetworkManager.

Postare originală:

Încerc să fac SSH într-un invitat de la gazdă. Atât mașinile gazdă, cât și cele invitate sunt Ubuntu MATE 21.04.

Internetul funcționează foarte bine atât de la mașina gazdă, cât și de la oaspeți.

Adrese IP:

(1) Router: Asus RT AC68U > 192.168.1.1
(2) Gazdă: Ubuntu MATE 21.04 > 192.168.1.106
(3) Invitat: Ubuntu MATE 21.04 > 192.168.1.139

Firewall-ul a fost dezactivat/oprit pentru toate trei:

(1) Router: Asus RT AC68U > SPI Firewall > Dezactivat
(2) Gazdă: Ubuntu MATE 21.04 > sudo systemctl stop nftables
(3) Invitat: Ubuntu MATE 21.04 > sudo systemctl stop nftables

Când încerc ssh-copy-id, primesc această eroare: Nicio rută către găzduire

ssh-copy-id [email protected]
/usr/bin/ssh-copy-id: INFO: încercarea de a se autentifica cu noile chei, pentru a le filtra pe cele care sunt deja instalate

/usr/bin/ssh-copy-id: EROARE: ssh: conectați la gazdă 192.168.1.139 portul 22: Nicio rută către gazdă

Așa că am încercat ping (nu funcționează în niciun fel; „gazdă la oaspete” sau „oaspete la gazdă”):

ping 192.168.1.139

PING 192.168.1.139 (192.168.1.139) 56(84) octeți de date.
De la 192.168.1.106 icmp_seq=1 Gazdă destinație inaccesibilă
De la 192.168.1.106 icmp_seq=2 Gazdă destinație inaccesabilă

in orice caz ping funcționează fie de la „gazdă la router”, fie de la „oaspete la router”:

ping de la gazdă la router:

ping 192.168.1.1

PING 192.168.1.1 (192.168.1.1) 56(84) octeți de date.
64 de octeți de la 192.168.1.1: icmp_seq=1 ttl=64 time=0.400 ms
64 de octeți de la 192.168.1.1: icmp_seq=2 ttl=64 time=0,339 ms

ping de la oaspete la router:

ping 192.168.1.1

PING 192.168.1.1 (192.168.1.1) 56(84) octeți de date.
64 de octeți de la 192.168.1.1: icmp_seq=1 ttl=64 time=0,651 ms
64 de octeți de la 192.168.1.1: icmp_seq=2 ttl=64 time=0,625 ms

Mașinile gazdă și oaspete sunt conectate printr-un bridge de rețea br0, pe care l-am creat folosind GUI Netwrok Manager. Pod br0 au două „conexiuni prin punte”, br0 sclav 1 și br0 sclav 2.

Activați STP (protocolul spanning Tree este „nebifat”. Deși nu a făcut nicio diferență, chiar și eu l-am „verificat”.

Detalii suplimentare care cred că ar fi de ajutor:

sudo nano /etc/libvirt/qemu/networks/host-bridge.xml

<rețea>
  <name>host-bridge</name>
  <uuid>0ae7be62-9f9e-4346-9309-88985dd0f5ad</uuid>
  <forward mode='bridge'/>
  <bridge name='br0'/>
</rețea>


virsh net-list --toate

 Nume State Autostart Persistent
---------------------------------------------
 host-bridge activ da da

Rezultete de la ip a și ip r pe mașina gazdă:

ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue stare UNKNOWN grup implicit qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft pentru totdeauna preferred_lft pentru totdeauna
2: enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_code state UP group default qlen 1000
    link/ether e0:69:95:4d:7c:9c brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.106/24 brd 192.168.1.255 scope global dynamic noprefixroute enp0s25
       valid_lft 599784sec preferred_lft 599784sec
    inet 192.168.1.104/24 brd 192.168.1.255 domeniul de aplicare global secundar noprefixroute enp0s25
       valid_lft pentru totdeauna preferred_lft pentru totdeauna
3: wlxd0374547816a: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq stare JOS grup implicit qlen 1000
    link/ether d0:37:45:47:81:6a brd ff:ff:ff:ff:ff:ff
4: br0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue stare JOS grup implicit qlen 1000
    link/ether 96:d5:ab:3c:a7:e8 brd ff:ff:ff:ff:ff:ff
7: macvtap2@enp0s25: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue stare UP grup implicit qlen 500
    link/ether 52:54:00:1f:6a:cd brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.140/24 brd 192.168.1.255 domeniu global noprefixroute macvtap2
       valid_lft pentru totdeauna preferred_lft pentru totdeauna

ip r       

implicit prin 192.168.1.1 dev enp0s25 proto dhcp src 192.168.1.104 metric 202 
implicit prin 192.168.1.1 dev macvtap2 proto dhcp src 192.168.1.140 metric 207 
169.254.0.0/16 dev macvtap2 scope link metric 1000 
192.168.1.0/24 dev enp0s25 proto dhcp scope link src 192.168.1.104 metric 202 
192.168.1.0/24 dev macvtap2 proto dhcp scope link src 192.168.1.140 metric 207 

Rezultete de la ip a și ip r pe aparatul pentru oaspeți:

ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue stare UNKNOWN grup implicit qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft pentru totdeauna preferred_lft pentru totdeauna
    inet6 ::1/128 scope host 
       valid_lft pentru totdeauna preferred_lft pentru totdeauna
2: enp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 52:54:00:1f:6a:cd brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.139/24 brd 192.168.1.255 scope global dynamic noprefixroute enp2s0
       valid_lft 603989sec preferred_lft 603989sec
    inet6 fe80::d316:3db7:9af5:8d0c/64 scope link noprefixroute 
       valid_lft pentru totdeauna preferred_lft pentru totdeauna

ip r

implicit prin 192.168.1.1 dev enp2s0 proto dhcp metric 100 
169.254.0.0/16 dev enp2s0 scope link metric 1000 
192.168.1.0/24 dev enp2s0 proto kernel scope link src 192.168.1.139 metric 100 

Detalii NIC (de la Virtual machine manager) ale mașinii invitate:

Interfață de rețea virtuală:

Sursa rețelei: dispozitiv Macvtap
Nume dispozitiv: enp0s25
Model de dispozitiv: virtio

XML:
<interface type="direct">
  <mac address="52:54:00:1f:6a:cd"/>
  <source dev="enp0s25" mode="bridge"/>
  <target dev="macvtap2"/>
  <model type="virtio"/>
  <alias name="net0"/>
  <address type="pci" domain="0x0000" bus="0x02" slot="0x00" function="0x0"/>
</interfață>

OS: Ubuntu MATE 21.04

qemu: 1:5.2+dfsg-9ubuntu3

bridge-utils: 1.6-5ubuntu1

virt-manager: 1:3.2.0-3

libvirt-daemon: 7.0.0-2ubuntu2

Mulțumesc mult anticipat.

Edit-1:

brctl arată br0

numele podului ID pod Interfețe activate STP
br0 8000.96d5ab3ca7e8 nr      
user535733 avatar
drapel cn
Pare identic cu https://superuser.com/questions/349253/guest-and-host-cannot-see-each-other-using-linux-kvm-and-macvtap.
Doug Smythies avatar
drapel gn
ce primești pentru `brctl show br0`. `enp0s25` pare să fie asociat cu `br0` și m-aș fi așteptat ca br0 să aibă adresa IP, nu enp0s25. Dispozitivul dvs. Macvtap pare independent, ștergeți-l.
Jags avatar
drapel kp
@doug-smythies tocmai a adăugat informațiile. De asemenea, ștergerea „Macvtap” este obligatorie... „pentru că nu sunt sigur, dar este posibil să fie necesar pentru o altă mașină virtuală? Mulțumiri.
Jags avatar
drapel kp
@user535733 Parcurg firul pe care l-ați legat, dar este un fir vechi de 10 ani și până acum, dintr-o privire rapidă, nu am găsit o soluție care să se aplice în cazul meu. Mulțumiri.
Doug Smythies avatar
drapel gn
Tot ce pot spune este că nu folosesc Macvtap și rulez o mulțime de mașini virtuale în același timp. M-aș fi așteptat ca interfața ta `enp0s25` să fie conectată la `br0', dar nu este.
user535733 avatar
drapel cn
Din firul superutilizator: „*macvtap nu funcționează pentru comunicațiile de rețea gazdă-oaspeți*” Aceasta este problema pe care o aveți. Toate aceste răspunsuri sunt soluții la limitarea macvlan/macvtap. Dacă doriți să conectați gazda și oaspetele, o soluție simplă și ușor de întreținut este să vă ocupați de timp pentru a configura o legătură *reala*.
Jags avatar
drapel kp
@user535733 când am configurat inițial qemu/kvm, rețeaua bridge nu funcționa, de aceea am folosit `macvtap`. Cred că am bridge-ul configurat corect, dar indiferent de prioritatea pe care am schimbat-o, `NetworkManager` se reconecta între `Wired connection 1` și `enp0s25`. Chiar și când am încercat asta de la terminalul `nmcli conexiune în sus ` și `nmcli conexiune sus
Jags avatar
drapel kp
@user535733 a acceptat răspunsul pe firul pe care l-ați legat, nu au deloc detalii. A existat un link către o altă pagină care avea o soluție detaliată, dar nu funcționează și asta este menționat și de alții din acel fir.Link către articolul respectiv: `https://wiki.libvirt.org/page/Guest_can_reach_outside_network%2C_but_can%27t_reach_host_%28macvtap%29` Mulțumesc din nou.
Doug Smythies avatar
drapel gn
arata-ne fisierul tau de interfata netplan. Al meu se numește `/etc/netplan/01-netcfg.yaml`. Notă: nu folosesc `NetworkManager`, așa că poate lucrurile sunt diferite pentru el.
Puncte:0
drapel gn

I would have expected your VM's to use your bridge, br0 for the communication method desired. I am running 3 VM's and get:

doug@s19:~$ brctl show br0
bridge name     bridge id               STP enabled     interfaces
br0             8000.3c7c3f0d9983       no              enp3s0
                                                        vnet0
                                                        vnet1
                                                        vnet2

And on the host:

doug@s19:~$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: enp3s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq master br0 state UP group default qlen 1000
    link/ether 3c:7c:3f:0d:99:83 brd ff:ff:ff:ff:ff:ff
3: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 3c:7c:3f:0d:99:83 brd ff:ff:ff:ff:ff:ff
    inet 192.168.111.136/24 brd 192.168.111.255 scope global dynamic br0
       valid_lft 45219sec preferred_lft 45219sec
4: vnet0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:22:2f:dc brd ff:ff:ff:ff:ff:ff
5: vnet1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:60:ea:3e brd ff:ff:ff:ff:ff:ff
6: vnet2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master br0 state UNKNOWN group default qlen 1000
    link/ether fe:54:00:60:ea:5e brd ff:ff:ff:ff:ff:ff

with my netplan network file, /etc/netplan/01-netcfg.yaml:

# This file describes the network interfaces available on your system
# For more information, see netplan(5).
network:
  version: 2
  renderer: networkd
  ethernets:
    enp3s0:
      dhcp4: no
  bridges:
    br0:
      interfaces: [ enp3s0 ]
      dhcp4: yes

And the related section of one of the VM's .xml definition file:

<interface type='bridge'>
  <mac address='52:54:00:22:2f:dc'/>
  <source bridge='br0'/>
  <model type='virtio'/>
  <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</interface>
Jags avatar
drapel kp
Nu folosesc și încerc să nu folosesc `netplan` și/sau `interfețe de rețea`. Încerc să creez și să folosesc bridge folosind fie `nmcli`, fie `NetworkManager GUI`. Am trecut prin 15-20 de ghiduri / fire. După ce am petrecut peste 4 ore, odată am reușit să conectez mașina GUEST la `br0`, dar apoi am pierdut internetul pe HOST și `ping` de la oaspete la gazdă sau invers tot nu a funcționat :(
Jags avatar
drapel kp
Mi-am postat deja configurația bridge-ului cu întrebarea: `nano /etc/libvirt/qemu/networks/host-bridge.xml` Vă mulțumesc.
Doug Smythies avatar
drapel gn
`host-bridge.xml` dvs. este același cu al meu. Managerul de rețea devine pur și simplu redarea pentru netplan, nu-i așa?
Jags avatar
drapel kp
cred că da. Internetul meu cu fir scade uneori ore întregi până la o zi întreagă, așa că am nevoie de NetworkManager pentru a schimba frecvent rețelele fără fir (3 hotspot-uri telefonice)... sau aș alege `netplan` sau `interfețe de rețea`.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.