iptables & libvirt/virsh
Hi,
mit kvm/libvirt-bin habe ich ein paar virtuelle Maschinen konfiguriert.
Diese laufen in einem virtuellen Netzwerk.
$ sudo virsh net-dumpxml default
<network>
<name>default</name>
<uuid>0c2cb263-e12b-8bf5-54af-1da612561cc0</uuid>
<forward mode='nat'/>
<bridge name='virbr0' stp='on' delay='0' />
<ip address='192.168.122.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.122.2' end='192.168.122.128' />
</dhcp>
</ip>
</network>
Das legt dann auch wegen NAT ein paar iptables Regeln an. Funktioniert
auch gut. Das Problem ist, dass ich auch gerne ein paar weiter Regeln
pflegen will (z. B. mit ferm oder etwas ähnlichem).
Wie bekommt man es nun hin, dass sich die beiden nicht gegenseitig auf
die Füsse treten? Lade ich zum Beispiel mit ferm das Ruleset neu, sind
die Regeln von libvirt weg.
Lösungsansätze hätte ich einige, komme aber bei keinem wirklich weiter:
a) Ich kann dem virsh irgendwie sagen, dass es mir die
iptables-regeln ausspucken soll, so dass ich sie nach einem
ferm-lauf wieder ausführen kann:
Sowas in der art: virsh iptable-rules | sh
Sowas habe ich aber nicht gefunden.
b) virsh net-destroy default
firm
virsh net-start default
Das Problem hier ist, dass eine laufende VM danach nicht mehr
erreichbar ist, wenn man ihr das virbr0 unter dem hintern
weggezogen hat.
Wenn es eine Möglichkeit gibt diese VM wieder hinter das neu
generierte virbr0 zu bekommen, nehme ich auch das.
c) Dem libvirt irgendwie sagen, dass es seine Regeln in eine eigene
Chain schreibt, und in firm springe ich an geeigneter Stelle in
diese Chain.
Auch hier habe ich keine Lösung gefunden.
d) Es gibt bereits irgendwas ähnliches wie firm, das mit libvirt
zusammenarbeitet.
Ideen?
Schöne Grüße,
kurt
Reply to: