KVM + Networking und Netfilter

Alle weiteren Dienste, die nicht in die drei oberen Foren gehören.
Antworten
FlorianWi
Beiträge: 18
Registriert: 20.08.2008 20:22:12

KVM + Networking und Netfilter

Beitrag von FlorianWi » 03.06.2011 17:00:37

Hallo zusammen,

ich spiele aktuell mit einem KVM Setup herum, bisher hat alles ganz gut funktioniert und
ich bin auch soweit zufrieden, allerdings beschäftigt mich eine Frage, auf die ich jetzt
keine eindeutige Antwort gefunden habe.

Die Frage ist, was wäre das idela Netzwerksetup.

Der Server soll VM-Server dienen, die VMS sollen über offizielle IPs verfügen, sprich kein
NAT. Ich habe im aktuellen Setup einfach eine bridege (br0) angelegt udn dieser ein phys.
Interface hinzugefügt, welches Zugang zum Internet hat (offizielle IP).

Detail (Shema).

eth0 (HOST) - IP 1.2.3.2/28 - GW 1.2.3.1/28 -> br0
br0 - VM1 -> 1.2.3.3/28
br0 - VM2 -> 1.2.3.4/28
...

Von der Funktion her ist alles ok, ich bin mir nur unsicher ob das so optimal ist.

Ein weiteres größeres Problem ist der Einsatz von netfilter/firewalling. Zu diesem
Thema findet man ja einige Beiträge im Netz. Hier gibts ja, wenn ich das richtig
verstanden habe 2 Möglichkeiten, zum einen Ich deaktiviere Firewalling für das
bridge Interface und lasse damit allen Traffic durch. Die andere Variante ich erlaube
einfach alles an Traffic was durch die Bridge will (Das hat ja ein Security Nachteil,
den ich allerdings nicht so ganz checke).

Ich hab dann ein wenig gespielt und habe Firewalling für die Bridge deaktiviert.
und mittesl virsh und libvirt nwfilter erstellt.

Code: Alles auswählen

<filter name='test'>
	
	<filterref filter='clean-traffic' />
	
	<!-- INPUT SSH -->
	<rule action='accept' direction='in'>
		<tcp dstportstart='22' />
	</rule>
	
	<!-- INPUT HTTP -->
	<rule action='accept' direction='in'>
		<tcp dstportstart='80' />
	</rule>
	
	<!-- OUTPUT ICMP & DNS -->
	<rule action='accept' direction='out'>
		<icmp/>
	</rule>
	
	<rule action='accept' direction='out'>
		<udp dstportstart='53' />
	</rule>
	
	<!-- DROP THE REST -->
	<rule action='drop' direction='inout'>
		<all/>
	</rule>
	
</filter>

Davon mal abgesehen, dass es dann noch ein Prolem mit libpcap gibt
wurde das Ruleset akzeptiert, dann hab eich das ganze noch mit <filterref />
im Gastsystem eingebunden. Die VM startet und die Rules werden aktiv geschaltet.

Aber oh wunder:

1) Netfilter inaktiv auf der Bridge -> Rules des Gastsystems greifen nicht
2) netfilter aktiv auf der Bridge -> Keine Kommunikation mit dem Gastsystem möglich, auch nicht auf den freigegebenen Ports

Hat hier jemand von euch Erfahrungswerte und evtl. einen Tipp für mich?

Gruß

Benutzeravatar
unitra
Beiträge: 646
Registriert: 15.06.2002 21:09:38
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: 127.128.129.130

Re: KVM + Networking und Netfilter

Beitrag von unitra » 17.06.2011 17:47:10

Hi,

zu dem Filter kann ich Dir nichts sagen.
Zu deinem Netzwerksetup kann ich dir wohl was sagen.

Konfiguriere nichts was du selbst nicht verstehst, oder nicht betreiben kannst, oder nicht jemanden hast den Du schnell mal was fragen kannst, wenn was passiert.

Du könntest das Host System Management (Zugriff auf das Host system) über eine separate NIC realisieren. z.b. eth1. Da hast du das Sicherheits Problem bereits auf Layer 1 gelöst. Keiner kann deine Zugriffe abhorchen auf den VM's da das Management es über eine andere Netzwerkkarte läuft.
Die VM's würden dann über eth0 laufen, und Zugriff auf das Host system über eth1.

Auf Layer 3 (IP) könntest du die Netze segmentieren soweit ich es sehe hast du ein /28 -er Netz zur Verfügung.
Dann 2 /30-er Transfer Netze, und ein /29-er oder gleich 4 /30-er Netze, wobei die IP Adressen dann knapp werden.

Der Vorteil jede VM sprich nur mit ihrem eigenem Gateway, kleine Broadcastdomänen. Die Broadcastdomänen enden an dem default gateway. Sprich keine Direkte Kommunikation zwischen den einzelnen VM's möglich,nur noch über das Gateway. Nachteil das Interface (eth0) wo die VM's angeschlossen sind muss entsprechend viel mehr Traffic hin und her transferieren, falls von einer VM zur anderen VM Kommunikation besteht.

Access Listen (IP Access Listen) nur zugelassene IP Adressen können auf das HOST System zugreifen.

Aber nicht vergessen: Keep It Simply Stupid

Antworten