Wie sollte ich Xen so konfigurieren, dass mehrere unterschiedliche IP-Bereiche in den DomUs zulässig sind?

3

Ich versuche Xen in einem Setup zum Laufen zu bringen, in dem die domUs eine völlig andere IP haben als dom0 (nicht im selben Netzwerkbereich). Diese Antwort hat dazu geführt, dass alles im gleichen / 24-Bereich funktioniert, aber nicht mit völlig unabhängigen IPs.

dom0s / etc / network / interfaces:

# The primary interface.
# The configuration is done in the bridge.
auto eth0

# The bridge for Xen to use.
auto xenbr0
iface eth0 inet static
        bridge_ports eth0
        address 188.165.X.Y
        netmask 255.255.255.0
        network 188.165.X.0
        broadcast 188.165.X.255
        gateway 188.165.X.254

dom0s Brücke ( brctl show):

bridge name     bridge id               STP enabled     interfaces
eth0            8000.00259022aab2       no              peth0
                                                        vif1.0

domUs / etc / network / interfaces:

# The primary network interface
auto eth0
iface eth0 inet static
    address 91.121.A.B
    gateway 188.165.X.254
    netmask 255.255.255.0

Ich habe auch verschiedene Netzmasken in der Konfiguration von domU ausprobiert. Wie sollte ich das Ding konfigurieren, damit die domU eine funktionierende Verbindung zum Netzwerk herstellen kann?

Simon
quelle
Hallo Simon - wie wird 91.121.xx geroutet? Wird es im Internet auf 188.165.X.254 geroutet?
Paul
Das würde ich annehmen. Die IP-Adresse wird von meinem Rechenzentrums-Host bereitgestellt. Ich gehe davon aus, dass das Gateway, das sie für meine primäre IP-Adresse verwenden, mit der sekundären IP-Adresse identisch ist.
Simon

Antworten:

2

Ich gehe davon aus, dass 91.121.xx über das Internet zum Gateway 188.165.X.254 geleitet wird

Das Gateway benötigt dann eine Route für 91.121.xx, um zum VM-Host unter 188.165.XY zu gelangen

Dies bedeutet, dass der Datenverkehr, der versucht, auf 91.121.xx zu gelangen, auf Ihrem Xen-Server landet.

In der vorherigen Frage befanden sich alle Schnittstellen im selben Netzwerk und so konnte alles mit der Hauptschnittstelle verbunden werden - dies ist eine Schicht-2-Verbindung.

In diesem Fall befinden sich die Gäste jedoch in einem anderen Netzwerk als der Host. Wir brauchen eine Layer 3 - Routing - Verbindung.

Auf dem Host müssen zwei Dinge passieren

1) Es benötigt eine Schnittstelle im 91.121.xx-Netzwerk. 2) Es muss ein Router werden

Für (1) haben wir ein ähnliches Netzwerk-Setup wie zuvor, jedoch wird die physikalische Schnittstelle von der Bridge ferngehalten. Wir erstellen eine Bridge-Schnittstelle, mit der sich die virtuellen Maschinen verbinden können, geben ihr jedoch eine eigene Adresse, die von der eth0-Schnittstelle getrennt ist:

auto lo br0 eth0

iface lo inet loopback

iface br0 inet static
        bridge_ports none
        address 91.121.x.1
        netmask 255.255.255.0

iface eth0 inet static
       address 188.165.X.Y
       netmask 255.255.255.0
       network 188.165.X.0
       broadcast 188.165.X.255
       gateway 188.165.X.254

Sobald dies erfolgt ist, verfügt der Server über zwei Schnittstellen und kann als Router fungieren. Dies ist standardmäßig deaktiviert. Ändern Sie /etc/sysctl.confund stellen Sie sicher, dass die folgende Zeile nicht kommentiert ist:

 net.ipv4.ip_forward=1

Sie können dies vorübergehend über die Befehlszeile aktivieren. Die oben genannte Änderung ist jedoch erforderlich, um einen Neustart zu überstehen:

 sysctl -w net.ipv4.ip_forward=1

Der Server leitet nun Pakete, die auf eth0 ankommen und für 91.121.xx bestimmt sind, aus der br0-Schnittstelle weiter. Nun müssen wir die VMS mit dieser Schnittstelle verbinden. Dies ist genau so, wie Sie es normalerweise tun, der Vollständigkeit halber hier:

In der .cfg:

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

In der domU-Interface-Datei:

auto eth0
iface eth0 inet static
    address 91.121.A.B
    gateway 91.121.x.x (this is the dom0 br0 interface address)
    netmask 255.255.255.0

Sie können testen, 91.121.x.xob alle Funktionen auf der Bridge ordnungsgemäß funktionieren, indem Sie von domU an dom0 und von dom0 an 91.121.x.254domU pingen. Dann pingen Sie die dom0-Schnittstelle von domu aus an:188.165.X.Y

Der erste Ping zeigt an, dass die Brücke funktioniert, und der zweite Ping zeigt an, dass das Routing funktioniert.

Paul
quelle
Ich habe ein Problem mit diesem Setup entdeckt, bei dem einige IPs nicht mehr erreichbar sind. Ich habe eine andere Frage für die Lösung, hier . Wenn Sie das so nett prüfen würden, wäre das großartig.
Simon