Einleitung:
Dieses HowTo geht davon aus, dass der Internetzugang von VMs über DOM0 und das private LAN mit der Bridge-Methode erfolgt. In den vorherigen Versionen der Xen-Installation wurden die Bridges dynamisch über die Xen-Skripte aufgebaut, in dieser Version werden die Bridges permanent aufgebaut, wenn DOM0 hochfährt.DOM0:xenbr0(eth0) ---bridging==>> DOMUs:eth0
DOM0:pdummy0(dummy0) ---bridging==>> DOMUs:eth1
WICHTIG: Wenn Sie Xen auf einem dedizierten Server von Hetzner (Deutschland) installieren und nur die verfügbaren (maximal 3) IPs für die DOMUs verwenden, müssen Sie sicherstellen, dass Sie eine MAC-Adresse für jede DOMU-IP auf der Hetzner-Roboter-Site von Ihnen generieren verwenden Sie dann diese MAC-Adresse in Ihrer DOMU Xen-Konfiguration. Wenn Sie ein Subnetz mit 8 IP oder mehr im Hetzner-Server für DOMUs verwenden, würde diese Bridging-Methode nicht funktionieren. Befolgen Sie stattdessen die hier angezeigten Anweisungen:https://wp.me/pKZRY-F9
Installieren Sie Xen Hypervisor und einige nützliche Tools apt-get install xen-hypervisor-4.4-amd64 xen-utils-4.4 bridge-utils ethtool iptables
Einige zusätzliche Vorbereitungen
Da jede virtuelle Festplatte mit einem Loop-Gerät gemountet werden muss, müssen wir sicherstellen, dass genügend davon im System verfügbar sind.
Bearbeiten Sie die Datei /etc/modules und fügen Sie hinzu:loop max_loop=64
dummy
Wir müssen auch die IPv4-Weiterleitung im Kernel aktivieren.
Bearbeiten Sie die Datei /etc/sysctl.conf (um Zeile 44 herum) aktivieren Sie die Zeile, indem Sie das ‚#‘ wie folgt entfernen:net.ipv4.ip_forward=1
Führen Sie den folgenden Befehl aus, um es zu aktivieren:sysctl -p /etc/sysctl.conf
KONFIGURIEREN DES NETZWERKS in DOM0
Basierend auf den obigen IP-Annahmen ist hier der Inhalt der Datei /etc/network/interfaces .# Internet Access nterface
auto xenbr0
iface xenbr0 inet static
address 85.114.145.5
netmask 255.255.255.0
network 85.114.145.0
broadcast 85.114.145.255
gateway 85.114.145.1
bridge_ports eth0
#
auto eth0
iface eth0 inet manual
#
# Internal LAN between VMs and DOM0
auto pdummy0
iface pdummy0 inet static
address 192.168.100.1
netmask 255.255.255.0
bridge_ports dummy0
#
auto dummy0
iface dummy0 inet manual
Um sicherzustellen, dass Xen-Skripte nicht die normalen Bridges erstellen, wenn ein DOMU gestartet wird, müssen wir diesen Prozess verhindern, indem wir:
die Datei /etc/xen/xend-config.sxp bearbeiten und ändern Sie die Zeile:(um Zeile 176)
FROM:(network-script network-bridge)
TO:(network-script none)
reboot
Konfigurieren der DOMUs
DOMUs-Konfiguration
PyGRUB
Wenn Ihre DOMUs-Konfigurationen so eingestellt sind, dass sie Pygrub als Bootloader verwenden,
dann stellen Sie sicher, dass der Pfad zu Pygrub in der DOMU-Konfigurationsdatei wie folgt korrekt ist:bootloader = '/usr/lib/xen-4.4/bin/pygrub'
Stellen Sie in derselben DOMU-Konfigurationsdatei sicher, dass Sie eine nicht duplizierte MAC-Adresse mit der Netzwerkschnittstellenzuweisung verwenden, und definieren Sie die Brücke, die von dieser DOMU verwendet wird, zum Beispiel:vif = [ 'ip=46.7.178.112,mac=00:16:34:D7:9C:12,bridge=xenbr0', 'ip=192.168.100.112,mac=00:16:3E:D7:1C:12,bridge=pdummy0' ]
HINWEIS: Wenn Sie PyGRUb nicht verwenden und es als Bootloader für jede einzelne DOMUs verwenden möchten, wodurch der DOMUs-Kernel unabhängig von DOM0 wird, lesen Sie den folgenden Artikel. Bitte beachten Sie, dass in Ubuntu 14.04 der Pfad zu Pygrub anders ist als im Artikel. Jede neue Version von Xen hat einen anderen Pfad zu PyGRUB. Der Rest des Artikels ist auch für Ubuntu völlig korrekt.
http://tipstricks.itmatrix.eu/?s=pygrub&x=0&y=0
DOMus-Netzwerkkonfiguration
Jede DOMU erhält ein Interface lo und eth0 mit folgender Konfiguration:
Ich verwende die erste IP unseres Subnetzes für diese DOMU und werde daher wie folgt konfiguriert:
Hinweis:Diese Konfiguration ist nicht wirklich Standard da es jede IP mit der Netzmaske /32 (255.255.255.255) verwendet.
Diese Einstellung ermöglicht, dass jede IP des Subnetzes von jedem DOMU verwendet werden kann.
Datei:/etc/network/interfaces
Inhalt:# The loopback network interface
auto lo
iface lo inet loopback
#
# The primary network interface
auto eth0
iface eth0 inet static
address 46.7.178.112
netmask 255.255.255.255
gateway 46.7.178.1
#
# The internale LAN interface(will be connected to pdummy0 on DOM0)
auto eth1
iface eth1 inet static
address 192.168.100.112
netmask 255.255.255.0