Software-update: OPNsense 24.1

OPNsense logo (79 pix) Het pakket OPNsense is een firewall met uitgebreide mogelijkheden. Het is gebaseerd op het besturingssysteem FreeBSD en is oorspronkelijk een fork van m0n0wall en pfSense. Het pakket kan volledig via een webinterface worden ingesteld en heeft onder andere ondersteuning voor mfa, OpenVPN, IPsec, CARP en captive portal. Daarnaast kan het packetfiltering toepassen en beschikt het over een traffic shaper. De ontwikkelaars hebben OPNsense 24.1 uitgebracht en de releasenotes voor die uitgave kunnen hieronder worden gevonden.

OPNsense 24.1 released

For more than 9 years now, OPNsense is driving innovation through modularising and hardening the open source firewall, with simple and reliable firmware upgrades, multi-language support, fast adoption of upstream software updates as well as clear and stable 2-Clause BSD licensing.

24.1, nicknamed "Savvy Shark", features ports-based OpenSSL 3, Suricata 7, several MVC/API conversions, a new neighbor configuration feature for ARP/NDP, core inclusion of the os-firewall and os-wireguard plugins, CARP VHID tracking for OpenVPN and WireGuard, functional Kea DHCPv4 server with HA support plus much more.

Here are the full patch notes against 23.7.12:
  • system: prevent activating shell for non-admins
  • system: add OCSP trust extensions and improved authorities implementation
  • system: migrate single gateway configuration to MVC/API
  • system: use new backend streaming functionality in the log viewer
  • system: limit file system /conf/config.xml and backups access to administrators
  • system: migrate gateways model to match new class introduced in 23.7.x
  • system: refactor get_single_sysctl()
  • system: update cron model
  • system: fix migration issue in new gateways model
  • system: handle case insensitivity while reading groups
  • system: shuffle authentication templates to the end of login configuration
  • system: add "maxfilesize" option to enforce a log rotate when files exceed their limit
  • reporting: print status message when Unbound DNS database was not found during firmware upgrade
  • reporting: update NetFlow model
  • interfaces: implement new neighbor configuration for ARP and NDP entries using MVC/API
  • interfaces: refactor interface_bring_down() into interface_reset() and interface_suspend()
  • interfaces: migrate the overview page to MVC/API
  • interfaces: add optional local/remote port to VXLAN
  • interfaces: remove unused code from native dhclient-script
  • interfaces: do not flush states on clear event
  • firewall: add automation category for filter rules and source NAT using MVC/API, formerly known as os-firewall plugin
  • firewall: migrate NPTv6 page to MVC/API
  • firewall: add a track interface selection to NPTv6 as an alternative to the automatic rule interface fallback when dealing with dynamic prefixes
  • captive portal: fix integer validation in vouchers
  • captive portal: update model
  • dhcp: clean up duplicated domain-name-servers option
  • dhcp: cleanup get_lease6 script and fix parsing issue
  • dhcp: add Kea DHCPv4 server option with HA capabilities as an alternative to the end of life ISC DHCP
  • dhcp: deduplicate records in Kea leases
  • intrusion detection: show rule origin in rule adjustments grid
  • ipsec: extend connection proposals tooltip to children and fix tooltip style issue
  • lang: added traditional Chinese translation (contributed by Jason Cheng)
  • monit: update model
  • openvpn: allow optional OCSP checking per instance
  • openvpn: emit device name upon creation
  • openvpn: add workaround for net30/p2p smaller than /29 networks
  • openvpn: add optional "route-metric" push option for server instances
  • web proxy: integration moved to os-squid plugin
  • wireguard: installed by default using the bundled FreeBSD 13.2 kernel module
  • backend: constrain execution of user add/change/list actions to members of the wheel group
  • backend: only parse stream results when configd socket could be opened
  • backend: wait for all configd results and add it to the log message when detached
  • mvc: remove legacy Phalcon migration glue
  • mvc: add configdStream action to ApiControllerBase
  • mvc: support array structures for better search functionality in ApiControllerBase
  • mvc: scope xxxBase validations to the item in question in ApiMutableModelControllerBase
  • mvc: remove Phalcon syslog implementation with a simple wrapper
  • mvc: add a DescriptionField type
  • mvc: add a MacAddressField type
  • mvc: add IsDNSName to support DNS names as specified by RFC2181 in HostnameField
  • ui: include meta tags for standalone/full-screen on Android and iOS (contributed by Shane Lord)
  • ui: add double click event with grid dialog in tree view to show a row layout instead
  • ui: auto-trim MVC input fields when being pasted
  • ui: increase standard search delay from 250 ms to 1000 ms
  • ui: make modal dialogs draggable
  • ui: support key/value combinations for error messages in do_input_validation()
  • plugins: os-acme-client 4.0
  • plugins: os-api-backup was discontinued due to overlapping functionality in core
  • plugins: os-firewall moved to core
  • plugins: os-haproxy 4.2
  • plugins: os-nrpe updated to NRPE 4.1.x
  • plugins: os-postfix updated to Postfix 3.8.x
  • plugins: os-squid 1.0 offers the removed web proxy core functionality
  • plugins: os-wireguard moved to core
  • plugins: os-wireguard-go was discontinued
  • src: NFS client data corruption and kernel memory disclosure
  • src: pf: merge extended support for SCTP and related stable changes
  • src: e1000: merge assorted driver improvements for hardware capabilities
  • src: bsdinstall: merge assorted stable changes
  • src: tuntap: merge assorted stable changes
  • src: wireguard: add experimental netmap support
  • src: sys: Use mbufq_empty instead of comparing mbufq_len against 0
  • src: e1000/igc: remove disconnected sysctl
  • ports: libxml 2.11.6
  • ports: openssl 3.0.12
  • ports: php 8.2.15
  • ports: py-duckdb 0.9.2
  • ports: sqlite 3.45.0
  • ports: suricata 7.0.2
Migration notes, known issues and limitations:
  • Audits and certifications are requiring us to restrict system accounts for non-administrators (without wheel group in particular). It will no longer be able to use non-adminstrator accounts with shell access and permissions for sensitive files have been tightened to not be world-readable. This may cause custom tooling to stop working, but can easily be fixed by giving these required accounts the full administration rights.
  • ISC DHCP functionality is slowly being deprecated with the introduction of Kea as an alternative. The work to replace the tooling of ISC DHCP is ongoing, but feature sets will likely differ for a long time therefore.
  • The move to the FreeBSD ports version of OpenSSL 3.0 is included and may disrupt third party repository use until those have been fixed and rebuilt accordingly. Please note that we do not vet third party repositories and do not have control over them so their response time may vary.
  • The Squid web proxy functionality moves to a plugin and will no longer be installed by default for new installations. However, if you have Squid enabled the plugin will automatically be installed during the upgrade. There is no code difference in the implementation and integration of the plugin compared to the core version.

OPNsense

Versienummer 24.1
Releasestatus Final
Besturingssystemen BSD
Website OPNsense
Download https://opnsense.org/download/
Licentietype Voorwaarden (GNU/BSD/etc.)

Door Bart van Klaveren

Downloads en Best Buy Guide

30-01-2024 • 14:29

37

Submitter: smerik

Bron: OPNsense

Reacties (37)

37
37
22
0
0
6
Wijzig sortering
Fijn product maar sinds ik PPPoE moet gebruiken voor mijn verbinding en Pfsense BSD based is en PPPoE alleen single threaded kan afhandelen geen optie meer voor mij gezien ik amper de helft van mijn Gbit verbinding kan ontsluiten.

Zelfde hardware op een Linuxbased OS dat wel multithreaded PPPoE support fluitend widespreed aan kan.

Sonde want verder grote fan.
Welk linux based OS gebruik je dan als ik vragen mag?
Moet ik dan denken aan VyOS of meer aan OpenWRT?
Openwrt geprobeerd draaide makkelijk vanaf een usb stick.
Maar niet te vergelijken met de fijne OpnSense functionaliteit.
Nee precies, dat is voor mij ook de reden dat ik op opnsense blijf. Heb maar 150mbit, dus loop niet tegen dit issue aan, mijn CPU kan de PPPoE nog bijhouden. Maar ivm toekomst, zie ik het voor me dat we een keer 1 gbit thuis hebben.
Enig idee waarvoor je 1gbit nodig zou hebben. Ik draai al jaren 100 mbit en heb tot nog toe 1x een echte bottleneck ervaren ( een backup van een paar terabyte over site to site vpn getrokken) en zelfs terwijl dat meerdere dagen draaide heb ik niemand horen klagen in het gezin.
Ik self-host een aantal services waar vrienden ook gebruik van maken.
Ik heb een aardig idee waarom ik het nodig zou hebben ja. Voor velen anderen maakt het inderdaad niet uit.
Voor mij wel.
Thnx klinkt iets logischer dan. Ik denk dat bijna 90% van alle gigabit internet gebruikers eigenlijk alleen maar meer betaald en het niet eens gebruikt. Uitgezonderd de paar keer dat ze speedtest draaien om op te scheppen.
Het is vaak dan ook maar een paar euro duurder dan 500mbit. (tenminste in mijn geval scheelt het 2 euro, onvi)
Ja fairpoint idd.
Veel hebben het niet nodig, toch moet ik wel zeggen dat voor mij glasvezel met 150 mbit Een minimale eis is geworden (voor normaal gebruik). Ik ga nooit meer op een ziggo of adsl lijntje. Man wat is dit stabiel.
Dikkere CPU gebruiken ;-) Hier op een Haswell red ik 1Gbe wel met PPPOE. Maar het is inderdaad bizard dat voor een OS dat claimt superieure netwerk support te hebben t.o.v. bij Linux, de PPPOE zo ondermaats is.
Vind ik geen optie ivm energie verbruik.
Zeker omdat het gewoon om een brakke PPPoE implementatie gaat en ik met een ander OS het wel met 2 vinger in de neus red qua performance.

Hardware is expliciet gekozen voor economisch energie verbruik, dus tja.
Anders ISP zou ook nog kunnen die geen PPPoE gebruikt.
Odido doet gewoon dhcp over vlan 300
Maar die doen (zover ik weet) geen vaste ip-addressen.
kpn officieel ook niet op de consumenten lijn (al veranderd die niet vaak)
Freedom wel (over kpn glas)
Freedom doet PPPoE dat is namelijk mijn huidige provider

En ik wil idd ook IPv6 (en dat doet Freedom dus) hetgeen Odido dan geen optie maakt.

[Reactie gewijzigd door cyclone op 23 juli 2024 17:00]

Belangrijker voor mij: Odido doet geen IPv6
Met een paar tuneables voor *sense is een gigabit meer dan makkelijk haalbaar.
Heb zelf een routertje met een N100 cpu staan en die doet vrolijk een gigabit voltrekken (KPN Glas).

Welke software gebruik je nu als ik vragen mag?
Inderdaad ik gebruik hier een n5105 en draait als een zonnetje (zfs mirror en 16gb ram). Ook 1 gigabit van KPN hier op de Opnsense.
FreeBSD doet met net/mdp5 ook multithreaded PPPoE. Kun je altijd nog last hebben van een brakke NIC, maar dat heb je onder andere OS'en dan ook. Mijn eigen glasvezel komt niet boven de 200Mbit uit momenteel en mijn OPNSense op een APU2C4 doet dat rustig op ~15% CPU dus ik maak me voorlopig nog niet druk. De kernel van FreeBSD 14 schijnt het ook met de pppoe-daemon in base weer beter te doen.

Wat voor CPU heb je? Want die APU2C4 van mij is ook alweer de nodige jaartjes oud.
Heb je gelezen dat exact dezelfde hardware met openwrt het wel prima doet op linespeed? Gewoon een nette Intel server NIC (ff type niet bij de hand evenals niet de cpu maar die is singlethreaded i.i.g. niet snel genoeg)

Maar draai jij opnsense met een multithreaded PPPoE ? Hoe dan (doe eens een link s.v.p. want dat zou mijn oplossing zijn)

Tuneables heb ik (natuurlijk) geprobeerd maar gaf wel wat verbetering maar kwam nooit boven de 750mbit dus tis puur cpu afhankelijk / hoeveel “power” 1 thread heeft.

Zoals aangegeven heb ik gekozen voor laag energieverbruik/ zuinig hardware.
Specs heb ik zo niet 1 2 3 bij de hand maar tis een oude terminal cliënt.
Heb je met dat PC Engines bordje ook last van interface flapping door EEE? Zo te zien heeft de jouwe een i210AT en heeft mijn bordje (APU4C4) een i211AT maar delen dezelfde driver...

Met deze release heb ik nog steeds hetzelfde probleem. Op GitLab (https://gitlab.com/-/snippets/2592568) heb ik een snippet deze driver om te bouwen naar die van Intel zelf waar je EEE uit kunt zetten.
Dat zie ik bij mijn APU (gelukkig) niet gebeuren. Heb je dit met een kale FreeBSD ook? Heeft denk ik het meeste zin om dit op de "freebsd-net" mailing list even aan te kaarten en eventueel een Problem Report voor in te schieten. Er is ook een port in upstream FreeBSD die deze driver voor je bouwt in 13.x dus het lijkt erop dat dit een bekend iets is met deze driver. Ben nu even niet thuis maar zal er straks eens even induiken.. oud-collega. ;-)

[Reactie gewijzigd door BvdW1978 op 23 juli 2024 17:00]

Er zal nog een update moeten komen om naar 24.1 te kunnen upgraden. Die lijkt nu beschikbaar te zijn, dus verwacht dat upgraden nu wel kan.
2 minuten geleden de upgrade gedraaid, moest daarvoor inderdaad nog een kleine update doen voor 24.1 beschikbaar kwam
ik heb hier ook eerst moeten upgraden van 23.7.12 naar 23.7.12_5 en nu is de 24.1 update beschikbaar.
Vanavond naar eens updaten (downtime overdag is niet handig)

ter info, dit zijn de release notes van 23.7.12_5:
A hotfix release was issued as 23.7.12_5:
- reporting: print status message when Unbound DNS database was not found during firmware upgrade
- firmware: enable upgrade path to 24.1
- backend: only parse stream results when configd socket could be opened
Bij mij gaat het niet goed met installeren. Geen idee ook wat DuckDB is.

***GOT REQUEST TO UPGRADE***
Currently running OPNsense 23.7.12_5 at Tue Jan 30 20:04:51 CET 2024
Fetching packages-24.1-amd64.tar: ............... done
Fetching base-24.1-amd64.txz: ....... done
Fetching kernel-24.1-amd64.txz: .... done
Extracting packages-24.1-amd64.tar... done
Extracting base-24.1-amd64.txz... done
Extracting kernel-24.1-amd64.txz... done
Please reboot.
>>> Invoking upgrade script 'squid-plugin.php'
Squid web proxy is not active. Not installing replacement plugin.
>>> Invoking upgrade script 'unbound-duckdb.py'
Traceback (most recent call last):
File "/usr/local/opnsense/site-python/duckdb_helper.py", line 65, in __enter__
self.connection = duckdb.connect(database=self._path, read_only=self._read_only)
duckdb.IOException: IO Error: Trying to read a database file with version number 39, but we can only read version 51.
The database file was created with DuckDB version v0.6.0 or v0.6.1.

The storage of DuckDB is not yet stable; newer versions of DuckDB cannot read old database files and vice versa.
The storage will be stabilized when version 1.0 releases.

For now, we recommend that you load the database file in a supported version of DuckDB, and use the EXPORT DATABASE command followed by IMPORT DATABASE on the current version of DuckDB.

See the storage page for more information: https://duckdb.org/internals/storage

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/usr/local/etc/rc.syshook.d/upgrade/20-unbound-duckdb.py", line 41, in <module>
if export_database('/var/unbound/data/unbound.duckdb', '/var/cache/unbound.duckdb', 'unbound', 'unbound'):
File "/usr/local/opnsense/site-python/duckdb_helper.py", line 147, in export_database
with DbConnection(source, read_only=True) as db:
File "/usr/local/opnsense/site-python/duckdb_helper.py", line 75, in __enter__
raise StorageVersionException(str(e))
duckdb_helper.StorageVersionException: IO Error: Trying to read a database file with version number 39, but we can only read version 51.
The database file was created with DuckDB version v0.6.0 or v0.6.1.

The storage of DuckDB is not yet stable; newer versions of DuckDB cannot read old database files and vice versa.
The storage will be stabilized when version 1.0 releases.

For now, we recommend that you load the database file in a supported version of DuckDB, and use the EXPORT DATABASE command followed by IMPORT DATABASE on the current version of DuckDB.

See the storage page for more information: https://duckdb.org/internals/storage
>>> Error in upgrade script '20-unbound-duckdb.py'
***DONE***

[Reactie gewijzigd door Mich op 23 juli 2024 17:00]

Thanks. Kon zelf zo snel niets vinden maar dit werkt idd!
Ik krijg hem hier nog niet wanneer ik zoek naar updates.
Klopt. Dat komt met een paar uur na de "final QA stage" volgens een bericht op Bluesky.

Lees hieronder dat het inmiddels al kan.

[Reactie gewijzigd door freshy98 op 23 juli 2024 17:00]

Voor de mensen die gebruik maken van Suricata i.c.m. Netmap mode:
Service announcement: Suricata 7 appears to have severe issues with Netmap mode, alerting is likely affected. We'll be reverting back to Suricata 6 tomorrow and recommend disabling IPS mode on 24.1 for now. Best done prior to executing the upgrade!
Bron: https://forum.opnsense.or...38427.msg188174#msg188174
Dit is inderdaad wel een ding met als gevolg dat het verkeer naar Internet naar een paar minuten niet meer naar buiten gaat (and more)
Bij mij faalde de upgrade naar 24.1 en ik zit nu in een situatie dat ik op de console meldingen krijg over libcrypto.so.11 not found en als ik probeer te upgraden vanaf de console libssl.so.11 not found, required by opnsense-verify.

Iemand tips hoe te fixen buiten een reinstall?

EDIT: Toch maar aan een reinstall begonnen, gelukkig heb ik up2date config backups.

[Reactie gewijzigd door xxs op 23 juli 2024 17:00]

Bij mij ging het ook mis. Kon de GUI niet meer in en geen internet. Moest even restoren naar vorige versie.
Ik had een bijzonder raar probleem met het toepassen van deze update. Na de reboot werkte m'n externe verkeer niet meer. Om een 1 of andere reden had opnsense de default route naar m'n ipsec interface gezet ipv de default gateway achter m'n WAN interface.

#update
Mocht iemand hier nog op terechtkomen, ook al mijn port forwards waren na deze update verdwenen.

[Reactie gewijzigd door meowmofo op 23 juli 2024 17:00]

24.1_1 is er ook al.

Op dit item kan niet meer gereageerd worden.