CRITICAL INFRA
Loading critical CVEs…
ALL EXPLOITED
Loading…

Redundant infrastructure across two locations: dual-ISP, L2 VPN bridge and automatic failover

πŸ“… 2026-06-24 Β· Cyber Immunity Β· CASE STUDY

A client with two locations needed a single, redundant and secure network between them β€” without depending on a single ISP or a single server. In each site we built a Linux server that does routing, VLAN trunking, dual-ISP with instant failover, an L2 VPN bridge between VLANs, the entire security stack and KVM virtualization β€” plus a backup server that takes over production in 15 minutes. Implemented in February 2020, on Debian 10, with Suricata 5.

The context

Initially, each location had a Mikrotik for routing and VLANs, with a single ISP. It worked, but had clear limits:

The client wanted the two locations to work as one network, to survive the loss of an ISP or a server, and to be genuinely protected at the perimeter.

The challenge

We had to connect the two locations at L2 β€” each VLAN behaving as if both sites were in the same building β€” with ISP and server redundancy, a strong security perimeter and no downtime on a failure. All without changing the addressing or the applications behind it.

The solution / architecture

In each site we installed a Debian Linux server that takes over and extends the role of the old Mikrotik. The same server simultaneously acts as router, VLAN trunk, VPN terminator, firewall, IPS and virtualization host.

Hardware and infrastructure

Each site is a factory with hundreds of endpoints β€” PCs, production machines and IoT devices β€” all on the internal network. The main server in each location is a Dell PowerEdge R640 (14th gen, 1U, dual-CPU, 128 GB RAM), with 4x 1GbE aggregated in an LACP port-channel spread actively across two Dell N1500 switches in a stack β€” full redundancy at the core-switch level. If one switch fails, traffic continues uninterrupted on the other. The 2x 10GbE provide dual-ISP connectivity. The backup server in each site is a Dell PowerEdge R730 (13th gen, bought in 2017), with the same NIC configuration and connectivity β€” older hardware, identical architecture.

SITE A β€” FactoryISP 1ISP 2MAINDell PowerEdge R640 Β· Debian 104Γ—1G LACP + 2Γ—10G Β· dual-ISPSuricata 5 Β· GeoIP Β· nftables Β· KVMBACKUPDell PowerEdge R730 (standby)takes over in 15 minDell N1500-1LACP stackDell N1500-2LACP stackhundreds of PCs Β· IoT Β· machinesSITE B β€” FactoryISP 1ISP 2MAINDell PowerEdge R640 Β· Debian 104Γ—1G LACP + 2Γ—10G Β· dual-ISPSuricata 5 Β· GeoIP Β· nftables Β· KVMBACKUPDell PowerEdge R730 (standby)takes over in 15 minDell N1500-1LACP stackDell N1500-2LACP stackhundreds of PCs Β· IoT Β· machines12Γ— OpenVPN bridge tunnelsone per VLAN Β· L2 extended across both sites

The implementation

Step 1 β€” The Linux server as router + VLAN trunk

The Debian server took over the Mikrotik's role, but with far more power. All VLANs arrive on the 802.1Q trunk interface, and the routing and internal access rules are done on the server β€” who can reach whom, between VLANs and between the two locations. Segmentation stays clean, but controlled from a single place.

Step 2 β€” Dual-ISP with instant failover

Each server has two ISPs. If one provider goes down, the OpenVPN connections move instantly to the other ISP β€” the tunnel between locations doesn't visibly drop for users. A cut cable or a provider outage no longer isolates a location.

Step 3 β€” L2 VPN bridge between VLANs

Connectivity between the two locations runs over OpenVPN in bridge mode, with a separate instance for each VLAN. In effect, each VLAN extends at L2 across both sites β€” a device in one location is on the same network as one in the other, as if they were on the same switch. Applications that assume the same local network work without changes.

Why 12 OpenVPN instances and not a single one

An objection we hear often: an L2 bridge per VLAN, with a separate OpenVPN instance for each, should be heavy. In practice it is not. We run 12 OpenVPN instances in bridge mode, one per VLAN, and the system has run smoothly in production since February 2020. The per-instance separation is actually an advantage: each VLAN has its own isolated tunnel, process and key set β€” if one fails or is reconfigured, the rest are unaffected. Troubleshooting is far simpler than with a single tunnel carrying all traffic. Broadcast and ARP stay isolated per VLAN. When needed, we scale by adding one more instance for a new VLAN, without touching the rest.

Step 4 β€” KVM virtualization with synchronized config

KVM runs on each server, and the VMs have synchronized configurations between the two locations. A service can be started in the other location with the same configuration, without manual rebuilding.

Security β€” a perimeter on every server

Each Linux server is also a firewall, an IPS and a visibility point. The security stack is identical in both locations:

Availability and failover

Redundancy is on three levels: ISP, server and site.

Why 15 minutes and not instant? Because there are maintenance windows where operating-system upgrades are done, and a planned reboot takes about 5 minutes. Instant failover would promote the backup server on every reboot β€” a false positive. The 15-minute threshold lets the main server finish a normal reboot without triggering failover. And when you want to take over manually, there's a command that asks for confirmation β€” so failover can't be triggered by accident.

Between the main and the backup server in each site there is continuous configuration synchronization: any firewall, routing or access rule changed on the main server propagates automatically to the backup server. So when the backup takes over, it does so with exactly the same configuration β€” no surprises, no manual reconfiguration.

Monitoring β€” redundant Nagios

The Linux servers also act as Nagios. Monitoring runs on the main servers in each site, but because we have two locations that see each other at L2, if a main server goes down, the Nagios in the other location takes over monitoring β€” you're not left blind exactly when you have an incident.

The result

Do you have multiple locations that need to work as one?

We build redundant multi-site networks: L2/L3 connectivity between locations, dual-ISP with failover, an identical security perimeter everywhere, virtualization and a standby server that takes over production in minutes. With no dependency on a single ISP, a single server or a single location.

Request a multi-site network audit β†’