[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: