Benutzer-Werkzeuge

Webseiten-Werkzeuge


ne:virtualisierte_testumgebung

Dies ist eine alte Version des Dokuments!


Virtualisierte Testumgebung

Ziel der virtualisierten Testumgebung ist es Netzwerktests von Anwendungen über mehrere Router hinweg durchzuführen. Dazu soll sich jedes virtuelle System in einem andere Subnetz befinden und die Möglichkeit bieten Client und Serverprogramme laufen zu lassen.

Jails bieten die Möglichkeit einer leichtgewichtigen Virtualisierung. Es ist möglich den Netzwerkverkehr von Jails per VLAN zu taggen und über einen Trunk-Port auf einem Switch an die entsprechenden Router zu leiten. Nach mehreren Versuchen wurde ein erfolgreiches Setup mit FreeNAS 9.3.1 realisiert.

PCBSD 10.2

PCBSD bietet in Version 10.2 mit iocage eine bequemen Verwaltung der Jails (warden wird nicht mehr unterstützt). Leider wird nur ein gemeinsam genutzter Netzwerkstack angeboten (shared networking).

:!: Problem: Das Setup funktioniert damit nur für Unicast. Multicast-Verkehr wird in der Standard-Kernel-Konfiguration nicht an die Jails weitergeleitet. Dazu müsste die Netzwerkvirtualisierung VIMAGE/VNET in den Kernel kompiliert werden, wovon aber aus Stabilitätsgründen abgeraten wird.

VLANs

Auf dem Jail Host werden die VLANs in rc.conf konfiguriert. Die MTU des Parent-Inferfaces sollte erhöht werden, um Platz für den VLAN-Tag zu schaffen PCBSD-Forum :

  vlans_em0="10 20 30"
  ifconfig_em0="mtu 1530"
  ifconfig_em0_10="inet 10.0.10.2 netmask 255.255.255.0"
  ifconfig_em0_20="inet 10.0.20.2 netmask 255.255.255.0"
  ifconfig_em0_30="inet 10.0.30.2 netmask 255.255.255.0"

Anschließend wird das Netzwerk mit dem folgenden Befehl neu gestartet:

   $ /etc/rc.d/netif restart

Eventuell muss noch der VLAN Support im Kernel aktiviert werden (/boot/loader.conf) Link1, Link 2 (bin mir aber nicht sicher, ob es nicht trotzdem geht):

  if_vlan_load="YES"

Jails verwalten mit ''iocage''

Die Anleitung folgt lose den hier beschriebenen Schritten Externer Link

Herunterladen des BSD-Images des neuen Jails:

  # iocage fetch

Erzeugen des neuen Jails vlan10:

  # iocage create tag=vlan10

Hostname des Jails festlegen:

  # iocage set hostname=vlan10 vlan10

Festlegen der IPv4-Adresse:

  # iocage set ip4_addr="em0.10|10.0.10.2/24" vlan10

Festlegen des Default Gateway(funktioniert leider nur für VIMAGE, ist also nutzlos):

  # iocage set defaultrouter="10.0.10.1" vlan10
  # iocage set allow_raw_sockets=1 vlan10

Jails benutzen

Verfügbare Jails anzeigen:

  # iocage list

Mit chroot in das Datei-Verzeichnis des Jails wechseln, ohne das Jail zu starten:

  # iocage chroot UUID | TAG

Jails werden nicht automatisch gestartete (muss in rc.d konfiguriert werden).
Jail manuell starten:

  # iocage start UUID | TAG

Auf ein laufendes Jail zugreifen:

  # iocage console UUID | TAG

Jail stoppen:

 # iocage stop UUID | TAG

Jail zerstören:

 # iocage destroy UUID | TAG

iocage Dokumentation: Externer Link

Firewall konfigurieren

Die Firewall wird benötigt um die Pakete des Jail-Hosts in das richtige VLAN zu forwarden, da diese sonst teilweise im falschen VLAN landen, bzw. direkt über das Loopback-Interface zugestellt werden.

FreeNAS 9.3.1

Installation

:!: Achtung: bei der Installation von FreeNAS ist zu beachten, dass mind. 8GB RAM vorhanden sein sollten. Des weiteren ist zwingend eine zweite Festplatte nötig (Betriebssystem + Speicher). Die Installation auf einem 8GB USB-Flash-Stick hat nicht funktioniert (weder als BS, noch als Speicher). Eine USB-Festplatte als Speicher-Volume hat dann aber funktioniert.

Die VLANs und Jails wurden über die Weboberfläche erzeugt (standardmäßig als VIMAGE). Die epairXa Interfaces der Jails werden dabei automatisch zur Bridge0 hinzugefügt. Derzeit scheint es keine Möglichkeit der Konfiguration der Bridges über das Web-Interface zu geben.

CLI-Konfiguration

Nachfolgend sind die Befehle auf der Kommandozeile dargestellt um die gewünschte Netzkonfiguration herzustellen. Das Setup benutzt 4 VLANS mit den IDs (10,20,30,40).

ifconfig bridge0 deletem epair0a deletem epair1a deletem epair2a deletem epair3a
 
ifconfig re0 mtu 1530
(ifconfig re0 up)

Konfiguration pro VLAN:

ifconfig bridge4 create
ifconfig bridge4 addm epair3a addm vlan40 
ifconfig bridge4 up
ifconfig vlan40 up

Hinweise:

epair0a - VLAN 10
epair1a - VLAN 20
epair2a - VLAN 30
epair3a - VLAN 40

jls - listet die derzeitigen Jails jexec 4 /bin/tcsh - startet eine Shell in Jail mit ID 4

Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
ne/virtualisierte_testumgebung.1442521583.txt.gz · Zuletzt geändert: 2017/01/24 18:49 (Externe Bearbeitung)