Compare commits
7 Commits
d8b6e9a91d
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| 98758f4fa7 | |||
| e4771be50c | |||
| 130db47180 | |||
| 8284a5fb66 | |||
| 0b7af06fb3 | |||
| eaef6ad961 | |||
| 20ff3707e6 |
4
.gitignore
vendored
4
.gitignore
vendored
@@ -1,4 +1,6 @@
|
||||
# Terraform
|
||||
**/.terraform*
|
||||
*.tfstate*
|
||||
*credentials.auto.tfvars
|
||||
*credentials.auto.tfvars
|
||||
# Bruno
|
||||
.bruno
|
||||
20
ansible/opnsense/inventory.yml
Normal file
20
ansible/opnsense/inventory.yml
Normal 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
|
||||
@@ -94,6 +94,10 @@
|
||||
retries: 60
|
||||
delay: 15
|
||||
|
||||
- name: Pause 15s
|
||||
ansible.builtin.pause:
|
||||
seconds: 15
|
||||
|
||||
- name: Update packages
|
||||
ansible.builtin.apt:
|
||||
upgrade: full
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user