mirror of
https://github.com/freedbygrace/PSOPNSenseAPI.git
synced 2026-07-26 11:58:18 +00:00
136 lines
4.2 KiB
Plaintext
136 lines
4.2 KiB
Plaintext
TOPIC
|
|
about_PSOPNSenseAPI
|
|
|
|
SHORT DESCRIPTION
|
|
PowerShell module for interacting with the OPNSense API to configure firewalls.
|
|
|
|
LONG DESCRIPTION
|
|
The PSOPNSenseAPI module provides cmdlets for managing OPNSense firewalls through their API.
|
|
It allows you to perform various firewall management tasks such as:
|
|
|
|
- Managing firewall rules (create, read, update, delete)
|
|
- Configuring NAT rules and port forwarding
|
|
- Managing aliases and address groups
|
|
- Managing network interfaces and VLANs
|
|
- Configuring DNS settings and overrides
|
|
- Backing up, restoring, exporting, and importing configurations
|
|
- Managing plugins (install, uninstall, enable, disable)
|
|
- Managing users and permissions
|
|
- Updating and upgrading firmware
|
|
- Rebooting firewall with wait for reconnection
|
|
- Creating VLANs from subnet divisions
|
|
- Configuring DHCP servers and static mappings
|
|
- Managing cron jobs
|
|
- Configuring and managing Tailscale VPN (with auto-installation)
|
|
- Applying and reverting configuration changes
|
|
|
|
The module is built as a binary module in C# and is compatible with both PowerShell 5.1 and PowerShell 7.
|
|
|
|
EXAMPLES
|
|
Connect to an OPNSense firewall:
|
|
|
|
Connect-OPNSense -Server "https://firewall.example.com" -ApiKey "your_api_key" -ApiSecret "your_api_secret"
|
|
|
|
Get all firewall rules:
|
|
|
|
Get-OPNSenseFirewallRule
|
|
|
|
Create a new firewall rule:
|
|
|
|
New-OPNSenseFirewallRule -Description "Allow HTTP" -Protocol TCP -DestinationPort 80 -Action pass
|
|
|
|
Apply changes:
|
|
|
|
Apply-OPNSenseFirewallChanges
|
|
|
|
Manage interfaces:
|
|
|
|
Get-OPNSenseInterface
|
|
Set-OPNSenseInterface -Name "lan" -Description "Local Network" -IpAddress "192.168.1.1" -SubnetMask "24"
|
|
|
|
Create VLANs from subnet divisions:
|
|
|
|
New-OPNSenseSubnetVLANs -ParentInterface "em0" -Network "192.168.0.0/24" -SubnetMaskBits 27 -StartingVlanId 10 -VlanIdIncrement 10
|
|
|
|
Configure DNS:
|
|
|
|
Set-OPNSenseDNSServer -Forwarding -Forwarders "8.8.8.8","8.8.4.4" -Apply
|
|
New-OPNSenseDNSOverride -Hostname "server" -Domain "local" -IpAddress "192.168.1.10"
|
|
|
|
Manage plugins:
|
|
|
|
Get-OPNSensePlugin -Installed
|
|
Install-OPNSensePlugin -Name "os-acme-client" -Wait
|
|
|
|
Manage users:
|
|
|
|
New-OPNSenseUser -Username "john" -Password "P@ssw0rd" -FullName "John Doe" -Groups "admins"
|
|
|
|
Configure DHCP:
|
|
|
|
Get-OPNSenseDHCPServer
|
|
Set-OPNSenseDHCPServer -Interface "lan" -RangeFrom "192.168.1.100" -RangeTo "192.168.1.200" -Apply
|
|
New-OPNSenseDHCPStaticMapping -Interface "lan" -MacAddress "00:11:22:33:44:55" -IpAddress "192.168.1.50"
|
|
|
|
Manage cron jobs:
|
|
|
|
Get-OPNSenseCronJob
|
|
New-OPNSenseCronJob -Description "Daily backup" -Command "/usr/local/bin/backup.sh" -Minutes "0" -Hours "2" -Apply
|
|
|
|
Configure and manage Tailscale:
|
|
|
|
Get-OPNSenseTailscaleStatus -IncludeInterfaces
|
|
Enable-OPNSenseTailscale -AcceptDns -AcceptRoutes -Force
|
|
# Advertise subnet routes to Tailscale network
|
|
Enable-OPNSenseTailscale -AdvertiseRoutes -SubnetRoutes "192.168.1.0/24","10.0.0.0/8" -Force
|
|
Connect-OPNSenseTailscale -AuthKey "tskey-auth-abcdef123456" -InstallIfMissing -Force
|
|
|
|
Firmware management:
|
|
|
|
Update-OPNSenseFirmware -Wait
|
|
|
|
Reboot firewall:
|
|
|
|
Restart-OPNSenseFirewall -Wait -Timeout 300
|
|
|
|
Backup and restore configuration:
|
|
|
|
Backup-OPNSenseConfig -Filename "pre-upgrade-backup"
|
|
Export-OPNSenseConfig -Path "C:\Backups\opnsense-config.xml"
|
|
|
|
KEYWORDS
|
|
OPNSense, Firewall, API, Network, Security
|
|
|
|
SEE ALSO
|
|
Connect-OPNSense
|
|
Disconnect-OPNSense
|
|
Get-OPNSenseFirewallRule
|
|
New-OPNSenseFirewallRule
|
|
Apply-OPNSenseFirewallChanges
|
|
Get-OPNSenseInterface
|
|
Set-OPNSenseInterface
|
|
New-OPNSenseSubnetVLANs
|
|
Get-OPNSenseVLAN
|
|
New-OPNSenseVLAN
|
|
Get-OPNSenseDNSServer
|
|
Set-OPNSenseDNSServer
|
|
Get-OPNSensePlugin
|
|
Install-OPNSensePlugin
|
|
Get-OPNSenseUser
|
|
New-OPNSenseUser
|
|
Get-OPNSenseDHCPServer
|
|
Set-OPNSenseDHCPServer
|
|
Get-OPNSenseDHCPStaticMapping
|
|
New-OPNSenseDHCPStaticMapping
|
|
Get-OPNSenseCronJob
|
|
New-OPNSenseCronJob
|
|
Get-OPNSenseTailscaleStatus
|
|
Enable-OPNSenseTailscale
|
|
Connect-OPNSenseTailscale
|
|
Disconnect-OPNSenseTailscale
|
|
Get-OPNSenseFirmware
|
|
Update-OPNSenseFirmware
|
|
Restart-OPNSenseFirewall
|
|
Backup-OPNSenseConfig
|
|
Export-OPNSenseConfig
|