Wie konfiguriere ich meine Schnittstellen mit mehreren IPs für die Verwendung durch Xen?

Wie konfiguriere ich meine Schnittstellen mit mehreren IPs für die Verwendung durch Xen?

Ich habe einen Server, dem mehrere IPs zugewiesen sind. Ich möchte ihn als Xen-Hypervisor einrichten, sodass jede VM ihre eigene dedizierte IP hat. So habe ich meine mehreren IPs derzeit eingerichtet:

#IP addresses are examples, actual server has public IPs
auto eth0
iface eth0 inet static
    address 192.168.1.10
    netmask 255.255.255.0
    gateway 192.168.1.1
    network 192.168.1.0

auto eth0:0
iface eth0:0 inet static
    address 192.168.1.11
    netmask 255.255.255.0

auto eth0:1
iface eth0:1 inet static
    address 192.168.1.12
    netmask 255.255.255.0

Ich habe mehrere Dinge mit Bridging ausprobiert und gebe ehrlich gesagt langsam die Hoffnung auf, selbst eine Lösung zu finden. Wie kann ich Xen dazu bringen, für jede der Domänen eine bestimmte IP zu verwenden?

Antwort1

Die IP-Adressen für jede der VMs sollten in der VM selbst und nicht auf dem Hostcomputer konfiguriert werden.

Es ist hilfreich, sich jede der VMs und den Host mit ihren eigenen Schnittstellen vorzustellen. Allerdings verfügt nur der Host über ein physisches Kabel, sodass die Schnittstellen der Gast-VM mit der Host-Schnittstelle verbunden werden müssen.

Sie erstellen die Brücke in der Datei /etc/networks/interfaces wie folgt:

auto lo br0 eth0

iface lo inet loopback

iface br0 inet static
        bridge_ports eth0
        address 192.168.1.10
        netmask 255.255.255.0
        gateway 192.168.1.1

Dadurch wird beim Starten des Netzwerkstapels (z. B. beim Booten) eine neue Brücke erstellt, Ihre Schnittstelle hinzugefügt und der Brücke die IP-Adresse des Hosts zugewiesen. Hier können Sie die Brücke sehen:

$ brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.60a4ecf28d84       no              eth0

Sie können die br0-Schnittstelle genauso behandeln wie die darin enthaltene eth0-Schnittstelle.

Dann haben Sie in den Gastkonfigurationsdateien eine Zeile wie:

vif = ['bridge=br0, mac=00:16:3E:12:16:19']

Dies bedeutet: „Geben Sie dieser VM eine virtuelle Schnittstelle, fügen Sie sie der br0-Brücke hinzu und geben Sie ihr den folgenden Mac.“

Beachten Sie, dass das Festlegen einer MAC-Adresse hier nicht erforderlich ist. Ich bevorzuge dies jedoch, damit ich DHCP verwenden kann, um den Gästen eine statische IP-Adresse zuzuweisen. Auf diese Weise muss ich außer der Hostadresse (und dem DHCP-Server, der in meinem Fall selbst eine VM ist) keine anderen IP-Adressen fest codieren.

Anschließend konfigurieren Sie es im Gast einfach wie jede andere Linux-Maschine:

auto eth0
iface eth0 inet static
    address 192.168.1.11
    netmask 255.255.255.0
    gateway 192.168.1.1

Beachten Sie, dass dies in derGastNetzwerkkonfiguration der Maschine.

Wenn Sie die VM starten, sehen Sie, dass die Brücke jetzt über zwei Schnittstellen verfügt:

$ brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.60a4ecf28d84       no              eth0
                                                        vif1.0

Dieses vif1.0 ist die virtuelle Schnittstelle des Gastes. Jetzt kann der Gast das Gateway anpingen und kommunizieren, als wäre es über ein Stück Kabel direkt mit Ihrem Netzwerk verbunden.

verwandte Informationen