kvm/libvirt bridged & isolated netzwerk

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
tch
Beiträge: 1
Registriert: 30.12.2010 23:52:46

kvm/libvirt bridged & isolated netzwerk

Beitrag von tch » 31.12.2010 01:21:12

hallo zusammen

ich möchte mehrere server auf einem root server ([host]) virtualisieren, ich habe mich schlussendlich für KVM (+libvirt) entschieden. Der [host] hat nur ein NIC (Verbindung: Internet), dies habe ich gleich (erfolgreich) ge-"bridged"... Ich konnte auf allen Gästen verbinden (virt-manager) und statische IPs definieren (178.x.x.180 bis 178.x.x.190), prima, hat alles geklappt + sind von aussen zugreifbar (public).

soweit so gut...

jetzt möchte/muss ich einen Private-LAN (10.1.0.X) zwischen allen Gästen + Host erstellen - wie man's halt üblich kennt. Leider (wie vorher erwähnt) habe ich nur ein NIC zur Verfügung (eth0) und die ist schon ge-"bridged". Habe mich also etwas schlau gemacht... libvirt verfügt schon über ein voll virtualisiertes Netwerksystem, leider will es bei mir nicht richtig funktionieren! ich sitze jetzt mehr als 8 h an dieser Problem fest und weiss nicht was falsch ist (google weiss auch nicht was falsch lauft :mrgreen: )

Zur Erklärung habe ich eine Netwerkzeichnung (SOLL-Zustand) erstellt:
* symbolische Darstellung :)
** manual konfig.

Code: Alles auswählen

---------------------[ host / root ]---------------------------------

+---------+   IP: 10.1.0.11                          +-----------+
 | eth0:0  |----------------------------------------- |           |---------------------+
+---------+                                          |  root     |                     |
+-------+          +-------+   IP: 178.x.x.180       |  server*  |                     |
 | eth0  | -------- |  br0  | ----------------+-------|           |                     |
+-------+          +-------+                 |       +-----------+                     |
                                             |                                         |
---------------------------------------------|-----------------------                  |  ( von 10.1.0.11 -->
                                             |                                         |    auf 10.1.0.12 )
                                             |                                         |
---------------[ "guest" beispiel ]----------|-----------------------                  |
                                             |                                         |
                                             | IP: 178.x.x.181 **                      |
                                             |                                         |
                    IP: 10.1.0.12           +-----------+                              |
                    +-------+               |  guest1*  |  --------------------------- +
 | libvirt  | ------ | vnet0 |---------------|           | 
                    +-------+               +-----------+
---------------------------------------------------------------------
ist Zustand:

Code: Alles auswählen

---------------------[ host / root ]---------------------------------

+---------+   IP: 10.1.0.11                          +-----------+
 | eth0:0  |----------------------------------------- |           |---------------------+
+---------+                                          |  root     |                     |
+-------+          +-------+   IP: 178.x.x.180       |  server*  |                     |
 | eth0  | -------- |  br0  | ----------------+-------|           |                     |
+-------+          +-------+                 |       +-----------+                     |
                                             |                                         x
---------------------------------------------|-----------------------                  x  ( von 10.1.0.11 -->
                                             |                                         x    auf 10.1.0.12 -- FAIL )
                                             |                                         x  ( von 10.1.0.12 -->
---------------[ "guest" beispiel ]----------|-----------------------                  x    auf 10.1.0.11 -- FAIL )
                                             |                                         |
                                             | IP: 178.x.x.181 **                      |
                                             |                                         |
                    IP: 10.1.0.12           +-----------+                              |
                    +-------+               |  guest1*  |  --------------------------- +
 | libvirt  | ------ | vnet0 |---------------|           | 
                    +-------+               +-----------+
---------------------------------------------------------------------
ich kann weder vom Host auf meine "Gäste" noch von meine "Gäste" zum Host pingen (auf 10.x...).

Mein "Default"-Netwerk (libvirt) ist wie folgt konfiguriert:
Anleitungen gefolgt: hier und hier

Code: Alles auswählen

<network>
  <name>default</name>
  <uuid>3e3fce45-4f53-4fa7-bb32-11f34168b82b</uuid>
  <bridge name="virbr0" />
  <ip address="10.1.0.5" netmask="255.255.255.0" /> // 10.1.0.5 wird auf den Gästen als Default-Gateway konfiguriert - richtig oder?
</network>
Gäste sind wie folgt konfiguriert (ohne mac's aufgesetzt durch "define"-Command in virsh werde automatisch neue MAC's hinzugefügt):
doku liegt hier. Beide NIC's erscheinen in den Gast-Systemen

Code: Alles auswählen

.....
    <interface type='bridge'>
      <mac address='54:52:00:19:XX:XX'/>
      <source bridge='br0'/> <---- auf eth0 (also Internet)
    </interface>
    <interface type='network'>
      <mac address='52:54:00:91:XX:XX'/>
      <source network='default'/> <---- (libvirt default-Netwerk)
    </interface>
.....
Die virtuelle verbindungen sind im ifconfig vorhanden (yey!)

Code: Alles auswählen

virbr0    Link encap:Ethernet  HWaddr 00:ff:19:cc:XX:XX
          inet addr:10.1.0.5  Bcast:10.1.0.255  Mask:255.255.255.0
          inet6 addr: fe80::7ca9:96ff:feb6:5934/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:989 errors:0 dropped:0 overruns:0 frame:0
          TX packets:23 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:106585 (104.0 KiB)  TX bytes:1182 (1.1 KiB)

vnet0     Link encap:Ethernet  HWaddr 00:ff:a1:4e:XX:XX
          inet6 addr: fe80::2ff:a1ff:fe4e:8547/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:117 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7183 errors:0 dropped:0 overruns:0 carrier:0 (<---- its alive!!!)
          collisions:0 txqueuelen:500
          RX bytes:7362 (7.1 KiB)  TX bytes:501956 (490.1 KiB)

vnet1     Link encap:Ethernet  HWaddr 00:ff:63:89:XX:XX
          inet6 addr: fe80::2ff:63ff:fe89:ca13/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:64 errors:0 dropped:0 overruns:1 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:0 (0.0 B)  TX bytes:5010 (4.8 KiB)
.....
an meine konfiguration liegt es (wahrscheinlich) nicht, an libvirt auch nicht (obwohl... man weiss ja nie :P). Sondern eher irgendwo auf dem [host]-System. Vielleicht habe ich was in meine iptables falsch konfiguriert:

Code: Alles auswählen

iptables -vnL FORWARD

Chain FORWARD (policy ACCEPT 14291 packets, 1448K bytes)
 pkts bytes target     prot opt in     out     source               destination
   89  8341 ACCEPT     all  --  *      virbr0  0.0.0.0/0            10.1.0.0/24
   48  2370 ACCEPT     all  --  virbr0 *       10.1.0.0/24          0.0.0.0/0
  284 50279 ACCEPT     all  --  virbr0 virbr0  0.0.0.0/0            0.0.0.0/0
    0     0 REJECT     all  --  *      virbr0  0.0.0.0/0            0.0.0.0/0           reject-with icmp-port-unreachable
    0     0 REJECT     all  --  virbr0 *       0.0.0.0/0            0.0.0.0/0           reject-with icmp-port-unreachable

da ich als applikationsentwickler tätig bin, sagen mir iptables gar nichts xD... vielleicht könnte mir jemand die iptables-Ausgabe übersetzen - wäre sehr dankbar.

falls jemand sich die mühe gemacht hat mein post bis zum schluss durchzulesen, hat sich eine denkpause verdient: http://www.youtube.com/watch?v=1enuUrL54C4

danke für eure hilfe!

vitaminb
Beiträge: 57
Registriert: 22.02.2011 15:59:07

Re: kvm/libvirt bridged & isolated netzwerk

Beitrag von vitaminb » 03.03.2011 14:28:59

Hast Du mittlerweile eine Lösung gefunden?

Colttt
Beiträge: 3012
Registriert: 16.10.2008 23:25:34
Wohnort: Brandenburg
Kontaktdaten:

Re: kvm/libvirt bridged & isolated netzwerk

Beitrag von Colttt » 04.03.2011 21:33:29

hmm evtl so : http://bitbud.com/2008/08/20/how-to-set ... -in-kvm-2/ wichtig ist das vlan und die zweite nic kann man ja über eth0:1 machen
Debian-Nutzer :D

ZABBIX Certified Specialist

Antworten