Private Versuche-Xen aufsetzen auf Laptop

From revampedia

Ich habe zu Hause einen Laptop übernehmen können, der nicht uralt ist und somit wollte ich dort auch das gelernte ausprobieren. Die Schwierigkeit an dem Gerät ist, dass es nur über WLAN verfügt und keinen Ethernet-Anschluss hat.
Es handelt sich hier um Ergänzungen zur Schulung um Server mit Xen aufzusetzen, weil es ein wenig abweicht vom Dokument das ich dazu erstellt habe. jr

Falls noch Fragen offen sind nach dieser Anleitung bitte oben bei "Ansichten" auf "Diskussion" gehen und Feedback hinterlassen, dass ich noch weitere Details hinzufügen kann. jr

Ich habe zuerst probiert nach der Anleitung die Bridge zwischen wlan0 und xenbr0 zu erstellen. Nach Neustart musste ich jedoch feststellen, dass ich keine Internet-Verbindung mehr hatte. Es musste also eine andere Lösung her. Durch Unterstützung von unserem Lehrer in der Schulung haben wir ein neues Interface mit dem Namen dummy0 erschaffen. Dazu muss man den folgenden Befehl ausführen:

nano /etc/modules

Die Datei war bei mir noch leer und als Text musste man lediglich "dummy" einfügen:

dummy

Dann kann man wie bei der Schulung die Interface-Einstellungen anpassen gehen:

nano /etc/network/interfaces
iface dummy0 inet manual

auto xenbr0

iface xenbr0 inet static
            address 172.16.1.1
            netmask 24
            bridge_ports dummy0

Ich bin mir nicht sicher ob die nächsten zwei Zeilen notwendig sind oder ob man direkt zur dritten Zeile gehen kann und die Maschine neu starten.

ifup dummy0
ifup xenbr0
reboot

Nach dem Neustart gehen wir in das folgende Verzeichnis:

cd /etc/sysctl.d/

Dort wollen wir eine neue Datei erstellen. Den Namen kann man sich teilweise frei wählen. Es erwartet eine Nummer um die Reihenfolge zu bestimmen, doch den Rest kann man so wählen, dass es für einen Sinn macht.

nano 98-ipv4_forward.conf

In der Datei müssen wir den folgenden Text einfügen:

net.ipv4.ip_forward=1

Um diese neue Einstellung zu Aktivieren benötigt es einen Befehl. Dieser lautet:

sysctl -p 98-ipv4_forward.conf

Damit haben wir dem Computer gesagt, dass er IPv4 Pakete weiterleiten darf. Dass er auch noch in der Lage ist mit den virtuellen Maschinen in Zukunft kommunizieren zu können braucht es noch weitere Befehle. Wir wollen also dem Computer beibringen, welches Netz sich bei xenbr0 befindet. Das Programm dafür ist iptables Man Page zu iptables

iptables --table nat --append POSTROUTING --jump MASQUERADE  --source 172.16.0.0/12

Also müssen wir auch erlauben, dass die IPv4-Pakete vom dummy-Interface zum WLAN geleitet werden über

iptables -A FORWARD -i dummy0 -o wlan0 -j ACCEPT

und für die Gegenrichtung ebenfalls

iptables -A FORWARD -i wlan0 -o dummy0 -m state --state ESTABLISHED,RELATED -j ACCEPT
  • Muss noch überarbeiten was es hier genau macht
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
  • Muss noch überarbeiten was es hier genau macht, da ich gerade auf der Arbeit bin und den Laptop nicht mit mir habe um nachzuschauen was es macht und auf der VM die ich hier für Testzwecke nutze gibt es /etc/network/nat nicht.
iptables-save > /etc/network/nat
in /etc/network/interfaces
       up iptables-restore < /etc/network/nat


Da ich zu Hause keinen DHCP-Server habe wird es bei xen-create-image notwendig sein die IP Adresse manuell zu konfigurieren: --ip=172.16.1.x --netmask=255.240.0.0 --gateway=172.16.1.1

Die ganze Befehlszeile sieht dannn so aus:

xen-create-image --hostname=dhcps --memory=1gb --vcpus=1 --ip=172.16.1.2 --netmask=255.240.0.0 --gateway=172.16.1.1 --lvm=vg01 --dist=jessie --partitions=/etc/xen-tools/partitions.d/dhcps --pygrub --verbose --password=********

Auf meiner neu erstellen VM funktioniert die DNS Auflösung nicht. Ich musste feststellen, dass mein ISP für die DNS IPv6 Adressen verwendet. Für IPv6 habe ich jedoch keine Einstellungen gemacht und kenne mich auch zuwenig damit aus um es zum Laufen zu bringen. Also war die einfachste Lösung andere DNS Server einzutragen und IPv6 zu deaktivieren.
Um die DNS Server anzupassen gehen wir in die folgende Datei zum Editieren:

nano /etc/resolv.conf

Die vorhandenen Einträge habe ich durch die Public DNS Server von Google ersetzt:

   nameserver 8.8.8.8
   nameserver 8.8.4.4

Um IVv6 zu deaktiveren braucht es eine neue Regel in /etc/sysctl.d/. Also erstellen wir die mit

nano /etc/sysctl.d/97-disable_ipv6

Den Text den wir dort einfügen ist das folgende:

net.ipv6.conf.all.disable_ipv6=1
net.ipv6.conf.default.disable_ipv6=1
net.ipv6.conf.lo.disable_ipv6=1

Um die neue Regel zu aktivieren benötigt es die nächste Zeile:

sysctl -p /etc/sysctl.d/97-disable_ipv6