OPNsense-Appliance

Hallo Michael,

dein Vorgehen unter Proxmox scheint mir umständlich, oder habe ich da was nicht kapiert?
Ich mache auf der Proxmox-Konsole ein:
qm importovf 100 lmn7-opnsense-2019mmtt.ovf local-lvm
und fertig ist die VM…

Grüße,
Stefan

2 „Gefällt mir“

Danke für den Tipp – kannte ich noch nicht und erspart einen Schritt Arbeit! Welche default-Hardware wird in diesem Fall unter Proxmox für die VM ausgewählt? Die üblichen Proxmox-Defaults oder das, was das Image vorgibt?

Hallo spruck,

willkommen bei lmn.net – und danke für Ihren Workaround bzgl. ova2ovf. Selbst unser IT-Dienstleister wusste da (zunächst) keine Antwort…

Beste Grüße
Josef

Hallo Michael,

sorry, mein letzter Versuch ist schon etwas her, müsste ich selbst erst wieder ausprobieren, welche Hardware er einstellt. Ist im Zweifelsfall ja aber schnell geändert.

Grüße,
Stefan

Hi @tjordan,

danke für die Info.

Hi @www.spruck-it.de,

Danke für diese Anleitung.

@tux

wenn wir schon bei Anleitungen auf dem konsolen-Niveau (nicht wertend gemeint) sind, möchte ich noch hinzufügen, dass die OVA-Dateien nichts anderes als ein TAR-Archiv sind. So entpackt man das und darin sind folgende Dateien:

 tar -xf lmn7-opnsense-20190319.ova
# ls lmn7-opnsense-20190319*
lmn7-opnsense-20190319-disk001.vmdk
lmn7-opnsense-20190319.mf
lmn7-opnsense-20190319.ova
lmn7-opnsense-20190319.ovf

man braucht also den vorgeschlagenen Konverter (zumindest standardmäßig unter Linux) nicht.
und enthält die OVF datei, ebenso wie die VMDK-Datei(en).
Die MF-Datei enthält die SHA1-Summen für die anderen beiden, so dass man verifizieren könnte ob das Entpacken korrekt war.

Wenn @www.spruck-it.de sagt, dass dann mit OVF und VMDK importieren alles läuft, dann ist ja gut.
Ich habe übrigens nicht entdecken können, wo ich in der OVF Datei ein relevantes „virtualbox“ durch „vmx-08“ ersetzen soll, bei mir steht nur an folgenden Stellen „virtualbox“:

 # grep -i virtualbox *.ovf
<Envelope ovf:version="1.0" xml:lang="en-US" xmlns="http://schemas.dmtf.org/ovf/envelope/1" xmlns:ovf="http://schemas.dmtf.org/ovf/envelope/1" xmlns:rasd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_ResourceAllocationSettingData" xmlns:vssd="http://schemas.dmtf.org/wbem/wscim/1/cim-schema/2/CIM_VirtualSystemSettingData" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:vbox="http://www.virtualbox.org/ovf/machine">
        <vssd:VirtualSystemType>virtualbox-2.2</vssd:VirtualSystemType>
      <ovf:Info>Complete VirtualBox machine configuration in VirtualBox format</ovf:Info>
          <GuestProperty name="/VirtualBox/HostInfo/GUI/LanguageID" value="de_DE" timestamp="1553008095884935000" flags=""/>

VG, Tobias

1 „Gefällt mir“

Hi Stefan,

vielen Dank für diese Info.
Wenn du gewillt und belustigt bist: wir suchen seit geraumer Zeit jemand, der eine Anleitung für Proxmox schreibt.

@Kai, @Maurice, ist da jemand von euch dran, oder wird dran sein?

Die Anleitung könnte sich ja auch mit der von KVM kurzschließen (mir).
@cweikl und ich würden uns für die Anleitung von xcp-ng und KVM auch so koordinieren, dass am Ende der Anleitung jeder ein ähnliches System und ähnliche Werkzeuge hat (einfaches Backup, management konsole, etc.)

VG, Tobias

Hi Michael,

das solltest du nochmal in einen extra Thread posten. Ich weiß nicht genau, was du machst und was du meinst.
VG, Tobias

Ok, ich packe das mit in den anderen Thread

Wir haben die Anleitung fertig und auch VM Templates dafür. Sende ich dir @Tobias noch zu

1 „Gefällt mir“

Hallo Tobias, www.spruck-it.de,

danke, eure Beiträge haben mir weitergeholfen, und ein einfacher

tar-Befehl

in Verbindung mit dem Ersetzen von

virtual-box durch vmx-08

in der .ovf -Datei funktioniert.
Ich denke hier war die Ersetzung von

<vssd:VirtualSystemType> virtualbox-2.2</vssd:VirtualSystemType> 

durch

<vssd:VirtualSystemType>vmx-08</vssd:VirtualSystemType>

von entscheidender Bedeutung. Ich habe allerdings vorsichtshalber alle Einträge mit “virtualbox” ersetzt.

1 „Gefällt mir“

Moin!

Release 20190724 der lmnv7-OPNsense-Appliance auf Basis von Version 19.7 ist verfügbar.

Hallo zusammen,

bei uns ist die Performance einer mit KVM virtualisierten OPNSENSE nicht gut. Vorher lief sie (bare metal) auf einem alten Pentium4-Server. Auf dem aktuellen XEON liegt die CPU-Auslastung über der des P4-Servers, verursacht durch IRQ und Prozesse, die mit der Netzwerkkarte zusammenhängen. Ein Wechsel von e1000 auf virtio brachte nur eine leichte Verbesserung.
Weiterhin regiert die OPNSENSE manchmal nicht auf Clients (Webseitenaufrufe, E-Mail-Abruf, …). Der lmnv7-Server läuft noch nicht; die Firewall bedient aktuell nur das WLAN (ohne Forward-Proxy).

Nutzt irgendjemand die OPNSENSE virtualisiert? Wie ist eure Performance? Falls in Ordnung: Welchen Virtualisierer und welche Einstellungen verwendet ihr für Netzwerkkarten, Link-Aggregation, VLANS, Netzwerk-Bridges?

Danke und viele Grüße
Fabian

Hallo Fabian,

die Virtualisierung ist bei mir auch KVM auf Basis von Ubuntu 16.04 Server. Bei mir dient OPNsense dazu, zwei Internetzugänge zu nutzen (Unitymedia 200MBit/s und T@School 16MBit/s - als Ausfallsicherheit). Intern sind virtualisiert der IPFire einer LMN6.2 und ein anderer IPFire für das Verwaltungsnetz angeschlossen. Alle drei Netzwerkkarten der virtuellen Maschine haben als Treiber „virtio“, die Verbindungen nach außen führen jeweils auf eine Bridge, die auf dem Virtualisierungshost angelegt wurden. Dazu gibt es 2GB RAM (kann sich bis 4GB nehmen, da genügend vorhanden ist) und einen Prozessorkern (Konfiguration vom Wirt übernommen -> Nehalem-IBRS). Einschränkungen in der Performance habe ich durch diese (zusätzliche) Firewall noch nicht bemerkt, wobei bei Traffic die Prozessorlast schon hoch geht auf ca. 50%.
Viele Grüße
Christian

Hallo Christian,

danke für die Infos! Bei uns ist die Konfiguration auf dem KVM-Host (Ubuntu 18.04 Server mit einem HASWELL-Kern für die VM):

4er-Link-Aggregation/Bond → VLAN-Interfaces → Bridge → OPNSENSE-VM

Die Performance ist eigentlich in Ordnung; nur die Auslastung ist recht hoch (~60%, komischerweise auf Kommandozeile abgefragt etwas weniger). Ich fürchte, dass die „Hänger“ an irgendetwas anderem liegen.

Nutzt irgendjemand Link-Aggregation/Bond ( 802.3ad mit LACP) in einer ähnlichen Konfiguration (mit VLANS und KVM) ohne Probleme? Falls ja, welche Parameter wurden noch in netplan gesetzt?

Viele Grüße
Fabian

P.S. Multi-WAN funktioniert nicht automatisch mit einem Content Cache für Apple Produkte. Hier kann man entweder einen Filter auf den IP-Adressbereich von Apple setzen, um nur einen Gateway und keine Gateway-Gruppe zu nutzen (einfach). Alternativ muss man ein paar TXT-Einträge im lokalen DNS ergänzen (unbound müsste das können, auch über die UI).

Ein Beitrag wurde in ein neues Thema verschoben: Setupproblem mit OpnSense und Server auf dem Blech

Hi @thomas,

Die IP der Firewall auf WAN-Seite will ich einerseits gar nicht über Port 443 offen haben (kann ich ja blockieren, weiß ich), aber andererseits will ich sinnvoller weise Port 443 nutzen, weil ich so mein DNS gelenkt habe. DAher habe ich der OPNsense-Appliance einen anderen https-Port für die Administration gegeben (444) und prompt geht natürlich etwas schief, ich hätte es also nicht machen dürfen:
linuxmuster-import-subnets

#### Downloading firewall configuration:                                  ####
#### * Download finished successfully.                                    ####
#### * Saved changed config.                                              ####
#### Uploading firewall configuration:                                    ####
#### * Upload finished successfully.                                      ####
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/urllib3/connection.py", line 141, in _new_conn
    (self.host, self.port), self.timeout, **extra_kw)
  File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 83, in create_connection
    raise err
  File "/usr/lib/python3/dist-packages/urllib3/util/connection.py", line 73, in create_connection
    sock.connect(sa)
TimeoutError: [Errno 110] Connection timed out  

During handling of the above exception, another exception occurred:

snip, weiter unten

urllib3.exceptions.MaxRetryError: HTTPSConnectionPool(host='firewall.linuxmuster.humboldt-gymnasium.ka.schule-bw.de', port=443): Max retries exceeded

Gibt es Möglichkeiten für Otto-Normalverbraucher (der z.B nur eine IP hat), oder ist der http und https Port der Firewall einfach tabu?
Mir fällt natürlich die Möglichkeit ein, dass man einen reverseproxy auf der Firewall nutzt, der „firewall.meineschule.de“ und „anderes.meineschule.de“ umleitet. Aber muss das unbedingt noch zusätzlich sein? Ich gehe eher davon aus, dass die, die einen reverseproxy installieren ihn jetzt eher hinter der firewall in einer DMZ installieren (docker etc.)

EDIT: nach einem kurzen Test: linuxmuster-import-devices ist nicht betroffen. Ob die WebUI oder sohpomorix aber das machen, k.A.

VG, Tobias

Warum gehst du davon aus? Ich finde es auch sehr viel sinnvoller, wenn der Rev.Proxy direkt auf der OPNSense Firewall liefe… docker bringt zusätzliche Komplexität…

Hallo Michael,

Stimmt natürlich, aber das ist eine andere Diskussion. Hier bin ich mir nicht einmal sicher, ob es funktioniert den reverse proxy so zu konfigurieren, dass es klappt, dass man firewall.meine-schule.de, moodle.meine-schule.de, cloud.meine-schule.de, buchen.meine-schule.de von intern aufrufen kann und richtig ankommt (so dass die import-skripte funktionieren) und von außen soll alles außer firewall.meine-schule.de richtig ankommen. Das wäre doch, was man von der Logik her will.
Und dich LE-ZErtifizierung muss dann auch klappen (z.B. dass auch Port 80 für diese Hosts offen bleibt, oder man muss wildcard zertifikate machen, oder DNS-01)
VG, Tobias

Das wären schon wichtige Infos zu wissen,… also konkret an die Entwickler: kann man oder muss man den Rev Proxy als docker Container laufen lassen. Anders gefragt: geht es auch direkt auf der OPNSense Firewall???

genau das ist meine Frage: den WEb-443-Zugriff auf die Firewall braucht zumindest ein entwicklerskript. D.h. die Frage ist, ob man OpnSense als Reverse Proxy laufen lassen kann. Wenn die Entwickler allerdings das nicht wissen, dann nur, weil man es für den Regelbetrieb ohne Reverse Proxy ja auch nicht braucht. Es könnte ja gut sein, dass die für alles was von extern zugänglich sein muss, eine andere externe IP verwendet wird.
VG, Tobias