Netzwerk-brücken mit Xen mit zwei Lan-Adapter

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
cookieofbliss
Beiträge: 9
Registriert: 29.04.2013 17:01:29

Netzwerk-brücken mit Xen mit zwei Lan-Adapter

Beitrag von cookieofbliss » 29.04.2013 17:26:07

Hallo. Längere Zeit habe ich nun meinen Server mit Ubuntu betrieben. Dieser diente hauptsächlich als Daten-/Medien- und Downloadserver. Neuerdings wollte ich ebenfalls einen kleinen Webserver, bzw. eine Owncloud betreiben. Da sich der Server sich in einem (wirklich sehr kleinem) Rack befindet, welcher keinen weiteren Platz mehr bietet, ist es mir nicht möglich, einen weiteren Server anzuschaffen. Deshalb habe ich mich entschlossen, unter Debian mit Xen-Virtualisierung mehrere virtuelle Server zu erstellen.

Nun zur eigentlichen Frage. Der Server besitzt zwei (eigentlich drei, allerdings ist der dritte für das IPMI-Interface reserviert) Lan-Adapter. Ich möchte nun für den virtualisierten WebServer (Web01) einen eigenen Lan-Adapter ((p)eth1) zuweisen. Dieser ist an die DMZ angeschlossen. Der erste Adapter, möchte ich für die restlichen virtualisierten Server verwenden. (Data01, Download01, Plex01)

Dazu habe ich in der /etc/network/interfaces den zweiten Lan-Adapter "aktiviert".

Code: Alles auswählen

cookieofbliss@srv-xeon:~$ cat /etc/network/interfaces
# 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
allow-hotplug eth0
iface eth0 inet dhcp

# The secondary network interface
allow-hotplug eth1
iface eth1 inet dhcp
Dieser scheint zu funktionieren. Die Brücken habe ich in /etc/network/interfaces eingetragen:

Code: Alles auswählen

[...]
# XEN BRIDGES
iface xenbr0 inet dhcp
	bridge_ports eth0
iface xenbr1 inet dhcp
	bridge_ports eth1
In /etc/xen/xend-config.sxp habe ich die Brücken eingetragen:

Code: Alles auswählen

[...]
(vif-script vif-bridge)
(network-script 'network-bridge netdev=eth1 bridge=xenbr1')
(network-script 'network-bridge netdev=eth0 bridge=xenbr0')
[...]
Doch nach einem Neustart scheint das nicht zu klappen.

Code: Alles auswählen

severin@srv-xeon:/etc/xen$ sudo ifconfig
eth0      Link encap:Ethernet  Hardware Adresse 00:25:90:7a:e5:8f  
          inet Adresse:192.168.5.34  Bcast:192.168.5.255  Maske:255.255.255.0
          inet6-Adresse: fe80::225:90ff:fe7a:e58f/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:2809 errors:0 dropped:0 overruns:0 frame:0
          TX packets:313 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX bytes:199919 (195.2 KiB)  TX bytes:58245 (56.8 KiB)
          Interrupt:20 Speicher:f7a00000-f7a20000 

lo        Link encap:Lokale Schleife  
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
          UP LOOPBACK RUNNING  MTU:16436  Metrik:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0 
          RX bytes:560 (560.0 B)  TX bytes:560 (560.0 B)

peth1     Link encap:Ethernet  Hardware Adresse 00:25:90:7a:e5:8e  
          inet6-Adresse: fe80::225:90ff:fe7a:e58e/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metrik:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:13 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX bytes:0 (0.0 B)  TX bytes:978 (978.0 B)
          Interrupt:16 Speicher:f7900000-f7920000 

vif2.0    Link encap:Ethernet  Hardware Adresse fe:ff:ff:ff:ff:ff  
          inet6-Adresse: fe80::fcff:ffff:feff:ffff/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metrik:1
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5 errors:0 dropped:4 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:32 
          RX bytes:28 (28.0 B)  TX bytes:390 (390.0 B)

xenbr1    Link encap:Ethernet  Hardware Adresse 00:25:90:7a:e5:8e  
          inet6-Adresse: fe80::225:90ff:fe7a:e58e/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0 
          RX bytes:28 (28.0 B)  TX bytes:468 (468.0 B)
Es scheint als existiere nur eine Brücke:

Code: Alles auswählen

cookieofbliss@srv-xeon:/etc/xen$ sudo brctl show
bridge name	bridge id		STP enabled	interfaces
xenbr1		8000.0025907ae58e	no		peth1
							vif2.0
Ich würde mich sehr über hilfreiche Vorschläge und Antworten freuen. Weitere Informationen zum System werde ich in der Signatur nachtragen.
Freundliche Grüsse,
cookieofbliss
--
Freundliche Grüsse
cookieofbliss

Systeminformationen: Supermicro X9SCM-F, Intel Xeon E3-1265L, 4GB 1333 ECC, 4x 3TB (Auf Sata2 Mainboard-Controller, mdadm)

rendegast
Beiträge: 15041
Registriert: 27.02.2006 16:50:33
Lizenz eigener Beiträge: MIT Lizenz

Re: Netzwerk-brücken mit Xen mit zwei Lan-Adapter

Beitrag von rendegast » 30.04.2013 01:22:43

eth0 Link encap:Ethernet Hardware Adresse 00:25:90:7a:e5:8f
peth1 Link encap:Ethernet Hardware Adresse 00:25:90:7a:e5:8e
peth1 klingt fast wie "eth1", ein Vertipper? Bei 'brctl' wird sie aber auch so gezeigt.
(die mac paßt ja zu eth0)

Code: Alles auswählen

dmesg | grep eth
resp.
ifconfig -a
allow-hotplug eth0
iface eth0 inet dhcp

iface xenbr0 inet dhcp
bridge_ports eth0
Normalerweise wird das phys. Interface bei bridging ja nicht mehr konfiguriert ('iface eth0 inet manual'),
ist das bei xen anders?

Bei xenbr1 / peth1 taucht 'iface peth1 ...' ja nicht in der interfaces auf, bekommt also auch keine IP.
Aber peth1 taucht auch nicht bei bridge_ports auf, wie kommt es dann in die xenbr1? eine xen-Besonderheit?
Irgendwo ein alias definiert eth1<->peth1, vielleicht eine udev-Regel?
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")

cookieofbliss
Beiträge: 9
Registriert: 29.04.2013 17:01:29

Re: Netzwerk-brücken mit Xen mit zwei Lan-Adapter

Beitrag von cookieofbliss » 30.04.2013 09:58:29

Hallo rendegast,

Danke für die Antwort.

Code: Alles auswählen

There are two common naming schemes when using bridged networking. In one scheme the physical device eth0 is renamed to peth0 and a bridge named eth0 is created. In the other the physical device remains eth0 while the bridge is named xenbr0 (or br0 etc). We shall use the eth0+xenbr0 naming scheme here. 
http://wiki.xen.org/wiki/XenNetworking
Wieso das er hier ein peth0 einrichtet weiss ich auch nicht, jedoch steht das "p" meines Wissens für "physical".

Da ich mit Xen noch sehr wenig Erfahrung habe, habe ich mein System nach folgendem "HowTo" versucht zu konfigurieren:
http://wiki.xen.org/wiki/Xen_Beginners_ ... networking

Und so wie es aussieht hast du recht, es ist

Code: Alles auswählen

iface eth0 inet manual
Meine /etc/network/interfaces schaut nun so aus:

Code: Alles auswählen

cookieofbliss@srv-xeon:~$ cat /etc/network/interfaces
# 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
#allow-hotplug eth0
iface eth0 inet manual

#allow-hotplug eth1
iface eth1 inet manual

# XEN BRIDGES
auto xenbr0
auto xenbr1

iface xenbr0 inet dhcp
	bridge_ports eth0
iface xenbr1 inet dhcp
	bridge_ports eth1
Eine Brücke allein funktioniert jedoch, erst bei zwei treten die Probleme (immer noch) auf. Deshalb denke ich liegt der Fehler in /etc/xen/xend-config. Ich habe deshalb die zwei Xen-Brücken nach dieser Anleitung eingerichtet:

Code: Alles auswählen

http://www.virtualmin.com/documentation/cloudmin/virtualization/xenbr
Allerdings erscheint jetzt beim Booten (xend) die Meldung dass eth0 nicht konfiguriert sei und bleibt hängen.

Allerdings erscheint jetzt beim Start von Xend die Meldung: /etc/xen/scripts/network-bridge [...] line 241 sigerr [...] command not found

Kann also etwas mit dem Skript nicht ganz stimmen. SSH zugriff geht nicht, obwohl laut ifconfig -a xenbr0 die IP-Adresse 192.168.5.34 besitzt. xenbr1 hat keine IP-Adresse.
--
Freundliche Grüsse
cookieofbliss

Systeminformationen: Supermicro X9SCM-F, Intel Xeon E3-1265L, 4GB 1333 ECC, 4x 3TB (Auf Sata2 Mainboard-Controller, mdadm)

cookieofbliss
Beiträge: 9
Registriert: 29.04.2013 17:01:29

Re: Netzwerk-brücken mit Xen mit zwei Lan-Adapter

Beitrag von cookieofbliss » 30.04.2013 10:17:37

Achso, ich hatte ganz vergessen dass eth1 an die DMZ angeschlossen ist. Habe ich nun testeshalber wieder in das LAN1 gesetzt und beide haben nun eine IP-Adresse zugewiesen. Dies scheint geklappt zu haben, allerdings ist diese Ausgabe nun unter Debian ohne XEN-Kernel.

Code: Alles auswählen

cookieofbliss@srv-xeon:~$ sudo ifconfig -a
eth0      Link encap:Ethernet  Hardware Adresse 00:25:90:7a:e5:8f  
          inet6-Adresse: fe80::225:90ff:fe7a:e58f/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:962 errors:0 dropped:0 overruns:0 frame:0
          TX packets:250 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX bytes:88490 (86.4 KiB)  TX bytes:39399 (38.4 KiB)
          Interrupt:20 Speicher:f7a00000-f7a20000 

eth1      Link encap:Ethernet  Hardware Adresse 00:25:90:7a:e5:8e  
          inet6-Adresse: fe80::225:90ff:fe7a:e58e/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:107 errors:0 dropped:0 overruns:0 frame:0
          TX packets:21 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:1000 
          RX bytes:8073 (7.8 KiB)  TX bytes:3414 (3.3 KiB)
          Interrupt:16 Speicher:f7900000-f7920000 

lo        Link encap:Lokale Schleife  
          inet Adresse:127.0.0.1  Maske:255.0.0.0
          inet6-Adresse: ::1/128 Gültigkeitsbereich:Maschine
          UP LOOPBACK RUNNING  MTU:16436  Metrik:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0 
          RX bytes:560 (560.0 B)  TX bytes:560 (560.0 B)

xenbr0    Link encap:Ethernet  Hardware Adresse 00:25:90:7a:e5:8f  
          inet Adresse:192.168.5.34  Bcast:192.168.5.255  Maske:255.255.255.0
          inet6-Adresse: fe80::225:90ff:fe7a:e58f/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:224 errors:0 dropped:0 overruns:0 frame:0
          TX packets:88 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0 
          RX bytes:16251 (15.8 KiB)  TX bytes:11592 (11.3 KiB)

xenbr1    Link encap:Ethernet  Hardware Adresse 00:25:90:7a:e5:8e  
          inet Adresse:192.168.5.36  Bcast:192.168.5.255  Maske:255.255.255.0
          inet6-Adresse: fe80::225:90ff:fe7a:e58e/64 Gültigkeitsbereich:Verbindung
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metrik:1
          RX packets:34 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
          Kollisionen:0 Sendewarteschlangenlänge:0 
          RX bytes:2919 (2.8 KiB)  TX bytes:1236 (1.2 KiB)

Code: Alles auswählen

cookieofbliss@srv-xeon:~$ sudo brctl show
bridge name	bridge id		STP enabled	interfaces
xenbr0		8000.0025907ae58f	no		eth0
xenbr1		8000.0025907ae58e	no		eth1
Beim Start mit Xen-Kernel:

Code: Alles auswählen

Starting Xen daemons: xenfs xenstored xenconsoled xend
RTNETLINK answers: Devicse or resource busy
/etc/xen/scripts/network-bridge: line 240: sigerr: command not found
ifdown: interface eth1 not configured
RTNETLINK answers: Devicse or resource busy
/etc/xen/scripts/network-bridge: line 240: sigerr: command not found
ifdown: interface eth0 not configured [... wiederholt sich]
hier bleibt das System hängen...

Code: Alles auswählen

cookieofbliss@srv-xeon:/etc/xen/scripts$ cat multiple-bridge 
#!/bin/sh
dir=$(dirname "$0")
"$dir/network-bridge" "$@" vifnum=0 netdev=eth0 bridge=xenbr0
"$dir/network-bridge" "$@" vifnum=1 netdev=eth1 bridge=xenbr1

Code: Alles auswählen

severin@srv-xeon:/etc/xen$ cat xend-config.sxp | grep bridge
[...]
(vif-script vif-bridge)
(network-script multiple-bridge)
#(network-script 'network-bridge netdev=eth1 bridge=xenbr1')
#(network-script 'network-bridge netdev=eth0 bridge=xenbr0')
[...]
Vorschläge/Ideen?
--
Freundliche Grüsse
cookieofbliss

Systeminformationen: Supermicro X9SCM-F, Intel Xeon E3-1265L, 4GB 1333 ECC, 4x 3TB (Auf Sata2 Mainboard-Controller, mdadm)

cookieofbliss
Beiträge: 9
Registriert: 29.04.2013 17:01:29

Re: Netzwerk-brücken mit Xen mit zwei Lan-Adapter

Beitrag von cookieofbliss » 30.04.2013 10:59:17

Soo.. Scheint geklappt zu haben :)

Habe irgendwo gelesen (kann die Seite nicht mehr angeben), dass unter Debian Xen keine Veränderungen am Netzwerk vornimmt. Sommit ist die Option (network-script [...]) überflüssig. Habe nur noch (vif-bridge [...]) aktiviert.

Ich habe die VM's Data01 und Web01 gestartet. Data01 verwendet bridge=xenbr0, Web01 verwendet bridge=xenbr1.

Code: Alles auswählen

severin@srv-xeon:~$ sudo brctl show
bridge name	bridge id		STP enabled	interfaces
xenbr0		8000.0025907ae58f	no		eth0
							vif1.0
							vif1.1
							vif2.0
xenbr1		8000.0025907ae58e	no		eth1
							vif2.1
Doch wieso hat xenbr0 so viele vif?
Die beiden VM's haben ihre IP-Adressen, jedoch erscheint bei ifconfig eth0 (mit IP-Adresse) und eth1 (ohne IP-Adresse).
Muss ich die Xen-Firewall (antispoof=yes) noch aktivieren? Wenn ja wie?
Hoffe jemand kann mir Auskunft geben.
--
Freundliche Grüsse
cookieofbliss

Systeminformationen: Supermicro X9SCM-F, Intel Xeon E3-1265L, 4GB 1333 ECC, 4x 3TB (Auf Sata2 Mainboard-Controller, mdadm)

Antworten