6e86c481a4
Credentials: - The stock appliance password is retained by default. It is typed at a console before being changed, and the appliance prompts for a change on first sign in regardless - GenerateRootPassword opts into a random password, now sixteen characters without symbols rather than twenty with them Preboot execution environment: - Get-HyperVNextAvailableMACAddress reads the next dynamic address the hypervisor will issue, treating the six bytes as one integer so an offset carries correctly across octets - That address is reserved within Kea for a PXE server on the Infrastructure network, which allows the reservation to exist before the virtual machine that will carry the address does - The reserved address populates a PXE_SERVERS_001 alias, becomes next_server and tftp_server_name within every scope, and is reachable through a floating rule from RFC1918 - The reservation is skipped with a warning on a host that does not run the hypervisor, so the document still generates Rules: - The management, jump host, name resolution and PXE rules are now floating. They were identical on every interface, so a sixteen network policy falls from 87 rules to 28 - Descriptions no longer name the network they were generated for, since a floating rule applies everywhere - The RFC1918 alias now has a purpose as the source of the internal permits Kea: - The socket type defaults to udp and is exposed as DHCPSocketType. Raw remains the safer choice for a client that holds no address yet - Option data auto collection is enabled Elsewhere: - Outbound network address translation moves to hybrid, with no manual rules - Zone roles carry three digit indexes, so Servers_Zone_001 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
3.1 KiB
3.1 KiB
Documentation
Every page below is generated from the comment based help of the file it documents, so it cannot drift away from the code.
Entry point
| Page | Purpose |
|---|---|
| Invoke-OPNSenseVMDeployment | Idempotently deploys a fully preconfigured OPNsense virtual firewall into a Hyper-V lab environment. |
Toolkit functions
| Page | Purpose |
|---|---|
| Expand-CompressedFile | Expands a compressed file or archive using the first available extraction provider. |
| Get-HostUpstreamDNSConfiguration | Determines the upstream name resolution configuration of the device that hosts the hypervisor. |
| Get-HyperVNextAvailableMACAddress | Retrieves the next media access control address that the hypervisor will hand to a virtual machine. |
| Get-HyperVStorageLocation | Dynamically determines where virtual machines and virtual hard disks should be stored on the hypervisor. |
| Get-OPNSenseInstallationMedia | Idempotently acquires the OPNsense installation media. |
| Initialize-OPNSenseVirtualSwitch | Idempotently resolves or creates the virtual switches that the virtual firewall is attached to. |
| Install-HyperVPlatform | Idempotently detects and installs the Microsoft Hyper-V platform and its powershell management module. |
| New-OPNSenseConfigurationDisk | Creates or refreshes the virtual hard disk that carries the OPNsense configuration document. |
| New-OPNSenseConfigurationDocument | Generates the OPNsense configuration document from a network plan. |
| New-OPNSenseNetworkPlan | Produces the lab network plan that the OPNsense configuration document is generated from. |
| New-OPNSensePasswordHash | Generates a password hash in the format that OPNsense stores within its configuration document. |
| New-OPNSenseVirtualMachine | Idempotently creates and configures the OPNsense virtual machine. |
| New-RandomPassword | Generates a random password using a cryptographically secure random number generator. |
| Remove-OPNSenseDeployment | Removes everything that a previous execution of the deployment created. |
| Save-OPNSenseConfigurationDocument | Writes an OPNsense configuration document to disk. |
| Save-ToolkitModule | Idempotently saves one or more powershell modules into the toolkit module directory. |
| Start-ProcessWithOutput | Allows for the execution of processes with the ability to return their output without first dumping the content to a file. It can all be kept in memory. |
| Test-PendingReboot | Determines whether the operating system is currently waiting for a restart. |