Auto-update blog content from Obsidian: 2025-10-22 15:45:50
All checks were successful
Blog Deployment / Check-Rebuild (push) Successful in 7s
Blog Deployment / Build (push) Has been skipped
Blog Deployment / Deploy-Staging (push) Successful in 10s
Blog Deployment / Test-Staging (push) Successful in 3s
Blog Deployment / Merge (push) Successful in 7s
Blog Deployment / Deploy-Production (push) Successful in 10s
Blog Deployment / Test-Production (push) Successful in 2s
Blog Deployment / Clean (push) Has been skipped
Blog Deployment / Notify (push) Successful in 3s
All checks were successful
Blog Deployment / Check-Rebuild (push) Successful in 7s
Blog Deployment / Build (push) Has been skipped
Blog Deployment / Deploy-Staging (push) Successful in 10s
Blog Deployment / Test-Staging (push) Successful in 3s
Blog Deployment / Merge (push) Successful in 7s
Blog Deployment / Deploy-Production (push) Successful in 10s
Blog Deployment / Test-Production (push) Successful in 2s
Blog Deployment / Clean (push) Has been skipped
Blog Deployment / Notify (push) Successful in 3s
This commit is contained in:
@@ -37,6 +37,12 @@ In this post, I will show you how I configure OPNsense highly available, from a
|
|||||||
|
|
||||||
Hopefully the next time, I will also cover the VM creation on Proxmox and how I'm preparing this migration from my physical OPNsense box to this highly available cluster in VMs. Let's dive in!
|
Hopefully the next time, I will also cover the VM creation on Proxmox and how I'm preparing this migration from my physical OPNsense box to this highly available cluster in VMs. Let's dive in!
|
||||||
|
|
||||||
|
TODO
|
||||||
|
add section Topology
|
||||||
|
add single WAN IP
|
||||||
|
add network diagram
|
||||||
|
add IP/VLAN plan
|
||||||
|
|
||||||
---
|
---
|
||||||
## System
|
## System
|
||||||
|
|
||||||
@@ -57,13 +63,19 @@ Then, in `System` > `Access` > `Users`, I create a new user, I don't like sticki
|
|||||||
### Administration
|
### Administration
|
||||||
|
|
||||||
In `System` > `Settings` > `Administration`, I change several things:
|
In `System` > `Settings` > `Administration`, I change several things:
|
||||||
|
- **Web GUI**
|
||||||
- **TCP port**: from `443` to `4443`, to free port 443 for the reverse proxy coming next.
|
- **TCP port**: from `443` to `4443`, to free port 443 for the reverse proxy coming next.
|
||||||
- HTTP Redirect: Disable to free port 80
|
- **HTTP Redirect**: Disabled, to free port 80 for the reverse proxy
|
||||||
- **Alternate Hostnames**: `cerbere.vezpi.com` which will be the URL to reach the firewall by the reverse proxy.
|
- **Alternate Hostnames**: `cerbere.vezpi.com` which will be the URL to reach the firewall by the reverse proxy.
|
||||||
- **Access log**: enabled.
|
- **Access log**: Enabled.
|
||||||
- **Secure Shell Server**: enabled.
|
- **Secure Shell**
|
||||||
- **Authentication Method:** permit password login (no `root` login).
|
- **Secure Shell Server**: Enabled.
|
||||||
|
- **Root Login**: Disabled.
|
||||||
|
- **Authentication Method:** Permit password login (no `root` login).
|
||||||
|
- **Listen Interfaces**: *Mgmt*
|
||||||
|
- **Authentication**
|
||||||
- **Sudo**: `No password`.
|
- **Sudo**: `No password`.
|
||||||
|
|
||||||
Once I click `Save`, I follow the link given to reach the WebGUI on port `4443`.
|
Once I click `Save`, I follow the link given to reach the WebGUI on port `4443`.
|
||||||
|
|
||||||
### Updates
|
### Updates
|
||||||
@@ -149,6 +161,8 @@ In the section `System` > `High Availability` > `Status`, I can verify if the sy
|
|||||||
Now that HA is configured, I can give my networks a virtual IP shared across my nodes. In `Interfaces` > `Virtual IPs` > `Settings`, I create one VIP for each of my networks using **CARP** (Common Address Redundancy Protocol). The target is to reuse the IP addresses used by my current OPNsense instance, but as it is still routing my network, I use different IPs for the configuration phase:
|
Now that HA is configured, I can give my networks a virtual IP shared across my nodes. In `Interfaces` > `Virtual IPs` > `Settings`, I create one VIP for each of my networks using **CARP** (Common Address Redundancy Protocol). The target is to reuse the IP addresses used by my current OPNsense instance, but as it is still routing my network, I use different IPs for the configuration phase:
|
||||||

|

|
||||||
|
|
||||||
|
ℹ️ OPNsense allows by default CARP protocol, there is no need to create specific rules for it.
|
||||||
|
|
||||||
---
|
---
|
||||||
## Firewall
|
## Firewall
|
||||||
|
|
||||||
@@ -453,7 +467,7 @@ The third one is for Traefik HTTP challenges for Let's Encrypt:
|
|||||||
|
|
||||||
### Firewall Rules
|
### Firewall Rules
|
||||||
|
|
||||||
Finally, I need to allow connection of these ports on the firewall, one rule for HTTPS and another for HTTP:
|
Finally, I need to allow connection of these ports on the firewall, I create one rule for HTTPS (and another for HTTP):
|
||||||
|
|
||||||
| Field | Value |
|
| Field | Value |
|
||||||
| -------------------------- | ------------------------------------- |
|
| -------------------------- | ------------------------------------- |
|
||||||
@@ -485,6 +499,10 @@ Then in `Services` > `mDNS Repeater`, the configuration is pretty straight forwa
|
|||||||
---
|
---
|
||||||
## CARP Failover Script
|
## CARP Failover Script
|
||||||
|
|
||||||
|
TODO
|
||||||
|
move this section after VIP
|
||||||
|
add how to implement it
|
||||||
|
|
||||||
In my setup, I only have a single WAN IP address which is served by the DHCP of my ISP box. OPNsense does not provide natively a way to handle this scenario. To manage it, I implement the same trick I used in the [PoC]({{< ref "post/12-opnsense-virtualization-highly-available" >}}).
|
In my setup, I only have a single WAN IP address which is served by the DHCP of my ISP box. OPNsense does not provide natively a way to handle this scenario. To manage it, I implement the same trick I used in the [PoC]({{< ref "post/12-opnsense-virtualization-highly-available" >}}).
|
||||||
|
|
||||||
I copy the MAC of the `net1` interface of `cerbere-head1` and paste it to the same interface for `cerbere-head2`. Doing so, the DHCP lease for the WAN IP address can be shared among the nodes.
|
I copy the MAC of the `net1` interface of `cerbere-head1` and paste it to the same interface for `cerbere-head2`. Doing so, the DHCP lease for the WAN IP address can be shared among the nodes.
|
||||||
@@ -539,3 +557,4 @@ Then I want to make sure that future changes are synchronized if I omit to repli
|
|||||||
---
|
---
|
||||||
## Conclusion
|
## Conclusion
|
||||||
|
|
||||||
|
TODO
|
||||||
|
|||||||
Reference in New Issue
Block a user