Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - wasmitedv

#1
Hi RZR,

this was too obvious for me ;-)  Thank you very much, with your tip i will get further...


Kind regards

Alex
#2
Hi all,
we collect SNMP data from all our OPNsense routers. Now i need to know, what version of OPNsense is installed on all routers.

Of course, there is OID 1.3.6.1.2.1.1.1.0 "FreeBSD MyLovelyRouter 13.1-RELEASE-p2 FreeBSD 13.1-RELEASE-p2 stable/22.7-n250229-c8a7fd0d5dc SMP amd64"

But "22.7" is not enough. I would like to see "22.7.4".

OID 1.3.6.1.2.1.25.6.3.1.2.65 is my favorit, telling "opnsense-22.7.4". But i don't know, how this string is extracted with my snmp-tools.

How do you guys get this informations?

Any hints would be very appreciated.

Kind regards

Alex


#3
Servus beinand',

beim Konsolidieren unserer Backups haben wir für unsere OPNsense Hosts vom Nextcloud Plugin auf os-api-backup umgestellt.

Ich darf mit euch mein Powershell Skript teilen, vielleicht hat jemand Gebrauch. Wer Verbesserungen weiß, bitte gerne Nachricht an mich.

--- schnipp ---

$OpnSenseCredentials = @{
    'os1.irgendwo.local' = @{
        UrlPort = '443'
        ApiKey = 'Viele Zeichen und Buchstaben'
        ApiSecret = 'Viele Zeichen und Buchstaben'
    }
'os2.irgendwo.local' = @{
        UrlPort = '443'
        ApiKey = 'Viele Zeichen und Buchstaben'
        ApiSecret = 'Viele Zeichen und Buchstaben'
    }
'os3.irgendwo.local' = @{
        UrlPort = '443'
        ApiKey = 'Viele Zeichen und Buchstaben'
        ApiSecret = 'Viele Zeichen und Buchstaben'
    }
'os4.irgendwo.local' = @{
        UrlPort = '443344'
        ApiKey = 'Viele Zeichen und Buchstaben'
        ApiSecret = 'Viele Zeichen und Buchstaben'
    }
'os5.irgendwo.local' = @{
        UrlPort = '443'
        ApiKey = 'Viele Zeichen und Buchstaben'
        ApiSecret = 'Viele Zeichen und Buchstaben'
    }
}

# Das Ziel der Backups
$BackupDestination = "\\Backup_Server\Backup_Dir"

# E-Mail Sachen
$EmailSmtpServer = "mailer.irgendwo.local"
$EmailEmpfaenger = "admin@irgendwo.com"
$EmailSender = "dersender@irgendwo.com"
$EmailBetreff = "Backup-Script fuer OPNsense: "
$EmailText = "Folgendes ist aufgetreten:"

# Wie viele Backups pro Host behalten wir?
$AnzahlBackupsBehalten = 10

# Eine E-MAil-Versendefunktion
function SendMyMail {
    Send-MailMessage -From $EmailSender -to $EmailEmpfaenger -Subject $EmailBetreff -Body $EmailText -SmtpServer $EmailSmtpServer
}

# Wir wollen in das $BackupDestination wechseln. Wenn nicht E-Mail und raus...
try {
    Set-Location -Path $BackupDestination -ErrorAction Stop
}
catch {
    $EmailBetreff = $EmailBetreff + "Fehler, kein Backup erstellt"
    $EmailText = @"
Das Backup-Script konnte nicht in das Arbeitsverzeichnis wechseln.
"@
    SendMyMail
    exit 1
}


foreach ( $OpnSenseHost in $OpnSenseCredentials.Keys) {
    $BackupDestinationHostDir = "$BackupDestination" + "\" + "$OpnSenseHost"
    if ( -not (test-path -Path "$BackupDestinationHostDir" )) {
        try {
            New-Item -Path "$BackupDestinationHostDir" -ItemType Directory -ErrorAction Stop
        }
        catch {
            $EmailBetreff = $EmailBetreff + "Fehler, kein Backup erstellt"
            $EmailText = @"
Das Backup-Script konnte kein Unterverzeichnis erstellen. Das Backup File wurde NICHT
von \"$OpnSenseHost\" heruntergeladen!
"@
            SendMyMail
            continue         
        }
    }
   


    try {
        Set-Location -Path $BackupDestinationHostDir -ErrorAction Stop
    }
    catch {
        $EmailBetreff = $EmailBetreff + "Fehler, kein Backup erstellt"
        $EmailText = @"
Das Backup-Script konnte nicht in das Arbeitsverzeichnis wechseln. Das Backup File wurde NICHT
von \"$OpnSenseHost\" heruntergeladen!
"@
        SendMyMail
        continue         
    }

    $ApiCredentialPair = $OpnSenseCredentials[$OpnSenseHost]['ApiKey'] + ":" + $OpnSenseCredentials[$OpnSenseHost]['ApiSecret']
    $Bytes = [System.Text.Encoding]::ASCII.GetBytes($ApiCredentialPair)
    $Base64Coded = [System.Convert]::ToBase64String($Bytes)
    $BasicAuthValue = "Basic $Base64Coded"

    $Headers = @{ Authorization = $BasicAuthValue }

    $Uri = "https://" + $OpnSenseHost + ":" + $($OpnSenseCredentials[$OpnSenseHost]['UrlPort']) + "/api/backup/backup/download"

    try {
        invoke-webrequest -uri $Uri -Headers $Headers -OutFile config.xml
    }
    catch {
        $EmailBetreff = $EmailBetreff + "Fehler, kein Backup erstellt"
        $EmailText = @"
Fehler beim web-request. Das Backup File wurde NICHT
von \"$OpnSenseHost\" heruntergeladen!
"@
        SendMyMail
        continue     
    }

    Rename-Item config.xml backup_$(get-date -Format yyyyMMddhhmmss).xml

    $AnzahlBackupDateien = $(Get-ChildItem -Path backup_??????????????.xml | measure-object).count
    while ($AnzahlBackupDateien -gt $AnzahlBackupsBehalten) {
        Get-ChildItem -Path backup_??????????????.xml | Sort-Object | Select-Object -First 1 | Remove-Item
        $AnzahlBackupDateien = $(Get-ChildItem -Path backup_??????????????.xml | measure-object).count
    }
}   


--- schnapp ---

Das Skript läuft über eine Aufgabenplanung regelmäßig.


Schöne Grüße

Alex

Ihr benutzt das auf eigenes Risiko!

#4
Liebe Forenmitglieder,

ich möchte die Backups meiner OPNsense Boxen in eine Nextcloud Freigabe schreiben. Es gibt dafür unter "System / Configuration / Backups" die entsprechende Funktion.

Als zweiter Parameter wird die URL eingegeben (https://meine-nextcloud.org). In den Log Dateien sehe ich, dass daraus der WebDAV Pfad "https://meine-nextcloud.org/remote.php/dav/files/sa_opnsense_backup" wird.

Meine Nextcloud-Instanz hört aber aber auf "https://meine-nextcloud.org/remote.php/webdav/files/sa_opnsense_backup".

Kann ich das in OPNsense anpassen? Wenn nicht, warum ist das hard-codiert? Entspricht das einem Standard?

Vielen Dank für Eure Infos!

Schöne Grüße

Alex Reil
#5
Ich habe da was gefunden, vielleicht hilft es bei Bedarf dem Nächsten (m/w/d) ...

Es scheint, als wäre die Option "Enable Network boot" eine komfortable und auch funktionellere Möglichkeit, die Clients mit PXE Daten zu versorgen. Es ist wohl eine spezielle Alternative für die DHCP Codes 65 und 66.

Es scheint sogar, dass diese Option folgendes kann:

  • Sie wertet den Architekturtyp aus, den moderne PCs beim DHCP Request mitgeben.
  • Somit können die Clients per DHCP mit verschiedenen Umgebungen im Rahmen des Bootens übers Netz versorgt werden: legacy BIOS Clients bekommen X, UEFI 32 Bit bekommen Y und UEFI 64 Bit bekommen Z.

Ich hab das mit der legacy BIOS Version getestet und kann meine zentralisierten Windows 10 Rollouts über VPN auf die Filialnetze verteilen.

Ich staune immer noch, was OPNsense alles kann!

Schöne Grüße

Alex
#6
Guten Morgen zusammen,

ich brauche bitte Hilfe bei der Konfiguration des DHCP Dienstes.

Was soll's sein? Ich möchte, dass sich Clients aus einem Subnetz ("Filiale") per DHCP sich zwecks Booten übers Netzwerk (PXE) an einen Server in einem anderen Subnetz ("Zentrale") wenden.

Lt. meiner Dokumentation für das PXE - Booten muss ich die DHCP Optionen 66 (IP des Bootservers) und 67 (Boot-File) setzen. Das kann ich bei der Dienstkonfiguration für DHCP unter Additional Options eintragen.

ABER: Es gibt auch noch im gleichen Konfigurationsfenster den Eintrag "Enable Network boot", bei dem die selben Einträge möglich sind.

Ich möchte nun bitte gerne wissen:

  • Wie ist das Verhältnis der beiden Konfigurationen zueinander?
  • Ist die Konfiguration unter "Enable Network boot" eine anwenderfreundliche Alternative zu den "Additional Options"?
  • Schließen sich beide aus oder muss ich trotzdem mit beiden arbeiten?
  • Hat jemand zufällig Erfahrung für das Booten von Installationen über Baramundi, wenn man im Filialnetz nicht gleich einen Baramundi PXE-Relay installieren möchte / kann?

Vielen Dank für Eure Hilfe!

Alex