Puncte:0

Rețea în punte cu libvirt și KVM cu interfață ethernet fizică atașată la punte

drapel uy

Am urmat acest ghid pentru a seta rețeaua între mașinile virtuale Cum să utilizați rețelele în punte cu libvirt și KVM.

Au apărut două probleme:

  1. setările de rețea nu persistă după repornirea sistemului;
  2. pe o mașină invitată virtuală, a doua NIC nu se poate conecta la router, nu este afișată nicio conexiune la rețea

Am creat un nou pod pe gazdă

sudo ip link add hostbr0 type bridge
sudo ip link show tip bridge
# 4: virbr0: <NO-CARRIER, BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT grup implicit qlen 1000
# link/ether 52:54:00:8a:2e:73 brd ff:ff:ff:ff:ff:ff
# 8: mpqemubr0: <NO-CARRIER, BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT grup implicit qlen 1000
# link/ether 52:54:00:87:65:df brd ff:ff:ff:ff:ff:ff
# 9: docker0: <NO-CARRIER, BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT grup implicit 
# link/ether 02:42:e9:8e:81:fc brd ff:ff:ff:ff:ff:ff
# 10: hostbr0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT grup implicit qlen 1000
# link/ether 18:31:bf:cc:08:61 brd ff:ff:ff:ff:ff:ff

Am două interfețe de rețea pe gazdă, ambele conectate la router cu acces la Internet.

nume -v
#44~20.04.2-Ubuntu SMP Mar 26 Oct 18:07:44 UTC 2021

ls -l /sys/class/net/ | grep pci
# enp4s0 -> ../../devices/pci0000:00/0000:00:1c.5/0000:04:00.0/net/enp4s0
# enp5s0 -> ../../devices/pci0000:00/0000:00:1c.7/0000:05:00.0/net/enp5s0

Serverul DHCP de pe routerul meu conectat la configurația Internet:

Grup de adrese IP: 192.168.0.1--192.168.0.254

Gateway implicit: 192.168.0.1

gazdă enp4s0: 192.168.0.11

hostbr0 enp5s0: 192.168.0.10

Am atașat enp5s0 dispozitiv fizic la punte:

sudo ip link set enp5s0 up
sudo ip link set enp5s0 master hostbr0
sudo ip address add dev hostbr0 192.168.2.2/24
adresă ip arată hostbr0
#10: hostbr0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN #group default qlen 1000
# link/ether 18:31:bf:cc:08:61 brd ff:ff:ff:ff:ff:ff
# inet 192.168.2.2/24 scope global hostbr0
# valid_lft pentru totdeauna preferred_lft pentru totdeauna

Pentru ca configurația să fie persistentă, am modificat-o /etc/network/interfaces. După cum puteți vedea, am deja mai multe interfețe configurate și am adăugat una nouă enp5s0

# /etc/network/interfaces
auto lo
iface lo inet loopback

cartografiere hotplug
        script grep
        harta eth1

iface eth1 inet dhcp

auto eth0
iface eth0 inet static
    adresa 10.152.187.1
    mască de rețea 255.255.255.0

auto wlan0
  iface wlan0 inet static
    adresa 192.168.1.1
    mască de rețea 255.255.255.0
    sus /sbin/iwconfig mod wlan0 TTTTTT && /sbin/iwconfig wlan0 enc
&& /sbin/iwconfig cheie wlan0 restricţionată [Y] XXXXXXXX && /sbin/iwconfig
wlan0 essid SSSSSSSS

auto eth1


# Specificați că interfața fizică care ar trebui să fie conectată la bridge
# ar trebui configurat manual, pentru a evita conflictele cu NetworkManager
iface enp5s0 inet manual
# Setările podului hostbr0
auto hostbr0
iface hostbr0 inet static
    bridge_ports enp5s0
        adresa 192.168.2.11
        difuzat 192.168.2.255
        mască de rețea 255.255.255.0
        gateway 192.168.0.11

Se recomandă dezactivarea netfilterului:

sudo nano /etc/sysctl.d/99-netfilter-bridge.conf
# net.bridge.bridge-nf-call-ip6tables = 0
# net.bridge.bridge-nf-call-iptables = 0
# net.bridge.bridge-nf-call-arptables = 0

# încărcați setările scrise în fișier
sudo modprobe br_netfilter

# pentru a încărca automat modulul la pornire
sudo nano /etc/modules-load.d/br_netfilter.conf
# br_netfilter

# încărcați setările în 99-netfilter-bridge.conf
sudo sysctl -p /etc/sysctl.d/99-netfilter-bridge.conf

Apoi am creat o nouă rețea virtuală în libvirt

# creați o nouă rețea virtuală
sudo nano /tmp/host-bridged-network.xml
# <rețea>
# <name>host-bridged-network</name>
# <forward mode="bridge" />
# <bridge name="hostbr0" />
# </rețea>

sudo virsh net-define /tmp/host-bridged-network.xml
sudo virsh net-start host-bridged-network
sudo virsh net-autostart host-bridged-network
sudo virsh net-list
# Nume Stare Autostart Persistent
# --------------------------------------------- --------
# implicit activ da da
# host-bridged-network activă da da

virsh net-edit implicit
# <rețea>
# <name>implicit</name>
# <uuid>96dc6685-2006-4d88-9239-20f0b263f14b</uuid>
# <forward mode='nat'/>
# <bridge name='virbr0' stp='on' delay='0'/>
# <mac address='52:54:00:8a:2e:73'/>
# <adresa ip='192.168.122.1' netmask='255.255.255.0'>
# <dhcp>
# <range start='192.168.122.2' end='192.168.122.254'/>
# </dhcp>
# </ip>
# </rețea>

virsh net-edit host-bridged-network
# <rețea>
# <name>host-bridged-network</name>
# <uuid>762ec061-5a3d-417e-81ae-e06a920e0b13</uuid>
# <forward mode='bridge'/>
# <bridge name='hostbr0'/>
# </rețea>

Câteva informații despre configurația finală a gazdei mele:

# pe gazdă
ruta ip
# implicit prin 192.168.0.1 dev enp4s0 proto dhcp metric 100 
# 10.139.212.0/24 dev mpqemubr0 proto kernel scope link src 10.139.212.1 linkdown 
# 169.254.0.0/16 dev virbr0 scope link metric 1000 linkdown 
# 172.17.0.0/16 dev docker0 proto kernel scope link src 172.17.0.1 linkdown 
# 192.168.0.0/24 dev enp4s0 proto kernel scope link src 192.168.0.11 metric 100 
# 192.168.122.0/24 dev virbr0 proto kernel scope link src 192.168.122.1 linkdown 

link ip
# 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state modul NECUNOSCUT DEFAULT grup implicit qlen 1000
# link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
# 2: enp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP mode DEFAULT grup implicit qlen 1000
# link/ether 50:3e:aa:0c:97:02 brd ff:ff:ff:ff:ff:ff
# 3: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel master hostbr0 state UP mode DEFAULT grup implicit qlen 1000
# link/ether 18:31:bf:cc:08:61 brd ff:ff:ff:ff:ff:ff
# 4: virbr0: <NO-CARRIER, BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT grup implicit qlen 1000
# link/ether 52:54:00:8a:2e:73 brd ff:ff:ff:ff:ff:ff
# 5: virbr0-nic: <BROADCAST,MULTICAST> mtu 1500 qdisc fq_codel master virbr0 stare mod DOWN DEFAULT grup implicit qlen 1000
# link/ether 52:54:00:8a:2e:73 brd ff:ff:ff:ff:ff:ff
# 8: mpqemubr0: <NO-CARRIER, BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT grup implicit qlen 1000
# link/ether 52:54:00:87:65:df brd ff:ff:ff:ff:ff:ff
# 9: docker0: <NO-CARRIER, BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN mode DEFAULT grup implicit 
# link/ether 02:42:e9:8e:81:fc brd ff:ff:ff:ff:ff:ff
# 10: hostbr0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT grup implicit qlen 1000
# link/ether 18:31:bf:cc:08:61 brd ff:ff:ff:ff:ff:ff

Apoi am adăugat la mașina virtuală invitată ubuntu 20.04 două interfețe de rețea: Mod implicit și rețea-gazdă-punți. Guest începe ca de obicei, pot vedea mediul de rețea în managerul de fișiere Nemo (numai nodul invitat). Interfața enp5s0 nu se poate conecta, Ubuntu încearcă să stabilească conexiunea, dar întotdeauna eșuează. Mesajul de sistem: „Activarea conexiunii la rețea a eșuat” pentru enp5s0 interfață. Mod implicit libvirt rețeaua este afișată ca enp9s0 si functioneaza corect.

Pe gazdă, această interfață este afișată ca negestionate.

Întrebările mele sunt:

Ce intervale de adrese ar trebui să atribui rețelelor virtuale?

The hostbr0 nu este creat după repornirea sistemului, deci există o problemă în configurare?

Am și serverul DHCP inițializat pe gazdă, momentan nu este folosit. Poate este mai bine să-l ștergi?

Ar trebui să adaug ambele rețele la mașina oaspete: Mod implicit, rețea-gazdă-punți sau numai rețea-gazdă-punți?

Interfața de rețea fizică prin punte trebuie să fie conectată la router? Sau servește toate funcțiile de pe gazdă, iar a doua NIC oferă Internet prin rețea NAT?

Vă rugăm să sugerați îmbunătățiri la atribuirea adresei, bănuiesc că este ceva greșit în configurația mea

Doug Smythies avatar
drapel gn
ce versiune de Ubuntu este computerul tău gazdă? Vă întreb pentru că încă utilizați `/etc/network/interfaces`. Crearea unei rețele virtuale nu are sens pentru mine, pur și simplu puneți totul pe LAN-ul dvs. prin bridge-ul gazdă.
Alexander avatar
drapel uy
Ubuntu meu are următoarea versiune 44~20.04.2-Ubuntu SMP Mar 26 octombrie 18:07:44 UTC 2021
Doug Smythies avatar
drapel gn
Mă refer la versiunea de distribuție Ubuntu, adică `lsb_release -a`.Oricum, dacă este 20.04.3, atunci nu înțeleg de ce utilizați fișierul `/etc/network/interfaces` deoarece nu mai este folosit.
Alexander avatar
drapel uy
Nu sunt disponibile module LSB, ID distribuitor: Ubuntu, Descriere: Ubuntu, 20.04.3 LTS, Lansare: 20.04, Nume de cod: focal. Îl folosesc pentru a face puntea persistentă între reporniri conform instrucțiunilor menționate. Cum se creează un pod gazdă bazat pe NIC fizic?
Doug Smythies avatar
drapel gn
[this](https://netplan.io/examples/#configuring-network-bridges) ajută? Pot să încerc să scriu un răspuns, dar nu doar acum. Referința dvs. are câteva greșeli, după părerea mea.
Doug Smythies avatar
drapel gn
[Aici](https://ubuntuforums.org/showthread.php?t=2461631&p=14036896#post14036896) am făcut-o pe serverul meu Ubuntu 20.04.3.
Alexander avatar
drapel uy
Am reușit să stabilesc un pod simplu uitându-mă la referințele tale. Odată ce fac întreaga configurație, o voi plasa aici ca răspuns la propriul meu răspuns (va fi în curând)
Puncte:0
drapel uy

Aceasta este configurația mea finală, am setat serverul DHCP pe router care atribuie adrese IP tuturor mașinilor virtuale, precum și gazdei. Partajarea Samba funcționează bine cu această configurație.

Prefer să setez adrese IP permanente gazdei și mașinilor virtuale prin serverul DHCP de pe routerul care este conectat la Internet.

  # /etc/netplan/01-network-manager-all.yaml
  reţea:
      versiunea: 2
      redator: în rețea
      ethernet:
          eth0:
            Meci:
              adresa maca: mac1
            nume-setare: tplink-usb3.0
            dhcp4: adevărat
            dhcp6: fals
            opțional: adevărat
            mtu: 1500
            servere de nume:
              adrese: [8.8.8.8]
          eth-host:
            Meci:
              adresa maca: mac2
            dhcp4: fals
            dhcp6: fals
      poduri:
          br0:
            interfețe: [eth-host]
            adrese: [192.168.0.9/24]
            gateway4: 192.168.0.1
            mtu: 1500
            servere de nume:
              adrese: [8.8.8.8]
            parametri:
              stp: adevărat
              întârziere înainte: 4
            dhcp4: adevărat
            dhcp6: fals

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.