oioiii wrote:Danke jfreund!
Gern geschehen - hab vorletztes Wochenende selbst eine Weile gepopelt, bis es funktioniert hat.
oioiii wrote:Hatte es fast schon soweit, allerdings hab ich das subnet mit vif-bridge erstellt und dadurch kein Routing(vif-route) mehr für die öffentlichen IPs.
Aber mit Deiner Lösung funktioniert es einwandfrei.
vif-Skripte mischen funktioniert nicht (richtig), da der Xend dann durcheinander kommt (hab ich jedenfalls bei mir schon festgestellt). Was Du aber machen kannst: Eigene Hook-Skripte schreiben, die dann das Netzwerk-Setup z. B. in Abhängigkeit der angegebenen IP-Adressen unterschiedlich aufbauen.
oioiii wrote:Demnach müsste es ja auch möglich sein das Routing per Hand zu erstellen und das Subnet über vif-bridge zu lösen?
Ich glaube, jetzt bringst Du etwas durcheinander. vif-bridge setzt voraus, dass die betroffenen DomUs eine öffentliche IP haben, für die eine passende Route außerhalb des Xen-Rechners definiert wurde. Natürlich kannst Du das Routing auch per Hand erledigen, vif-route setzt ja bloß entsprechende Routen beim Start der DomU und löscht sie wieder, wenn die DomU beendet wird. Mit
route -n kannst Du Dir die bestehenden Routen anschauen, wenn die DomU mit vif-route gestartet wurde. Das kannst Du dann natürlich manuell nachahmen...
oioiii wrote:Noch was zum Verständnis: Was ist der Unterschied zwischen bridge und dummy?
bridge verbindet zwei Netzwerk-Interfaces im selben Rechner und sorgt dafür, dass diese auf unterster Ebene des IP-Stacks (Layer 2) im Kernel Pakete untereinander austauschen können, als wären sie mit einem Kabel verbunden (stark vereinfacht gesprochen). dummy hingegen stellt (virtuelle) Netzwerk-Interfaces bereit, die sich dann in eine Bridge einbeziehen lassen. In dem von mir beschriebenen Setup wird das bridge-Modul aber nicht benötigt, da die phyischen und virtuellen Interfaces in Dom0 nicht auf Layer 2, sondern auf Layer 3 gekoppelt wurden. Diese Technik ist unter dem Begriff Routing / IP-Forwarding bekannt. Diese Funktionalität ist im Debian-Xen-Kernel fest einkompiliert und benötigt daher kein zusätzliches Kernel-Modul. Mit
brctl show kannst Du Dich übrigens selbst davon überzeugen, dass bei Dir keine Bridge angelegt wurde (es sei denn, Du verwendest irgendwo vif-bridge - dann müsste zumindest eine Bridge namens xenbr0 existieren).