ubuntuusers.de

Probleme bei der Einrichtung vom Subnetz KVM Ubuntu 16.04

Status: Gelöst | Ubuntu-Version: Server 16.04 (Xenial Xerus)
Antworten |

tomnick

Anmeldungsdatum:
7. Mai 2009

Beiträge: 38

Liebe Forumgemeinde,

ich habe KVM unter Ubuntu 16.04 installiert und Host sowie Gäste laufen auch. Administrieren der Gäste über Virtual Machine Manager. Nun wollte ich gern ein Subnetz DD.EE.FF. 152 bis 159 benutzen. Das habe ich nach der Anleitung https://wiki.hetzner.de/index.php/KVM_mit_Nutzung_aller_IPs_-_the_easy_way gemacht. Leider bekommen die Gäste die Subnetz IPS nicht zugewiesen und ich kann mir überhaupt nicht mehr erklären warum. Hier mal meine configs:

Host Interfaces:

### Hetzner Online GmbH - installimage
# Loopback device:
auto lo
iface lo inet loopback
iface lo inet6 loopback
# device: eth0
auto  eth0
iface eth0 inet static
  address   AA.BB.CC.76
  netmask   255.255.255.255
  gateway   AA.BB.CC.65
  pointopoint AA.BB.CC.65
  # default route to access subnet
  up route add -net AA.BB.CC.64 netmask 255.255.255.192 gw AA.BB.CC.65 eth0
iface eth0 inet6 static
  address xxxxxxxx
  netmask 64
  gateway fe80::1
# VM-Bridge
auto br0
iface br0 inet static
 address   AA.BB.CC.76
 netmask   255.255.255.255
 bridge_ports none
 bridge_stp off
 bridge_fd 0
 bridge_maxwait 0
 up route add -host DD:EE:FF.152 dev br0
 up route add -host DD:EE:FF.153 dev br0
usw. bis DD.EE.FF

ifconfig:

br0       Link encap:Ethernet  HWaddr 62:51:bb:50:0e:75  
          inet addr:AA.BB.CC.76  Bcast:AA.BB.CC.76  Mask:255.255.255.255
          inet6 addr: xxxxxx:e75/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:631 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:0 (0.0 B)  TX bytes:26694 (26.6 KB)
eth0      Link encap:Ethernet  HWaddr 90:1b:0e:a3:c6:20  
          inet addr:AA.BB.CC.76  Bcast:AA.BB.CC.127  Mask:255.255.255.192
          inet6 addr: xxxxxxx:c620/64 Scope:Link
          inet6 addr: xxxxxxxx:2/64 Scope:Global
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:124778 errors:0 dropped:0 overruns:0 frame:0
          TX packets:130386 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:17715501 (17.7 MB)  TX bytes:35391149 (35.3 MB)
          Interrupt:16 Memory:f7000000-f7020000 
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:38584 errors:0 dropped:0 overruns:0 frame:0
          TX packets:38584 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:4402360 (4.4 MB)  TX bytes:4402360 (4.4 MB)
virbr0    Link encap:Ethernet  HWaddr 52:54:00:9c:78:ef  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2067 errors:0 dropped:0 overruns:0 frame:0
          TX packets:2911 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:246816 (246.8 KB)  TX bytes:279559 (279.5 KB)
vnet0     Link encap:Ethernet  HWaddr fe:54:00:be:1c:b0  
          inet6 addr: fe80::fc54:ff:febe:1cb0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:24 errors:0 dropped:0 overruns:0 frame:0
          TX packets:547 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1972 (1.9 KB)  TX bytes:29380 (29.3 KB)

Gast Interface:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
  auto ens3
  iface ens3 inet dhcp
device: eth0
auto eth0
iface eth0 inet static
address DD.EE.FF.153
netmask 255.255.255.255
gateway AA.BB.CC.76
pointopoint AA.BB.CC.76
# dns-* options are implemented by the resolvconf package, if installed
      #  dns-nameservers 213.133.98.98 213.133.99.99
#        dns-search example.com

ifconfig Gast:

ens3      Link encap:Ethernet  HWaddr 52:54:00:be:1c:b0  
          inet addr:192.168.122.69  Bcast:192.168.122.255  Mask:255.255.255.0
          inet6 addr: fe80::5054:ff:febe:1cb0/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1099 errors:0 dropped:3 overruns:0 frame:0
          TX packets:222 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:70037 (70.0 KB)  TX bytes:28492 (28.4 KB)
lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:160 errors:0 dropped:0 overruns:0 frame:0
          TX packets:160 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:11840 (11.8 KB)  TX bytes:11840 (11.8 KB)

Beim Restart des Netzwerkes (Gast) bekomme ich folgenden Fehler:

Aug 19 20:01:31 klaya systemd[1]: Stopped Raise network interfaces.
Aug 19 20:01:31 klaya systemd[1]: Starting Raise network interfaces...
Aug 19 20:01:31 klaya ifup[1069]: Cannot find device "eth0"
Aug 19 20:01:31 klaya ifup[1069]: Failed to bring up eth0.
Aug 19 20:01:31 klaya systemd[1]: networking.service: Main process exited, code=
Aug 19 20:01:31 klaya systemd[1]: Failed to start Raise network interfaces.
Aug 19 20:01:31 klaya systemd[1]: networking.service: Unit entered failed state.
Aug 19 20:01:31 klaya systemd[1]: networking.service: Failed with result 'exit-c

Ich weiss nun wirklich nicht mehr weiter habe mich schon wund gegoogelt....Hat vielleicht noch jemand eine Idee was ich übersehen haben könnte? Vielen Dank für etwas Hilfe und viele Grüße Tom

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7790

Du hast ens3 scheinst aber eth0 zu erwarten... entweder du änderst die Interface Namen auf das was du tatsächlich hast, oder du stellst die Interface Namen ab damit du tatsächlich eth0 bekommst. (net.ifnames=0 o.ä.)

Dann verstehe ich nicht warum du br0 hast und dann nochmal virbr0.

Irgendwie scheinen sich da bei dir zwei verschiedene Konzepte zu bekämpfen. 😉

Ich habe es bei mir so gemacht, jede VM hat eine eigene Bridge und die heisst dann br-heinz für die heinz-VM und br-otto für die otto-VM und br-lisa und so weiter. Also richtige Namen statt Nummern, dann weiss man auch was zu was gehört.

Aber wie man das mit libvirt, virtual machine manager und so weiter hinbekommt weiss ich nicht, ich hab das immer mit eigenen Scripten aufgesetzt ...

So wie das auf der Hetzner Wiki Seite beschrieben steht ist das ganz richtig aber diese Seite stammt aus der Zeit vor Systemd und vor den kryptischen Netzwerknamen.

tomnick

(Themenstarter)

Anmeldungsdatum:
7. Mai 2009

Beiträge: 38

Also, ich habe das System nochmal völlig neu aufgesetzt. Demnach kreiert KVM die virb0 um für NAT die ensprechenden IP zu verteilen. Ist ja zur Erstinstallation auch notwendig, damit beim Gast die Interfaces entprechend konfiguriert werden kann. Soweit läuft ja auch alles nur wenn ich dann den Gast neu starte bekommt er eben nicht die IP die ich ihm zugeteilt habe. Mein Host sieht auch ok aus soweit:

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         xxx.xxx.xxx.65  0.0.0.0         UG    0      0        0 eth0
xxx.xxx.xxx.64  xxx.xxx.xxx.65  255.255.255.192 UG    0      0        0 eth0
xxx.xxx.xxx.64  0.0.0.0         255.255.255.192 U     0      0        0 eth0
DDD.EEE.FFF.72  0.0.0.0         255.255.255.248 U     0      0        0 br0
DDD.EEE.FFF.152 0.0.0.0         255.255.255.255 UH    0      0        0 br0
DDD.EEE.FFF.153 0.0.0.0         255.255.255.255 UH    0      0        0 br0
DDD.EEE.FFF.154 0.0.0.0         255.255.255.255 UH    0      0        0 br0
DDD.EEE.FFF.155 0.0.0.0         255.255.255.255 UH    0      0        0 br0
DDD.EEE.FFF.156 0.0.0.0         255.255.255.255 UH    0      0        0 br0
DDD.EEE.FFF.157 0.0.0.0         255.255.255.255 UH    0      0        0 br0
DDD.EEE.FFF.158 0.0.0.0         255.255.255.255 UH    0      0        0 br0
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

Ich weiss echt nicht mehr weiter, das kann doch nur am Gast liegen, oder?

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7790

Wie sieht die Konfiguration im Gast jetzt aus?

Wenn immer noch so wie oben gepostet, das muss raus:

auto ens3
iface ens3 inet dhcp 

Und das eth0 darunter stattdessen für ens3.

Und der Gast muss dann auf die br0 geschaltet sein und nicht auf die virbr0.

Man kann das mit allen Gästen auf einem br0 Device so machen, dann muss man aber den Gästen auch vertrauen können, sonst kanns sein, der eine Gast klaut dem anderen die IP.

tomnick

(Themenstarter)

Anmeldungsdatum:
7. Mai 2009

Beiträge: 38

Wenn immer noch so wie oben gepostet, das muss raus: auto ens3 iface ens3 inet dhcp Und das eth0 darunter stattdessen für ens3

Alles schon probiert, er findet einfach eth0 nicht....

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7790

tomnick schrieb:

Alles schon probiert, er findet einfach eth0 nicht....

(?) ich komm nicht mehr mit (¿)

Und das eth0 darunter stattdessen für ens3

Wenn das Netzwerkinterface bei dir ens3 heisst, dann schreibst du die Config für ens3, nicht für eth0.

tomnick

(Themenstarter)

Anmeldungsdatum:
7. Mai 2009

Beiträge: 38

Nun, wenn ich Hetzner so richtig verstehe, ist eth0 ja die Hauptip und soll eine Bridge mit br0 bekommen in der das Subnet verlinkt ist. Ens3 wird automatisch vergeben, wenn der Gast per NAT eingerichtet wird. Das mache ich deshalb, damit ich die interfaces besser per SSH editieren kann. Aber selbst wenn ich ens3 auskommentiere, dann startet zwar der Gast aber nicht mit der IP DD.EE.FF.152 sondern mit 127.0.0. Aus bisher noch mir unerklärlichen Gründen funktioniert die Bridge irgendwie nicht obwohl ich alles streng nach Hetzner Anleitung gemacht habe....

misterunknown Team-Icon

Ehemalige
Avatar von misterunknown

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 4403

Wohnort: Sachsen

tomnick schrieb:

Nun, wenn ich Hetzner so richtig verstehe, ist eth0 ja die Hauptip

eth0 ist ein Interface. Bei dir gibt es das aber nicht.

und soll eine Bridge mit br0 bekommen in der das Subnet verlinkt ist.

Deine Terminologie lässt nicht gerade darauf schließen, dass du weißt, was du tust. Bitte lies dir mal die Wiki-Seite Netzwerkbrücke durch.

Ens3 wird automatisch vergeben, wenn der Gast per NAT eingerichtet wird.

ens3 ist ebenfalls ein Interface. Dein Satz ergibt also keinen Sinn, da Interfaces nicht "vergeben" werden.

Das mache ich deshalb, damit ich die interfaces besser per SSH editieren kann.

Was hat deine Netzwerkkonfiguration mit dem Editieren einer Datei per SSH zu tun?

tomnick

(Themenstarter)

Anmeldungsdatum:
7. Mai 2009

Beiträge: 38

So klappt es:

auto ens3
iface ens3 inet static
address DD.EE.FF.153
netmask 255.255.255.255
gateway AA.BB.CC.76
pointopoint AA.BB.CC.76

Vielen Dank für den tollen Input

frostschutz

Avatar von frostschutz

Anmeldungsdatum:
18. November 2010

Beiträge: 7790

Wie gesagt die Hetzner Wiki Seite stammt aus einer Zeit vor Systemd und vor bescheuerten Interfacenames.

Wenn du eth0 haben willst - bevorzuge ich selbst auch - dann kannst du die Interface Names abstellen, z.B. mit net.ifnames=0 als Kernelparameter oder durch Deaktivierung entsprechender udev-Regeln.

Hier steht mehr dazu: https://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/

Antworten |