ne:virtualisierte_testumgebung
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
ne:virtualisierte_testumgebung [2015/10/02 15:04] – [Nützliche Befehle:] admin | ne:virtualisierte_testumgebung [2024/03/26 11:40] (aktuell) – [Virtualisierte Testumgebung] admin | ||
---|---|---|---|
Zeile 3: | Zeile 3: | ||
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. | 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 und iocage===== | ||
- | |||
- | PCBSD bietet in Version 10.2 mit iocage eine bequemen Verwaltung der Jails ('' | ||
- | Leider wird nur ein gemeinsam genutzter Netzwerkstack angeboten (shared networking). | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
- | :!: **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. | + | |
+ | | ||
+ | * [[xen: | ||
- | ==== VLANs ==== | ||
- | Auf dem Jail Host werden die VLANs in '' | + | ==== Mininet ==== |
- | vlans_em0=" | + | |
- | ifconfig_em0=" | + | * [[ne: |
- | ifconfig_em0_10=" | + | |
- | ifconfig_em0_20=" | + | |
- | ifconfig_em0_30=" | + | |
- | + | ||
- | Anschließend wird das Netzwerk mit dem folgenden Befehl neu gestartet: | + | |
- | + | ||
- | <code bash> | + | |
- | | + | |
- | </ | + | |
- | + | ||
- | Eventuell muss noch der VLAN Support im Kernel aktiviert werden (''/ | + | |
- | | + | |
- | ==== Jails verwalten mit '' | + | |
- | + | ||
- | Die Anleitung folgt lose den hier beschriebenen Schritten | + | |
- | + | ||
- | Herunterladen des BSD-Images des neuen Jails: | + | |
- | # iocage fetch | + | |
- | + | ||
- | Erzeugen des neuen Jails '' | + | |
- | # iocage create tag=vlan10 | + | |
- | + | ||
- | Hostname des Jails festlegen: | + | |
- | # iocage set hostname=vlan10 vlan10 | + | |
- | + | ||
- | Festlegen der IPv4-Adresse: | + | |
- | # iocage set ip4_addr=" | + | |
- | + | ||
- | Festlegen des Default Gateway(funktioniert leider nur für VIMAGE, ist also nutzlos): | + | |
- | # iocage set defaultrouter=" | + | |
- | + | ||
- | # 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: | + | |
- | + | ||
- | ==== 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 VIMAGEs besitzen einen kompletten eigenen Netzwerkstack, | + | |
- | Insbesondere wird auch Multicast (senden und empfangen) unterstützt. | + | |
- | + | ||
- | Die '' | + | |
- | + | ||
- | ==== 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, | + | |
- | + | ||
- | Jail VLAN_10 Interface '' | + | |
- | Jail VLAN_20 Interface '' | + | |
- | Jail VLAN_30 Interface '' | + | |
- | Jail VLAN_40 Interface '' | + | |
- | + | ||
- | - Zuerst müssen die '' | + | |
- | <code bash> | + | |
- | ifconfig bridge0 deletem epair0a deletem epair1a deletem epair2a deletem epair3a | + | |
- | </ | + | |
- | - Als nächstes erhöhe ich mal vorsorglich die MTU auf dem echten Ethernet Interface (wg. der VLAN-TAGs) | + | |
- | <code bash> | + | |
- | ifconfig re0 mtu 1530 | + | |
- | (ifconfig re0 up) | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | - Für jedes VLAN erzeugen wir jetzt eine eigene Bridge und hängen das jeweilige '' | + | |
- | + | ||
- | <code bash> | + | |
- | ifconfig bridge1 create | + | |
- | ifconfig bridge1 addm epair0a addm vlan10 | + | |
- | ifconfig bridge1 up | + | |
- | ifconfig vlan10 up | + | |
- | </ | + | |
- | + | ||
- | + | ||
- | ==== Nützliche Befehle: ==== | + | |
- | + | ||
- | '' | + | |
- | '' | + |
ne/virtualisierte_testumgebung.1443798286.txt.gz · Zuletzt geändert: 2017/01/24 18:49 (Externe Bearbeitung)