Compare commits

..

7 Commits

Author SHA1 Message Date
98758f4fa7 add: proxmox_vmid in the inventory 2026-06-21 20:05:12 +00:00
e4771be50c add: pause after VM move 2026-06-19 09:46:37 +02:00
130db47180 add: OPNsense inventory 2026-06-18 18:45:45 +00:00
8284a5fb66 add: .bruno folder to gitignore 2026-06-17 07:38:16 +00:00
0b7af06fb3 add: gateway change 2026-06-17 07:37:59 +00:00
eaef6ad961 add: 10-wan CARP script 2026-06-09 20:06:37 +00:00
20ff3707e6 add: update Proxmox VE playbook 2026-06-09 20:06:23 +00:00
4 changed files with 42 additions and 1 deletions

4
.gitignore vendored
View File

@@ -1,4 +1,6 @@
# Terraform
**/.terraform*
*.tfstate*
*credentials.auto.tfvars
*credentials.auto.tfvars
# Bruno
.bruno

View File

@@ -0,0 +1,20 @@
---
all:
children:
opnsense:
vars:
ansible_connection: local
children:
opnsense_backup:
hosts:
cerbere-head2:
ansible_host: 192.168.88.3
main_role: BACKUP
hypervisor: TrueNAS
opnsense_master:
hosts:
cerbere-head1:
ansible_host: 192.168.88.2
main_role: MASTER
hypervisor: Proxmox
proxmox_vmid: 122

View File

@@ -94,6 +94,10 @@
retries: 60
delay: 15
- name: Pause 15s
ansible.builtin.pause:
seconds: 15
- name: Update packages
ansible.builtin.apt:
upgrade: full

View File

@@ -38,6 +38,9 @@ if ($vhid !== $primary_vhid) {
// Interface key to manage
$ifkey = 'wan';
$real_if = get_real_interface('wan');
// Fallback gateway name
$gw_name = 'LAN_GW';
// Determine whether WAN interface is currently enabled
$ifkey_enabled = !empty($config['interfaces'][$ifkey]['enable']) ? true : false;
// Lock file to prevent interface flapping
@@ -80,6 +83,18 @@ if ($type === "MASTER") {
unset($config['interfaces'][$ifkey]['enable']);
write_config("disable interface '$ifkey' due CARP event '$type'", false);
interface_configure(false, $ifkey, false, false);
// Remove WAN default gateway
mwexec("/sbin/route delete default");
foreach ($config['OPNsense']['Gateways']['gateway_item'] as $gw) {
if ($gw['name'] === $gw_name) {
$gw_ip = $gw['gateway'];
break;
}
}
// Shutdown WAN interface
mwexec("/sbin/ifconfig {$real_if} down")
// Add fallback default gateway
mwexec("/sbin/route add default {$gw_ip}");
// Create lock file
file_put_contents($lock_file, time());
sleep($lock_default_age);